<?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>177042</bug_id>
          
          <creation_ts>2017-09-16 18:11:01 -0700</creation_ts>
          <short_desc>Web Inspector: RemoteObject.resolveNode should return a Promise</short_desc>
          <delta_ts>2017-09-27 12:25:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1349698</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-16 18:11:01 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1349700</commentid>
    <comment_count>1</comment_count>
      <attachid>321020</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-16 18:33:17 -0700</bug_when>
    <thetext>Created attachment 321020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350007</commentid>
    <comment_count>2</comment_count>
      <attachid>321020</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-18 11:25:53 -0700</bug_when>
    <thetext>Comment on attachment 321020
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js:138
&gt; -    static resolveNode(node, objectGroup, callback)
&gt; +    static resolveNode(node, objectGroup)
&gt;      {
&gt; -        DOMAgent.resolveNode(node.id, objectGroup, function(error, object) {
&gt; -            if (!callback)
&gt; -                return;
&gt; +        return new Promise((resolve, reject) =&gt; {
&gt; +            DOMAgent.resolveNode(node.id, objectGroup, function(error, object) {
&gt; +                if (error || !object) {
&gt; +                    reject(error || &quot;Could not resolve DOM node.&quot;);
&gt; +                    return;
&gt; +                }
&gt;  
&gt; -            if (error || !object)
&gt; -                callback(null);
&gt; -            else
&gt; -                callback(WI.RemoteObject.fromPayload(object, WI.mainTarget));
&gt; +                resolve(WI.RemoteObject.fromPayload(object, WI.mainTarget));
&gt; +            });

I&apos;m a little confused by this. DOMAgent.resolveNode can produce a promise, lets use that promise (which handles errors) instead of creating our own:

    return DOMAgent.resolveNode(node.id, objectGroup)
        .then(({object}) =&gt; WI.RemoteObject.fromPayload(object, WI.mainTarget));

&gt; Source/WebInspectorUI/UserInterface/Views/BoxModelDetailsSectionRow.js:408
&gt; +            function toggleInlineStyleProperty(property, value) {

Name: inspectedPage_node_toggleInlineStyleProperty

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeElement.js:313
&gt; +            function dimensions() {

This should be named:

    inspectedPage_node_dimensions

Since we are running this code on the `inspectedPage` and the this value is a `node`.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js:508
&gt; +        function injectStyleAndToggleClass() {

Same thing here:

    inspectedPage_node_injectStyleAndToggleClass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350017</commentid>
    <comment_count>3</comment_count>
      <attachid>321117</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-18 11:37:09 -0700</bug_when>
    <thetext>Created attachment 321117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350090</commentid>
    <comment_count>4</comment_count>
      <attachid>321117</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-18 14:25:36 -0700</bug_when>
    <thetext>Comment on attachment 321117
Patch

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

rs=me

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js:508
&gt; +        function injectStyleAndToggleClass() {

Style: Name of this should have &quot;inspectedPage_node_&quot; prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350126</commentid>
    <comment_count>5</comment_count>
      <attachid>321141</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-18 15:42:30 -0700</bug_when>
    <thetext>Created attachment 321141
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350149</commentid>
    <comment_count>6</comment_count>
      <attachid>321141</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-18 16:14:51 -0700</bug_when>
    <thetext>Comment on attachment 321141
Patch for landing

Clearing flags on attachment: 321141

Committed r222188: &lt;http://trac.webkit.org/changeset/222188&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350150</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-18 16:14:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353359</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:25:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693236&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321020</attachid>
            <date>2017-09-16 18:33:17 -0700</date>
            <delta_ts>2017-09-18 11:37:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177042-20170916183316.patch</filename>
            <type>text/plain</type>
            <size>21435</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
YjI2ZTAzM2E0ZWFkMGE2OTZjYWQxOWYzZmRhMTI5ZjJhN2YxODY5Li43Y2M1Y2MyZTFjYjMzZGFk
ZDllZDg3YTA1MTczOTI3NGM0Mjg4ZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MSBAQAorMjAxNy0wOS0xNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlIHNob3Vs
ZCByZXR1cm4gYSBQcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzcwNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGVkIFJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSB0byByZXR1cm4gYSBw
cm9taXNlIGluc3RlYWQgb2YgdGFraW5nIGEKKyAgICAgICAgY2FsbGJhY2suIElmIHRoZSBwcm9t
aXNlIGlzIGZ1bGZpbGxlZCwgYHJlbW90ZU9iamVjdGAgd2lsbCBiZSBub24tbnVsbC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanM6CisgICAg
ICAgIChXSS5ET01UcmVlTWFuYWdlci5wcm90b3R5cGUuaW5zcGVjdE5vZGVPYmplY3Qubm9kZUF2
YWlsYWJsZSk6CisgICAgICAgIChXSS5ET01UcmVlTWFuYWdlci5wcm90b3R5cGUuaW5zcGVjdE5v
ZGVPYmplY3QpOgorICAgICAgICAoV0kuRE9NVHJlZU1hbmFnZXIucHJvdG90eXBlLmdldE5vZGVD
b250ZW50Rmxvd0luZm8uZG9tTm9kZVJlc29sdmVkKTogRGVsZXRlZC4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanM6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3Rv
dHlwZS50b2dnbGVDbGFzcy5XSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUudGhlbik6CisgICAg
ICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS50b2dnbGVDbGFzcyk6CisgICAgICAgIChXSS5ET01O
b2RlLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldy5XSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUu
dGhlbik6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldyk6Cisg
ICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS50b2dnbGVDbGFzcy5yZXNvbHZlZE5vZGUuaW5z
cGVjdGVkUGFnZV9ub2RlX3RvZ2dsZUNsYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTU5v
ZGUucHJvdG90eXBlLnRvZ2dsZUNsYXNzLnJlc29sdmVkTm9kZSk6IERlbGV0ZWQuCisgICAgICAg
IChXSS5ET01Ob2RlLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldy5yZXNvbHZlZE5vZGUuaW5zcGVj
dGVkUGFnZV9ub2RlX3Njcm9sbEludG9WaWV3KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTU5v
ZGUucHJvdG90eXBlLnNjcm9sbEludG9WaWV3LnJlc29sdmVkTm9kZSk6IERlbGV0ZWQuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVjdC5qczoKKyAgICAgICAg
KFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuanM6CisgICAgICAgIChXSS5Cb3hNb2Rl
bERldGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQuV0kuUmVtb3RlT2Jq
ZWN0LnJlc29sdmVOb2RlLnRoZW4pOgorICAgICAgICAoV0kuQm94TW9kZWxEZXRhaWxzU2VjdGlv
blJvdy5wcm90b3R5cGUuX2FwcGx5VXNlcklucHV0KToKKyAgICAgICAgKFdJLkJveE1vZGVsRGV0
YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLl9hcHBseVVzZXJJbnB1dC5yZXNvbHZlZE5vZGUudG9n
Z2xlSW5saW5lU3R5bGVQcm9wZXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5Cb3hNb2RlbERl
dGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQucmVzb2x2ZWROb2RlLmRp
ZFRvZ2dsZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93
LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQucmVzb2x2ZWROb2RlKTogRGVsZXRlZC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzRGV0YWlsc1NpZGViYXJQYW5lbC5qczoK
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanM6
CisgICAgICAgIChXSS5hcHBlbmRDb250ZXh0TWVudUl0ZW1zRm9yRE9NTm9kZSk6CisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgor
ICAgICAgICAoV0kuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNo
UHJvcGVydGllcy5ub2RlUmVzb2x2ZWQuaW5zcGVjdGVkUGFnZV9ub2RlX2NvbGxlY3RQcm90b3R5
cGVzKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5fcmVmcmVzaFByb3BlcnRpZXMubm9kZVJlc29sdmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdJLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaFByb3Bl
cnRpZXMubm9kZVByb3RvdHlwZXNSZWFkeSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV0kuRE9NVHJlZUVsZW1l
bnQucHJvdG90eXBlLl9jcmVhdGVUb29sdGlwRm9yTm9kZS5XSS5SZW1vdGVPYmplY3QucmVzb2x2
ZU5vZGUudGhlbik6CisgICAgICAgIChXSS5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX2NyZWF0
ZVRvb2x0aXBGb3JOb2RlKToKKyAgICAgICAgKFdJLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5f
Y3JlYXRlVG9vbHRpcEZvck5vZGUucmVzb2x2ZWROb2RlLmRpbWVuc2lvbnMpOiBEZWxldGVkLgor
ICAgICAgICAoV0kuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlLl9jcmVhdGVUb29sdGlwRm9yTm9k
ZS5yZXNvbHZlZE5vZGUpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlT3V0bGluZS5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lLnByb3RvdHlw
ZS5faGlkZUVsZW1lbnQuaW5qZWN0U3R5bGVBbmRUb2dnbGVDbGFzcyk6CisgICAgICAgIChXSS5E
T01UcmVlT3V0bGluZS5wcm90b3R5cGUuX2hpZGVFbGVtZW50KToKKyAgICAgICAgKFdJLkRPTVRy
ZWVPdXRsaW5lKToKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lLnByb3RvdHlwZS5faGlkZUVs
ZW1lbnQucmVzb2x2ZWROb2RlLmluamVjdFN0eWxlQW5kVG9nZ2xlQ2xhc3MpOiBEZWxldGVkLgor
ICAgICAgICAoV0kuRE9NVHJlZU91dGxpbmUucHJvdG90eXBlLl9oaWRlRWxlbWVudC5yZXNvbHZl
ZE5vZGUpOiBEZWxldGVkLgorCiAyMDE3LTA5LTE1ICBEZXZpbiBSb3Vzc28gIDx3ZWJraXRAZGV2
aW5yb3Vzc28uY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJFR1JFU1NJT04ocjIyMjA1
Nyk6IHJlY29yZGluZyBzdGF0ZSBkb2Vzbid0IHVwZGF0ZSB3aGVuIGNoYW5naW5nIGFjdGlvbnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0RPTVRyZWVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKaW5kZXggMGUyYmQ0OWM4NWIwNzllYTJh
ZTA2YWJmMGQyOTkzMTQzNWUxYzczNy4uNTQ3ZDhlYTdmNjY2NzZiNWM2NTYwYTJlZDE3MWQwMzZh
N2FkNjE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKQEAgLTM3MSwxMSAr
MzcxLDkgQEAgV0kuRE9NVHJlZU1hbmFnZXIgPSBjbGFzcyBET01UcmVlTWFuYWdlciBleHRlbmRz
IFdJLk9iamVjdAogCiAgICAgICAgICAgICAvLyBSZS1yZXNvbHZlIHRoZSBub2RlIGluIHRoZSBj
b25zb2xlJ3Mgb2JqZWN0IGdyb3VwIHdoZW4gYWRkaW5nIHRvIHRoZSBjb25zb2xlLgogICAgICAg
ICAgICAgbGV0IGRvbU5vZGUgPSB0aGlzLm5vZGVGb3JJZChub2RlSWQpOwotICAgICAgICAgICAg
V0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKGRvbU5vZGUsIFdJLlJ1bnRpbWVNYW5hZ2VyLkNv
bnNvbGVPYmplY3RHcm91cCwgZnVuY3Rpb24ocmVtb3RlT2JqZWN0KSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKCFyZW1vdGVPYmplY3QpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgICAgICBsZXQgc3BlY2lhbExvZ1N0eWxlcyA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
bGV0IHNob3VsZFJldmVhbENvbnNvbGUgPSBmYWxzZTsKKyAgICAgICAgICAgIFdJLlJlbW90ZU9i
amVjdC5yZXNvbHZlTm9kZShkb21Ob2RlLCBXSS5SdW50aW1lTWFuYWdlci5Db25zb2xlT2JqZWN0
R3JvdXApLnRoZW4oKHJlbW90ZU9iamVjdCkgPT4geworICAgICAgICAgICAgICAgIGNvbnN0IHNw
ZWNpYWxMb2dTdHlsZXMgPSB0cnVlOworICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFJldmVh
bENvbnNvbGUgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBXSS5jb25zb2xlTG9nVmlld0NvbnRy
b2xsZXIuYXBwZW5kSW1tZWRpYXRlRXhlY3V0aW9uV2l0aFJlc3VsdChXSS5VSVN0cmluZygiU2Vs
ZWN0ZWQgRWxlbWVudCIpLCByZW1vdGVPYmplY3QsIHNwZWNpYWxMb2dTdHlsZXMsIHNob3VsZFJl
dmVhbENvbnNvbGUpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KQEAgLTcwMCwxNiArNjk4
LDggQEAgV0kuRE9NVHJlZU1hbmFnZXIgPSBjbGFzcyBET01UcmVlTWFuYWdlciBleHRlbmRzIFdJ
Lk9iamVjdAogCiAgICAgZ2V0Tm9kZUNvbnRlbnRGbG93SW5mbyhkb21Ob2RlLCByZXN1bHRSZWFk
eUNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgRE9NQWdlbnQucmVzb2x2ZU5vZGUoZG9tTm9kZS5p
ZCwgZG9tTm9kZVJlc29sdmVkLmJpbmQodGhpcykpOwotCi0gICAgICAgIGZ1bmN0aW9uIGRvbU5v
ZGVSZXNvbHZlZChlcnJvciwgcmVtb3RlT2JqZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICByZXN1bHRSZWFkeUNhbGxiYWNrKGVycm9yKTsK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHZh
ciBldmFsUGFyYW1ldGVycyA9IHsKKyAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2Rl
KGRvbU5vZGUpLnRoZW4oKHJlbW90ZU9iamVjdCkgPT4geworICAgICAgICAgICAgbGV0IGV2YWxQ
YXJhbWV0ZXJzID0gewogICAgICAgICAgICAgICAgIG9iamVjdElkOiByZW1vdGVPYmplY3Qub2Jq
ZWN0SWQsCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbjogYXBwZW5kV2ViSW5z
cGVjdG9yU291cmNlVVJMKGluc3BlY3RlZFBhZ2Vfbm9kZV9nZXRGbG93SW5mby50b1N0cmluZygp
KSwKICAgICAgICAgICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6
IHRydWUsCkBAIC03MTcsNyArNzA3LDcgQEAgV0kuRE9NVHJlZU1hbmFnZXIgPSBjbGFzcyBET01U
cmVlTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIGdlbmVyYXRlUHJl
dmlldzogZmFsc2UKICAgICAgICAgICAgIH07CiAgICAgICAgICAgICBSdW50aW1lQWdlbnQuY2Fs
bEZ1bmN0aW9uT24uaW52b2tlKGV2YWxQYXJhbWV0ZXJzLCByZWdpb25Ob2Rlc0F2YWlsYWJsZS5i
aW5kKHRoaXMpKTsKLSAgICAgICAgfQorICAgICAgICB9KS5jYXRjaChyZXN1bHRSZWFkeUNhbGxi
YWNrKTsKIAogICAgICAgICBmdW5jdGlvbiByZWdpb25Ob2Rlc0F2YWlsYWJsZShlcnJvciwgcmVt
b3RlT2JqZWN0LCB3YXNUaHJvd24pCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKaW5kZXggMDdmYWZkNTRm
YWM2MDAzODBhNzBiOTlkYmE1ZDAxYjYwZWE0YjVlOS4uNWE4OWU3ODBiZTJmZjI2Y2U3YmYzMzk0
NzMxNzZiMzc1ZWYyYzMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKQEAgLTQ0MSw0MCArNDQxLDI2IEBAIFdJLkRP
TU5vZGUgPSBjbGFzcyBET01Ob2RlIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICh0aGlz
Lm5vZGVUeXBlKCkgIT09IE5vZGUuRUxFTUVOVF9OT0RFKQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIGZ1bmN0aW9uIHJlc29sdmVkTm9kZShvYmplY3QpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICghb2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAg
ICAgZnVuY3Rpb24gaW5zcGVjdGVkUGFnZV9ub2RlX3RvZ2dsZUNsYXNzKGNsYXNzTmFtZSwgZmxh
ZykKLSAgICAgICAgICAgIHsKKyAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKHRo
aXMpLnRoZW4oKG9iamVjdCkgPT4geworICAgICAgICAgICAgZnVuY3Rpb24gaW5zcGVjdGVkUGFn
ZV9ub2RlX3RvZ2dsZUNsYXNzKGNsYXNzTmFtZSwgZmxhZykgewogICAgICAgICAgICAgICAgIHRo
aXMuY2xhc3NMaXN0LnRvZ2dsZShjbGFzc05hbWUsIGZsYWcpOwogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICBvYmplY3QuY2FsbEZ1bmN0aW9uKGluc3BlY3RlZFBhZ2Vfbm9kZV90b2dnbGVD
bGFzcywgW2NsYXNzTmFtZSwgZmxhZ10pOwogICAgICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsK
LSAgICAgICAgfQotCi0gICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSh0aGlzLCAi
IiwgcmVzb2x2ZWROb2RlKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgc2Nyb2xsSW50b1Zp
ZXcoKQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZWROb2RlKG9iamVjdCkKLSAgICAg
ICAgewotICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgICAgICBmdW5jdGlvbiBpbnNwZWN0ZWRQYWdlX25vZGVfc2Nyb2xsSW50b1ZpZXco
KQotICAgICAgICAgICAgeworICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUodGhp
cykudGhlbigob2JqZWN0KSA9PiB7CisgICAgICAgICAgICBmdW5jdGlvbiBpbnNwZWN0ZWRQYWdl
X25vZGVfc2Nyb2xsSW50b1ZpZXcoKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxJbnRv
Vmlld0lmTmVlZGVkKHRydWUpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBvYmplY3Qu
Y2FsbEZ1bmN0aW9uKGluc3BlY3RlZFBhZ2Vfbm9kZV9zY3JvbGxJbnRvVmlldyk7CiAgICAgICAg
ICAgICBvYmplY3QucmVsZWFzZSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgV0kuUmVtb3RlT2Jq
ZWN0LnJlc29sdmVOb2RlKHRoaXMsICIiLCByZXNvbHZlZE5vZGUpOworICAgICAgICB9KTsKICAg
ICB9CiAKICAgICBnZXRDaGlsZE5vZGVzKGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0Lmpz
CmluZGV4IDhjMTdjODcyODRiYWI2YTM5MGMyMjYyNGE0ZjYzNDU3M2E5NTQzN2QuLjljMjE3MzY3
ZmZjMjIyYTk5Y2UzNDBiNjk5OTRkODkwODgxN2FlNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVjdC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9SZW1vdGVPYmplY3Qu
anMKQEAgLTEyNSwxNiArMTI1LDE3IEBAIFdJLlJlbW90ZU9iamVjdCA9IGNsYXNzIFJlbW90ZU9i
amVjdAogICAgICAgICByZXR1cm4ge3ZhbHVlOiB2YWx1ZU9yT2JqZWN0fTsKICAgICB9CiAKLSAg
ICBzdGF0aWMgcmVzb2x2ZU5vZGUobm9kZSwgb2JqZWN0R3JvdXAsIGNhbGxiYWNrKQorICAgIHN0
YXRpYyByZXNvbHZlTm9kZShub2RlLCBvYmplY3RHcm91cCkKICAgICB7Ci0gICAgICAgIERPTUFn
ZW50LnJlc29sdmVOb2RlKG5vZGUuaWQsIG9iamVjdEdyb3VwLCBmdW5jdGlvbihlcnJvciwgb2Jq
ZWN0KSB7Ci0gICAgICAgICAgICBpZiAoIWNhbGxiYWNrKQotICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAg
ICAgICAgICAgIERPTUFnZW50LnJlc29sdmVOb2RlKG5vZGUuaWQsIG9iamVjdEdyb3VwLCBmdW5j
dGlvbihlcnJvciwgb2JqZWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKGVycm9yIHx8ICFvYmpl
Y3QpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yIHx8ICJDb3VsZCBub3QgcmVz
b2x2ZSBET00gbm9kZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKGVycm9yIHx8ICFvYmplY3QpCi0gICAgICAgICAg
ICAgICAgY2FsbGJhY2sobnVsbCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
Y2FsbGJhY2soV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKG9iamVjdCwgV0kubWFpblRhcmdl
dCkpOworICAgICAgICAgICAgICAgIHJlc29sdmUoV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2Fk
KG9iamVjdCwgV0kubWFpblRhcmdldCkpOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQm94TW9kZWxEZXRhaWxzU2VjdGlvblJvdy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuanMKaW5kZXgg
NTJkNzQ0YTFmOThhYjVlYTA3ZjhhNGE2MzExOTQzY2I2ZjRiMDhjMy4uNGQ3Mjc5YjIwOTI1MjEw
YWY1NDNjNDgyODZkN2E0M2FjNGJmM2VjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQm94TW9kZWxEZXRhaWxzU2VjdGlvblJvdy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Cb3hNb2RlbERldGFp
bHNTZWN0aW9uUm93LmpzCkBAIC00MDQsMjYgKzQwNCwxOCBAQCBXSS5Cb3hNb2RlbERldGFpbHNT
ZWN0aW9uUm93ID0gY2xhc3MgQm94TW9kZWxEZXRhaWxzU2VjdGlvblJvdyBleHRlbmRzIFdJLkRl
dGFpbAogICAgICAgICAgICAgdXNlcklucHV0ID0gdXNlclZhbHVlUHggKyAicHgiOwogICAgICAg
ICB9CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZWROb2RlKG9iamVjdCkKLSAgICAgICAgewot
ICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgICAgICBmdW5jdGlvbiB0b2dnbGVJbmxpbmVTdHlsZVByb3BlcnR5KHByb3BlcnR5LCB2YWx1
ZSkKLSAgICAgICAgICAgIHsKKyAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKHRo
aXMuX25vZGVTdHlsZXMubm9kZSkudGhlbigob2JqZWN0KSA9PiB7CisgICAgICAgICAgICBmdW5j
dGlvbiB0b2dnbGVJbmxpbmVTdHlsZVByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSkgewogICAgICAg
ICAgICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlLCAiaW1wb3J0
YW50Iik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFRvZ2dsZSgp
Ci0gICAgICAgICAgICB7CisgICAgICAgICAgICBsZXQgZGlkVG9nZ2xlID0gKCkgPT4gewogICAg
ICAgICAgICAgICAgIHRoaXMuX25vZGVTdHlsZXMucmVmcmVzaCgpOwotICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfTsKIAotICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbih0b2dnbGVJ
bmxpbmVTdHlsZVByb3BlcnR5LCBbc3R5bGVQcm9wZXJ0eSwgdXNlcklucHV0XSwgZmFsc2UsIGRp
ZFRvZ2dsZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24odG9n
Z2xlSW5saW5lU3R5bGVQcm9wZXJ0eSwgW3N0eWxlUHJvcGVydHksIHVzZXJJbnB1dF0sIGZhbHNl
LCBkaWRUb2dnbGUpOwogICAgICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSh0aGlzLl9ub2RlU3R5bGVzLm5v
ZGUsICIiLCByZXNvbHZlZE5vZGUuYmluZCh0aGlzKSk7CisgICAgICAgIH0pOwogICAgIH0KIAog
ICAgIF9lZGl0aW5nQ29tbWl0dGVkKGVsZW1lbnQsIHVzZXJJbnB1dCwgcHJldmlvdXNDb250ZW50
LCBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQ2FudmFzRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0RldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5k
ZXggNGJkNWVhMjkyMDMxMTlmYzljOTY2YTI2NGI1MDMyNWU1M2NmYjBkMC4uODRiNTcxOTM2Mzg2
YTk3ZDM1NWE2NzQ5MThmZTBlNzZjYzVjMzg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzRGV0YWlsc1NpZGViYXJQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNEZXRh
aWxzU2lkZWJhclBhbmVsLmpzCkBAIC0xOTgsMTAgKzE5OCw3IEBAIFdJLkNhbnZhc0RldGFpbHNT
aWRlYmFyUGFuZWwgPSBjbGFzcyBDYW52YXNEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0ku
RGV0YWlsCiAgICAgICAgICAgICAgICAgLy8gYXR0cmlidXRlcywgd2UgbmVlZCB0byBpbnZva2Ug
dGhlIGdldHRlciBmb3IgZWFjaCB0byBnZXQgdGhlIGFjdHVhbCB2YWx1ZS4KICAgICAgICAgICAg
ICAgICAvLyAgLSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jYW52YXMu
aHRtbCNhdHRyLWNhbnZhcy13aWR0aAogICAgICAgICAgICAgICAgIC8vICAtIGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2NhbnZhcy5odG1sI2F0dHItY2FudmFzLWhlaWdo
dAotICAgICAgICAgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShub2RlLCAiIiwg
KHJlbW90ZU9iamVjdCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoIXJlbW90ZU9iamVj
dCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQorICAgICAgICAgICAgICAgIFdJ
LlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShub2RlKS50aGVuKChyZW1vdGVPYmplY3QpID0+IHsK
ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0Um93VmFsdWVUb1Byb3BlcnR5VmFsdWUo
cm93LCBwcm9wZXJ0eSkgewogICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlT2JqZWN0Lmdl
dFByb3BlcnR5KHByb3BlcnR5LCAoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlcnJvciAmJiByZXN1bHQudHlwZSA9PT0gIm51
bWJlciIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzCmluZGV4IGQ4MzNhODE0NTM1
YTM3MDlhMmI2ODlkZjlkZTYyN2U3NjMxMTYwOGUuLjYzMGZlMWQxZWFmYWU3ODA5NGJkMzhkODI2
YTQyYjgyMzZkNjM1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzCkBAIC0x
NTksMTUgKzE1OSwxMCBAQCBXSS5hcHBlbmRDb250ZXh0TWVudUl0ZW1zRm9yRE9NTm9kZSA9IGZ1
bmN0aW9uKGNvbnRleHRNZW51LCBkb21Ob2RlLCBvcHRpb25zID0gewogICAgICAgICAgICAgICAg
IHJlc3VsdC5yZWxlYXNlKCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9u
IGRpZFJlc29sdmVOb2RlKHJlbW90ZU9iamVjdCkgewotICAgICAgICAgICAgICAgIGlmICghcmVt
b3RlT2JqZWN0KQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KKyAgICAgICAgICAgIFdJ
LlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShkb21Ob2RlKS50aGVuKChyZW1vdGVPYmplY3QpID0+
IHsKICAgICAgICAgICAgICAgICByZW1vdGVPYmplY3QuZ2V0UHJvcGVydHkoImNvbnN0cnVjdG9y
IiwgZGlkR2V0UHJvcGVydHkpOwogICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdC5yZWxlYXNl
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZl
Tm9kZShkb21Ob2RlLCAiIiwgZGlkUmVzb2x2ZU5vZGUpOworICAgICAgICAgICAgfSk7CiAgICAg
ICAgIH0pOwogICAgIH0KIApAQCAtMTg5LDEwICsxODQsNyBAQCBXSS5hcHBlbmRDb250ZXh0TWVu
dUl0ZW1zRm9yRE9NTm9kZSA9IGZ1bmN0aW9uKGNvbnRleHRNZW51LCBkb21Ob2RlLCBvcHRpb25z
ID0gewogICAgIGlmICghb3B0aW9ucy5leGNsdWRlTG9nRWxlbWVudCAmJiAhZG9tTm9kZS5pc0lu
VXNlckFnZW50U2hhZG93VHJlZSgpICYmICFkb21Ob2RlLmlzUHNldWRvRWxlbWVudCgpKSB7CiAg
ICAgICAgIGxldCBsYWJlbCA9IGlzRWxlbWVudCA/IFdJLlVJU3RyaW5nKCJMb2cgRWxlbWVudCIp
IDogV0kuVUlTdHJpbmcoIkxvZyBOb2RlIik7CiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0
ZW0obGFiZWwsICgpID0+IHsKLSAgICAgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9k
ZShkb21Ob2RlLCBXSS5SdW50aW1lTWFuYWdlci5Db25zb2xlT2JqZWN0R3JvdXAsIChyZW1vdGVP
YmplY3QpID0+IHsKLSAgICAgICAgICAgICAgICBpZiAoIXJlbW90ZU9iamVjdCkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotCisgICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2
ZU5vZGUoZG9tTm9kZSwgV0kuUnVudGltZU1hbmFnZXIuQ29uc29sZU9iamVjdEdyb3VwKS50aGVu
KChyZW1vdGVPYmplY3QpID0+IHsKICAgICAgICAgICAgICAgICBsZXQgdGV4dCA9IGlzRWxlbWVu
dCA/IFdJLlVJU3RyaW5nKCJTZWxlY3RlZCBFbGVtZW50IikgOiBXSS5VSVN0cmluZygiU2VsZWN0
ZWQgTm9kZSIpOwogICAgICAgICAgICAgICAgIGNvbnN0IGFkZFNwZWNpYWxVc2VyTG9nQ2xhc3Mg
PSB0cnVlOwogICAgICAgICAgICAgICAgIFdJLmNvbnNvbGVMb2dWaWV3Q29udHJvbGxlci5hcHBl
bmRJbW1lZGlhdGVFeGVjdXRpb25XaXRoUmVzdWx0KHRleHQsIHJlbW90ZU9iamVjdCwgYWRkU3Bl
Y2lhbFVzZXJMb2dDbGFzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBh
bmVsLmpzCmluZGV4IDQyMjY3MGFjNWRlN2VlODYxOTBkYmVmYzBhZjdmYjkyNDY5MjMzMmEuLjM0
MzAxMTY1Y2Y2NzEwMDFkZjc5NTc5MmNmOTQwOGEzZDI5Nzg0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJh
clBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0yMTgsMTMgKzIxOCw4IEBAIFdJLkRP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwgZXh0ZW5kcyBXSS5ET01ECiAKICAgICAgICAgbGV0IGRvbU5vZGUgPSB0aGlzLmRvbU5vZGU7
CiAgICAgICAgIFJ1bnRpbWVBZ2VudC5yZWxlYXNlT2JqZWN0R3JvdXAoV0kuRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuUHJvcGVydGllc09iamVjdEdyb3VwTmFtZSk7Ci0gICAgICAgIFdJLlJl
bW90ZU9iamVjdC5yZXNvbHZlTm9kZShkb21Ob2RlLCBXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5Qcm9wZXJ0aWVzT2JqZWN0R3JvdXBOYW1lLCBub2RlUmVzb2x2ZWQuYmluZCh0aGlzKSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gbm9kZVJlc29sdmVkKG9iamVjdCkKLSAgICAgICAgewotICAg
ICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAg
IFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShkb21Ob2RlLCBXSS5ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC5Qcm9wZXJ0aWVzT2JqZWN0R3JvdXBOYW1lKS50aGVuKChvYmplY3QpID0+IHsK
ICAgICAgICAgICAgIC8vIEJhaWwgaWYgdGhlIERPTSBub2RlIGNoYW5nZWQgd2hpbGUgd2Ugd2Vy
ZSB3YWl0aW5nIGZvciB0aGUgYXN5bmMgcmVzcG9uc2UuCiAgICAgICAgICAgICBpZiAodGhpcy5k
b21Ob2RlICE9PSBkb21Ob2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTI1MSw3ICsy
NDYsNyBAQCBXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRh
aWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuRE9NRAogICAgICAgICAgICAgY29uc3QgYXJncyA9
IHVuZGVmaW5lZDsKICAgICAgICAgICAgIGNvbnN0IGdlbmVyYXRlUHJldmlldyA9IGZhbHNlOwog
ICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihpbnNwZWN0ZWRQYWdlX25vZGVfY29sbGVj
dFByb3RvdHlwZXMsIGFyZ3MsIGdlbmVyYXRlUHJldmlldywgbm9kZVByb3RvdHlwZXNSZWFkeS5i
aW5kKHRoaXMpKTsKLSAgICAgICAgfQorICAgICAgICB9KTsKIAogICAgICAgICBmdW5jdGlvbiBu
b2RlUHJvdG90eXBlc1JlYWR5KGVycm9yLCBvYmplY3QsIHdhc1Rocm93bikKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9N
VHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlRWxlbWVudC5qcwppbmRleCBjOWVkNzhhMDFlYzZhYmZhOTM4MGRlYTAzNGEzYWIw
MGI2YzkzZjYzLi5hZGNmMmNlMzUxNGZlZmFkMmZlOGQxMDYyMTBhOTc2ZjIwZjY2YThlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
RWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlRWxlbWVudC5qcwpAQCAtMzA5LDIwICszMDksMTQgQEAgV0kuRE9NVHJlZUVsZW1l
bnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRlbmRzIFdJLlRyZWVFbGVtZW50CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiByZXNvbHZlZE5vZGUob2JqZWN0
KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIW9iamVjdCkKLSAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpbWVuc2lvbnMoKQotICAgICAgICAgICAg
eworICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUobm9kZSkudGhlbigob2JqZWN0
KSA9PiB7CisgICAgICAgICAgICBmdW5jdGlvbiBkaW1lbnNpb25zKCkgewogICAgICAgICAgICAg
ICAgIHJldHVybiAiWyIgKyB0aGlzLm9mZnNldFdpZHRoICsgIiwiICsgdGhpcy5vZmZzZXRIZWln
aHQgKyAiLCIgKyB0aGlzLm5hdHVyYWxXaWR0aCArICIsIiArIHRoaXMubmF0dXJhbEhlaWdodCAr
ICJdIjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihk
aW1lbnNpb25zLCB1bmRlZmluZWQsIGZhbHNlLCBzZXRUb29sdGlwLmJpbmQodGhpcykpOwogICAg
ICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsKLSAgICAgICAgfQotICAgICAgICBXSS5SZW1vdGVP
YmplY3QucmVzb2x2ZU5vZGUobm9kZSwgIiIsIHJlc29sdmVkTm9kZS5iaW5kKHRoaXMpKTsKKyAg
ICAgICAgfSk7CiAgICAgfQogCiAgICAgdXBkYXRlU2VsZWN0aW9uQXJlYSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGlu
ZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVP
dXRsaW5lLmpzCmluZGV4IGQ3MTNiZmM1NjFmZTEyMDU0OWM3YjM4YzQwMGI2OTFkODQyZGNjZWEu
LmViMTUyMjEzZmZlM2M3Y2ZlNTg2OTdiYjI1MjY5NzUyODA3N2Q4OTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVP
dXRsaW5lLmpzCkBAIC01MDUsMzAgKzUwNSwyMyBAQCBXSS5ET01UcmVlT3V0bGluZSA9IGNsYXNz
IERPTVRyZWVPdXRsaW5lIGV4dGVuZHMgV0kuVHJlZU91dGxpbmUKICAgICAgICAgaWYgKGVmZmVj
dGl2ZU5vZGUubm9kZVR5cGUoKSAhPT0gTm9kZS5FTEVNRU5UX05PREUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZWROb2RlKG9iamVjdCkKLSAgICAgICAg
ewotICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBpbmplY3RTdHlsZUFuZFRvZ2dsZUNsYXNzKCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNz
TmFtZSA9ICJfX1dlYkluc3BlY3RvckhpZGVFbGVtZW50X18iOwotICAgICAgICAgICAgICAgIHZh
ciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoaWRlRWxlbWVudFN0eWxl
U2hlZXRJZE9yQ2xhc3NOYW1lKTsKLSAgICAgICAgICAgICAgICBpZiAoIXN0eWxlRWxlbWVudCkg
ewotICAgICAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzdHlsZSIpOwotICAgICAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQuaWQgPSBoaWRl
RWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lOwotICAgICAgICAgICAgICAgICAgICBzdHls
ZUVsZW1lbnQudGV4dENvbnRlbnQgPSAiLiIgKyBoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xh
c3NOYW1lICsgIiB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9IjsKLSAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpOwotICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZSho
aWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lKTsKKyAgICAgICAgZnVuY3Rpb24gaW5q
ZWN0U3R5bGVBbmRUb2dnbGVDbGFzcygpIHsKKyAgICAgICAgICAgIGxldCBoaWRlRWxlbWVudFN0
eWxlU2hlZXRJZE9yQ2xhc3NOYW1lID0gIl9fV2ViSW5zcGVjdG9ySGlkZUVsZW1lbnRfXyI7Cisg
ICAgICAgICAgICBsZXQgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGlk
ZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSk7CisgICAgICAgICAgICBpZiAoIXN0eWxl
RWxlbWVudCkgeworICAgICAgICAgICAgICAgIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInN0eWxlIik7CisgICAgICAgICAgICAgICAgc3R5bGVFbGVtZW50LmlkID0gaGlk
ZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZTsKKyAgICAgICAgICAgICAgICBzdHlsZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSAiLiIgKyBoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NO
YW1lICsgIiB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9IjsKKyAgICAgICAgICAg
ICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCk7CiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24oaW5qZWN0U3R5bGVBbmRUb2dn
bGVDbGFzcywgdW5kZWZpbmVkLCBmYWxzZSwgZnVuY3Rpb24oKXt9KTsKLSAgICAgICAgICAgIG9i
amVjdC5yZWxlYXNlKCk7CisgICAgICAgICAgICB0aGlzLmNsYXNzTGlzdC50b2dnbGUoaGlkZUVs
ZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSk7CiAgICAgICAgIH0KIAotICAgICAgICBXSS5S
ZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZWZmZWN0aXZlTm9kZSwgIiIsIHJlc29sdmVkTm9kZSk7
CisgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShlZmZlY3RpdmVOb2RlKS50aGVu
KChvYmplY3QpID0+IHsKKyAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24oaW5qZWN0U3R5
bGVBbmRUb2dnbGVDbGFzcywgdW5kZWZpbmVkLCBmYWxzZSwgKCkgPT4geyB9KTsKKyAgICAgICAg
ICAgIG9iamVjdC5yZWxlYXNlKCk7CisgICAgICAgIH0pOwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
MmI5Y2ZmZTI0MDk2Mjg1NDgyMThlOWViNjhlYTllNjVhNGFhMmIzLi5mNDBjZDc0OTIyNjRlMjNh
MDY0ODY4YzNhNzI5NGNmNmE4NTE0YTBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDkt
MTYgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MDQyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0
ZXN0cyB0byB1c2UgcHJvbWlzZXMgaW5zdGVhZCBvZiBjYWxsYmFja3MuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvZG9tL2hpZ2hsaWdodE5vZGUuaHRtbDoKKwogMjAxNy0wOS0xNiAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29tcHV0aW5nIGFuaW1hdGVkIHN0
eWxlIHNob3VsZCBub3QgcmVxdWlyZSByZW5kZXJlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RvbS9oaWdobGlnaHROb2RlLmh0bWwKaW5kZXggZDBkNmE0NTM2ZGRiMDZiYWFjMTE3NjE5YWEy
ODhjM2U2NzJmMjdjNi4uMDZmYjZkMzUxNDAzZjRlZjMyMzM5YmM2ZWNhNGIyN2I3ZWFjYWZjOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWwKQEAgLTgy
LDEyICs4MiwxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIk1haW5GcmFtZU5v
ZGVWaWFPYmplY3RJZCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIGhpZ2hsaWdodCBh
IG5vZGUgaW4gdGhlIG1haW4gZnJhbWUgdXNpbmcgb2JqZWN0IGlkLiIsCiAgICAgICAgIHRlc3Qo
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5v
ZGUobWFpbkZyYW1lVGFyZ2V0Tm9kZSwgInRlc3QiLCAocmVtb3RlT2JqZWN0KSA9PiB7CisgICAg
ICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUobWFpbkZyYW1lVGFyZ2V0Tm9kZSwg
InRlc3QiKS50aGVuKChyZW1vdGVPYmplY3QpID0+IHsKICAgICAgICAgICAgICAgICBET01BZ2Vu
dC5oaWdobGlnaHROb2RlKGhpZ2hsaWdodENvbmZpZywgdW5kZWZpbmVkLCByZW1vdGVPYmplY3Qu
b2JqZWN0SWQsIChlcnJvcikgPT4gewogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUgYW4gZXJyb3IuIik7CiAgICAgICAgICAg
ICAgICAgICAgIGR1bXBIaWdobGlnaHQocmVzb2x2ZSk7CiAgICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0
KTsKICAgICAgICAgfQogICAgIH0pOwogCkBAIC05NSwxMiArOTYsMTMgQEAgZnVuY3Rpb24gdGVz
dCgpCiAgICAgICAgIG5hbWU6ICJDaGlsZEZyYW1lTm9kZVZpYU9iamVjdElkIiwKICAgICAgICAg
ZGVzY3JpcHRpb246ICJTaG91bGQgaGlnaGxpZ2h0IGEgbm9kZSBpbiB0aGUgY2hpbGQgZnJhbWUg
dXNpbmcgb2JqZWN0IGlkLiIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoY2hpbGRGcmFtZVRhcmdldE5vZGUs
ICJ0ZXN0IiwgKHJlbW90ZU9iamVjdCkgPT4geworICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0
LnJlc29sdmVOb2RlKGNoaWxkRnJhbWVUYXJnZXROb2RlLCAidGVzdCIpLnRoZW4oKHJlbW90ZU9i
amVjdCkgPT4gewogICAgICAgICAgICAgICAgIERPTUFnZW50LmhpZ2hsaWdodE5vZGUoaGlnaGxp
Z2h0Q29uZmlnLCB1bmRlZmluZWQsIHJlbW90ZU9iamVjdC5vYmplY3RJZCwgKGVycm9yKSA9PiB7
CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlNob3Vs
ZCBub3QgaGF2ZSBhbiBlcnJvci4iKTsKICAgICAgICAgICAgICAgICAgICAgZHVtcEhpZ2hsaWdo
dChyZXNvbHZlKTsKICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgfSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwogICAgICAgICB9CiAgICAgfSk7
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321117</attachid>
            <date>2017-09-18 11:37:09 -0700</date>
            <delta_ts>2017-09-18 15:42:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177042-20170918113708.patch</filename>
            <type>text/plain</type>
            <size>21442</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
MDY3MDM4ZTdjOTQ4NmJkNjRhYjNmNmQ4ODZjNmY4MzU0NzI3YTkzLi4yYzk0NWI1N2ZmMWFiYjYx
MTBmYTU5YWQ2YWE3OGViNmFiY2I3ZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNy0wOS0xOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlIHNob3Vs
ZCByZXR1cm4gYSBQcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzcwNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGUgUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlIHRvIHJldHVybiBhIHBy
b21pc2UgaW5zdGVhZCBvZiB0YWtpbmcgYQorICAgICAgICBjYWxsYmFjay4gSWYgdGhlIHByb21p
c2UgaXMgZnVsZmlsbGVkLCBgcmVtb3RlT2JqZWN0YCB3aWxsIGJlIG5vbi1udWxsLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qczoKKyAgICAg
ICAgKFdJLkRPTVRyZWVNYW5hZ2VyLnByb3RvdHlwZS5pbnNwZWN0Tm9kZU9iamVjdC5ub2RlQXZh
aWxhYmxlKToKKyAgICAgICAgKFdJLkRPTVRyZWVNYW5hZ2VyLnByb3RvdHlwZS5pbnNwZWN0Tm9k
ZU9iamVjdCk6CisgICAgICAgIChXSS5ET01UcmVlTWFuYWdlci5wcm90b3R5cGUuZ2V0Tm9kZUNv
bnRlbnRGbG93SW5mby5kb21Ob2RlUmVzb2x2ZWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qczoKKyAgICAgICAgKFdJLkRPTU5vZGUucHJvdG90
eXBlLnRvZ2dsZUNsYXNzLldJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZS50aGVuKToKKyAgICAg
ICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLnRvZ2dsZUNsYXNzKToKKyAgICAgICAgKFdJLkRPTU5v
ZGUucHJvdG90eXBlLnNjcm9sbEludG9WaWV3LldJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZS50
aGVuKToKKyAgICAgICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLnNjcm9sbEludG9WaWV3KToKKyAg
ICAgICAgKFdJLkRPTU5vZGUucHJvdG90eXBlLnRvZ2dsZUNsYXNzLnJlc29sdmVkTm9kZS5pbnNw
ZWN0ZWRQYWdlX25vZGVfdG9nZ2xlQ2xhc3MpOiBEZWxldGVkLgorICAgICAgICAoV0kuRE9NTm9k
ZS5wcm90b3R5cGUudG9nZ2xlQ2xhc3MucmVzb2x2ZWROb2RlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdJLkRPTU5vZGUucHJvdG90eXBlLnNjcm9sbEludG9WaWV3LnJlc29sdmVkTm9kZS5pbnNwZWN0
ZWRQYWdlX25vZGVfc2Nyb2xsSW50b1ZpZXcpOiBEZWxldGVkLgorICAgICAgICAoV0kuRE9NTm9k
ZS5wcm90b3R5cGUuc2Nyb2xsSW50b1ZpZXcucmVzb2x2ZWROb2RlKTogRGVsZXRlZC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0LmpzOgorICAgICAgICAo
V0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvQm94TW9kZWxEZXRhaWxzU2VjdGlvblJvdy5qczoKKyAgICAgICAgKFdJLkJveE1vZGVs
RGV0YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLl9hcHBseVVzZXJJbnB1dC5XSS5SZW1vdGVPYmpl
Y3QucmVzb2x2ZU5vZGUudGhlbik6CisgICAgICAgIChXSS5Cb3hNb2RlbERldGFpbHNTZWN0aW9u
Um93LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQpOgorICAgICAgICAoV0kuQm94TW9kZWxEZXRh
aWxzU2VjdGlvblJvdy5wcm90b3R5cGUuX2FwcGx5VXNlcklucHV0LnJlc29sdmVkTm9kZS50b2dn
bGVJbmxpbmVTdHlsZVByb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkJveE1vZGVsRGV0
YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLl9hcHBseVVzZXJJbnB1dC5yZXNvbHZlZE5vZGUuZGlk
VG9nZ2xlKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkJveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cu
cHJvdG90eXBlLl9hcHBseVVzZXJJbnB1dC5yZXNvbHZlZE5vZGUpOiBEZWxldGVkLgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanM6Cisg
ICAgICAgIChXSS5hcHBlbmRDb250ZXh0TWVudUl0ZW1zRm9yRE9NTm9kZSk6CisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAg
ICAgICAoV0kuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNoUHJv
cGVydGllcy5ub2RlUmVzb2x2ZWQuaW5zcGVjdGVkUGFnZV9ub2RlX2NvbGxlY3RQcm90b3R5cGVz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5fcmVmcmVzaFByb3BlcnRpZXMubm9kZVJlc29sdmVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdJLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaFByb3BlcnRp
ZXMubm9kZVByb3RvdHlwZXNSZWFkeSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV0kuRE9NVHJlZUVsZW1lbnQu
cHJvdG90eXBlLl9jcmVhdGVUb29sdGlwRm9yTm9kZS5XSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5v
ZGUudGhlbik6CisgICAgICAgIChXSS5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX2NyZWF0ZVRv
b2x0aXBGb3JOb2RlKToKKyAgICAgICAgKFdJLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5fY3Jl
YXRlVG9vbHRpcEZvck5vZGUucmVzb2x2ZWROb2RlLmRpbWVuc2lvbnMpOiBEZWxldGVkLgorICAg
ICAgICAoV0kuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlLl9jcmVhdGVUb29sdGlwRm9yTm9kZS5y
ZXNvbHZlZE5vZGUpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9E
T01UcmVlT3V0bGluZS5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lLnByb3RvdHlwZS5f
aGlkZUVsZW1lbnQuaW5qZWN0U3R5bGVBbmRUb2dnbGVDbGFzcyk6CisgICAgICAgIChXSS5ET01U
cmVlT3V0bGluZS5wcm90b3R5cGUuX2hpZGVFbGVtZW50KToKKyAgICAgICAgKFdJLkRPTVRyZWVP
dXRsaW5lKToKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lLnByb3RvdHlwZS5faGlkZUVsZW1l
bnQucmVzb2x2ZWROb2RlLmluamVjdFN0eWxlQW5kVG9nZ2xlQ2xhc3MpOiBEZWxldGVkLgorICAg
ICAgICAoV0kuRE9NVHJlZU91dGxpbmUucHJvdG90eXBlLl9oaWRlRWxlbWVudC5yZXNvbHZlZE5v
ZGUpOiBEZWxldGVkLgorCiAyMDE3LTA5LTE3ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlcyBSZWRlc2lnbjogc3Vw
cG9ydCB0b2dnbGluZyBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpz
CmluZGV4IDBlMmJkNDljODViMDc5ZWEyYWUwNmFiZjBkMjk5MzE0MzVlMWM3MzcuLjU0N2Q4ZWE3
ZjY2Njc2YjVjNjU2MGEyZWQxNzFkMDM2YTdhZDYxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRy
ZWVNYW5hZ2VyLmpzCkBAIC0zNzEsMTEgKzM3MSw5IEBAIFdJLkRPTVRyZWVNYW5hZ2VyID0gY2xh
c3MgRE9NVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICAgICAgLy8gUmUt
cmVzb2x2ZSB0aGUgbm9kZSBpbiB0aGUgY29uc29sZSdzIG9iamVjdCBncm91cCB3aGVuIGFkZGlu
ZyB0byB0aGUgY29uc29sZS4KICAgICAgICAgICAgIGxldCBkb21Ob2RlID0gdGhpcy5ub2RlRm9y
SWQobm9kZUlkKTsKLSAgICAgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShkb21O
b2RlLCBXSS5SdW50aW1lTWFuYWdlci5Db25zb2xlT2JqZWN0R3JvdXAsIGZ1bmN0aW9uKHJlbW90
ZU9iamVjdCkgewotICAgICAgICAgICAgICAgIGlmICghcmVtb3RlT2JqZWN0KQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgbGV0IHNwZWNpYWxMb2dTdHlsZXMg
PSB0cnVlOwotICAgICAgICAgICAgICAgIGxldCBzaG91bGRSZXZlYWxDb25zb2xlID0gZmFsc2U7
CisgICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZG9tTm9kZSwgV0kuUnVu
dGltZU1hbmFnZXIuQ29uc29sZU9iamVjdEdyb3VwKS50aGVuKChyZW1vdGVPYmplY3QpID0+IHsK
KyAgICAgICAgICAgICAgICBjb25zdCBzcGVjaWFsTG9nU3R5bGVzID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBjb25zdCBzaG91bGRSZXZlYWxDb25zb2xlID0gZmFsc2U7CiAgICAgICAgICAgICAg
ICAgV0kuY29uc29sZUxvZ1ZpZXdDb250cm9sbGVyLmFwcGVuZEltbWVkaWF0ZUV4ZWN1dGlvbldp
dGhSZXN1bHQoV0kuVUlTdHJpbmcoIlNlbGVjdGVkIEVsZW1lbnQiKSwgcmVtb3RlT2JqZWN0LCBz
cGVjaWFsTG9nU3R5bGVzLCBzaG91bGRSZXZlYWxDb25zb2xlKTsKICAgICAgICAgICAgIH0pOwog
ICAgICAgICB9CkBAIC03MDAsMTYgKzY5OCw4IEBAIFdJLkRPTVRyZWVNYW5hZ2VyID0gY2xhc3Mg
RE9NVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIGdldE5vZGVDb250ZW50Rmxv
d0luZm8oZG9tTm9kZSwgcmVzdWx0UmVhZHlDYWxsYmFjaykKICAgICB7Ci0gICAgICAgIERPTUFn
ZW50LnJlc29sdmVOb2RlKGRvbU5vZGUuaWQsIGRvbU5vZGVSZXNvbHZlZC5iaW5kKHRoaXMpKTsK
LQotICAgICAgICBmdW5jdGlvbiBkb21Ob2RlUmVzb2x2ZWQoZXJyb3IsIHJlbW90ZU9iamVjdCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgcmVz
dWx0UmVhZHlDYWxsYmFjayhlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICB2YXIgZXZhbFBhcmFtZXRlcnMgPSB7CisgICAgICAgIFdJ
LlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShkb21Ob2RlKS50aGVuKChyZW1vdGVPYmplY3QpID0+
IHsKKyAgICAgICAgICAgIGxldCBldmFsUGFyYW1ldGVycyA9IHsKICAgICAgICAgICAgICAgICBv
YmplY3RJZDogcmVtb3RlT2JqZWN0Lm9iamVjdElkLAogICAgICAgICAgICAgICAgIGZ1bmN0aW9u
RGVjbGFyYXRpb246IGFwcGVuZFdlYkluc3BlY3RvclNvdXJjZVVSTChpbnNwZWN0ZWRQYWdlX25v
ZGVfZ2V0Rmxvd0luZm8udG9TdHJpbmcoKSksCiAgICAgICAgICAgICAgICAgZG9Ob3RQYXVzZU9u
RXhjZXB0aW9uc0FuZE11dGVDb25zb2xlOiB0cnVlLApAQCAtNzE3LDcgKzcwNyw3IEBAIFdJLkRP
TVRyZWVNYW5hZ2VyID0gY2xhc3MgRE9NVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAg
ICAgICAgICAgICAgICBnZW5lcmF0ZVByZXZpZXc6IGZhbHNlCiAgICAgICAgICAgICB9OwogICAg
ICAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uLmludm9rZShldmFsUGFyYW1ldGVy
cywgcmVnaW9uTm9kZXNBdmFpbGFibGUuYmluZCh0aGlzKSk7Ci0gICAgICAgIH0KKyAgICAgICAg
fSkuY2F0Y2gocmVzdWx0UmVhZHlDYWxsYmFjayk7CiAKICAgICAgICAgZnVuY3Rpb24gcmVnaW9u
Tm9kZXNBdmFpbGFibGUoZXJyb3IsIHJlbW90ZU9iamVjdCwgd2FzVGhyb3duKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
RE9NTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9E
T01Ob2RlLmpzCmluZGV4IDA3ZmFmZDU0ZmFjNjAwMzgwYTcwYjk5ZGJhNWQwMWI2MGVhNGI1ZTku
LjVhODllNzgwYmUyZmYyNmNlN2JmMzM5NDczMTc2YjM3NWVmMmMzMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCkBA
IC00NDEsNDAgKzQ0MSwyNiBAQCBXSS5ET01Ob2RlID0gY2xhc3MgRE9NTm9kZSBleHRlbmRzIFdJ
Lk9iamVjdAogICAgICAgICBpZiAodGhpcy5ub2RlVHlwZSgpICE9PSBOb2RlLkVMRU1FTlRfTk9E
RSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBmdW5jdGlvbiByZXNvbHZlZE5vZGUo
b2JqZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIW9iamVjdCkKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGluc3BlY3RlZFBhZ2Vfbm9kZV90
b2dnbGVDbGFzcyhjbGFzc05hbWUsIGZsYWcpCi0gICAgICAgICAgICB7CisgICAgICAgIFdJLlJl
bW90ZU9iamVjdC5yZXNvbHZlTm9kZSh0aGlzKS50aGVuKChvYmplY3QpID0+IHsKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIGluc3BlY3RlZFBhZ2Vfbm9kZV90b2dnbGVDbGFzcyhjbGFzc05hbWUsIGZs
YWcpIHsKICAgICAgICAgICAgICAgICB0aGlzLmNsYXNzTGlzdC50b2dnbGUoY2xhc3NOYW1lLCBm
bGFnKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihp
bnNwZWN0ZWRQYWdlX25vZGVfdG9nZ2xlQ2xhc3MsIFtjbGFzc05hbWUsIGZsYWddKTsKICAgICAg
ICAgICAgIG9iamVjdC5yZWxlYXNlKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBXSS5SZW1vdGVP
YmplY3QucmVzb2x2ZU5vZGUodGhpcywgIiIsIHJlc29sdmVkTm9kZSk7CisgICAgICAgIH0pOwog
ICAgIH0KIAogICAgIHNjcm9sbEludG9WaWV3KCkKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIHJl
c29sdmVkTm9kZShvYmplY3QpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICghb2JqZWN0KQot
ICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgZnVuY3Rpb24gaW5zcGVjdGVk
UGFnZV9ub2RlX3Njcm9sbEludG9WaWV3KCkKLSAgICAgICAgICAgIHsKKyAgICAgICAgV0kuUmVt
b3RlT2JqZWN0LnJlc29sdmVOb2RlKHRoaXMpLnRoZW4oKG9iamVjdCkgPT4geworICAgICAgICAg
ICAgZnVuY3Rpb24gaW5zcGVjdGVkUGFnZV9ub2RlX3Njcm9sbEludG9WaWV3KCkgewogICAgICAg
ICAgICAgICAgIHRoaXMuc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCh0cnVlKTsKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihpbnNwZWN0ZWRQYWdlX25vZGVf
c2Nyb2xsSW50b1ZpZXcpOwogICAgICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsKLSAgICAgICAg
fQotCi0gICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSh0aGlzLCAiIiwgcmVzb2x2
ZWROb2RlKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgZ2V0Q2hpbGROb2RlcyhjYWxsYmFj
aykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL1JlbW90ZU9iamVjdC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Byb3RvY29sL1JlbW90ZU9iamVjdC5qcwppbmRleCA4YzE3Yzg3Mjg0YmFiNmEzOTBjMjI2MjRh
NGY2MzQ1NzNhOTU0MzdkLi5jNWFiZDA1NTFiMjQxMTc4MDQ2OGEyMzAzM2QyMGM3NTNiNGM0ZjBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9SZW1vdGVPYmplY3QuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0LmpzCkBAIC0xMjUsMTcgKzEyNSwxMCBAQCBXSS5SZW1v
dGVPYmplY3QgPSBjbGFzcyBSZW1vdGVPYmplY3QKICAgICAgICAgcmV0dXJuIHt2YWx1ZTogdmFs
dWVPck9iamVjdH07CiAgICAgfQogCi0gICAgc3RhdGljIHJlc29sdmVOb2RlKG5vZGUsIG9iamVj
dEdyb3VwLCBjYWxsYmFjaykKKyAgICBzdGF0aWMgcmVzb2x2ZU5vZGUobm9kZSwgb2JqZWN0R3Jv
dXApCiAgICAgewotICAgICAgICBET01BZ2VudC5yZXNvbHZlTm9kZShub2RlLmlkLCBvYmplY3RH
cm91cCwgZnVuY3Rpb24oZXJyb3IsIG9iamVjdCkgewotICAgICAgICAgICAgaWYgKCFjYWxsYmFj
aykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGlmIChlcnJvciB8fCAh
b2JqZWN0KQotICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpOwotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChv
YmplY3QsIFdJLm1haW5UYXJnZXQpKTsKLSAgICAgICAgfSk7CisgICAgICAgIHJldHVybiBET01B
Z2VudC5yZXNvbHZlTm9kZShub2RlLmlkLCBvYmplY3RHcm91cCkKKyAgICAgICAgICAgIC50aGVu
KCh7b2JqZWN0fSkgPT4gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKG9iamVjdCwgV0kubWFp
blRhcmdldCkpOwogICAgIH0KIAogICAgIHN0YXRpYyByZXNvbHZlV2ViU29ja2V0KHdlYlNvY2tl
dFJlc291cmNlLCBvYmplY3RHcm91cCwgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQm94TW9kZWxE
ZXRhaWxzU2VjdGlvblJvdy5qcwppbmRleCA1MmQ3NDRhMWY5OGFiNWVhMDdmOGE0YTYzMTE5NDNj
YjZmNGIwOGMzLi5iMTI2MWYyMThiNDU3OWU3Y2NmODRmMmU2MzEzY2JmZGI5MmRiMzkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Cb3hNb2Rl
bERldGFpbHNTZWN0aW9uUm93LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuanMKQEAgLTQwNCwyNiArNDA0
LDE4IEBAIFdJLkJveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBCb3hNb2RlbERldGFp
bHNTZWN0aW9uUm93IGV4dGVuZHMgV0kuRGV0YWlsCiAgICAgICAgICAgICB1c2VySW5wdXQgPSB1
c2VyVmFsdWVQeCArICJweCI7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiByZXNvbHZl
ZE5vZGUob2JqZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIW9iamVjdCkKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRvZ2dsZUlubGluZVN0
eWxlUHJvcGVydHkocHJvcGVydHksIHZhbHVlKQotICAgICAgICAgICAgeworICAgICAgICBXSS5S
ZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUodGhpcy5fbm9kZVN0eWxlcy5ub2RlKS50aGVuKChvYmpl
Y3QpID0+IHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGluc3BlY3RlZFBhZ2Vfbm9kZV90b2dnbGVJ
bmxpbmVTdHlsZVByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSkgewogICAgICAgICAgICAgICAgIHRo
aXMuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlLCAiaW1wb3J0YW50Iik7CiAgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGRpZFRvZ2dsZSgpCi0gICAgICAgICAg
ICB7CisgICAgICAgICAgICBsZXQgZGlkVG9nZ2xlID0gKCkgPT4gewogICAgICAgICAgICAgICAg
IHRoaXMuX25vZGVTdHlsZXMucmVmcmVzaCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
fTsKIAotICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbih0b2dnbGVJbmxpbmVTdHlsZVBy
b3BlcnR5LCBbc3R5bGVQcm9wZXJ0eSwgdXNlcklucHV0XSwgZmFsc2UsIGRpZFRvZ2dsZS5iaW5k
KHRoaXMpKTsKKyAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24oaW5zcGVjdGVkUGFnZV9u
b2RlX3RvZ2dsZUlubGluZVN0eWxlUHJvcGVydHksIFtzdHlsZVByb3BlcnR5LCB1c2VySW5wdXRd
LCBmYWxzZSwgZGlkVG9nZ2xlKTsKICAgICAgICAgICAgIG9iamVjdC5yZWxlYXNlKCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUodGhpcy5fbm9kZVN0
eWxlcy5ub2RlLCAiIiwgcmVzb2x2ZWROb2RlLmJpbmQodGhpcykpOworICAgICAgICB9KTsKICAg
ICB9CiAKICAgICBfZWRpdGluZ0NvbW1pdHRlZChlbGVtZW50LCB1c2VySW5wdXQsIHByZXZpb3Vz
Q29udGVudCwgY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0RldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNEZXRhaWxzU2lkZWJhclBhbmVs
LmpzCmluZGV4IDRiZDVlYTI5MjAzMTE5ZmM5Yzk2NmEyNjRiNTAzMjVlNTNjZmIwZDAuLjg0YjU3
MTkzNjM4NmE5N2QzNTVhNjc0OTE4ZmUwZTc2Y2M1YzM4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0RldGFpbHNTaWRlYmFyUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2Fu
dmFzRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtMTk4LDEwICsxOTgsNyBAQCBXSS5DYW52YXNE
ZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgQ2FudmFzRGV0YWlsc1NpZGViYXJQYW5lbCBleHRl
bmRzIFdJLkRldGFpbAogICAgICAgICAgICAgICAgIC8vIGF0dHJpYnV0ZXMsIHdlIG5lZWQgdG8g
aW52b2tlIHRoZSBnZXR0ZXIgZm9yIGVhY2ggdG8gZ2V0IHRoZSBhY3R1YWwgdmFsdWUuCiAgICAg
ICAgICAgICAgICAgLy8gIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
Y2FudmFzLmh0bWwjYXR0ci1jYW52YXMtd2lkdGgKICAgICAgICAgICAgICAgICAvLyAgLSBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jYW52YXMuaHRtbCNhdHRyLWNhbnZh
cy1oZWlnaHQKLSAgICAgICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUobm9k
ZSwgIiIsIChyZW1vdGVPYmplY3QpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFyZW1v
dGVPYmplY3QpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KKyAgICAgICAgICAg
ICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUobm9kZSkudGhlbigocmVtb3RlT2JqZWN0
KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNldFJvd1ZhbHVlVG9Qcm9wZXJ0
eVZhbHVlKHJvdywgcHJvcGVydHkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZU9i
amVjdC5nZXRQcm9wZXJ0eShwcm9wZXJ0eSwgKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikgPT4g
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXJyb3IgJiYgcmVzdWx0LnR5cGUg
PT09ICJudW1iZXIiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcwppbmRleCBkODMz
YTgxNDUzNWEzNzA5YTJiNjg5ZGY5ZGU2MjdlNzYzMTE2MDhlLi42MzBmZTFkMWVhZmFlNzgwOTRi
ZDM4ZDgyNmE0MmI4MjM2ZDYzNTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5q
cwpAQCAtMTU5LDE1ICsxNTksMTAgQEAgV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvckRPTU5v
ZGUgPSBmdW5jdGlvbihjb250ZXh0TWVudSwgZG9tTm9kZSwgb3B0aW9ucyA9IHsKICAgICAgICAg
ICAgICAgICByZXN1bHQucmVsZWFzZSgpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBm
dW5jdGlvbiBkaWRSZXNvbHZlTm9kZShyZW1vdGVPYmplY3QpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoIXJlbW90ZU9iamVjdCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotCisgICAgICAg
ICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZG9tTm9kZSkudGhlbigocmVtb3RlT2Jq
ZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgcmVtb3RlT2JqZWN0LmdldFByb3BlcnR5KCJjb25z
dHJ1Y3RvciIsIGRpZEdldFByb3BlcnR5KTsKICAgICAgICAgICAgICAgICByZW1vdGVPYmplY3Qu
cmVsZWFzZSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBXSS5SZW1vdGVPYmplY3Qu
cmVzb2x2ZU5vZGUoZG9tTm9kZSwgIiIsIGRpZFJlc29sdmVOb2RlKTsKKyAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKICAgICB9CiAKQEAgLTE4OSwxMCArMTg0LDcgQEAgV0kuYXBwZW5kQ29u
dGV4dE1lbnVJdGVtc0ZvckRPTU5vZGUgPSBmdW5jdGlvbihjb250ZXh0TWVudSwgZG9tTm9kZSwg
b3B0aW9ucyA9IHsKICAgICBpZiAoIW9wdGlvbnMuZXhjbHVkZUxvZ0VsZW1lbnQgJiYgIWRvbU5v
ZGUuaXNJblVzZXJBZ2VudFNoYWRvd1RyZWUoKSAmJiAhZG9tTm9kZS5pc1BzZXVkb0VsZW1lbnQo
KSkgewogICAgICAgICBsZXQgbGFiZWwgPSBpc0VsZW1lbnQgPyBXSS5VSVN0cmluZygiTG9nIEVs
ZW1lbnQiKSA6IFdJLlVJU3RyaW5nKCJMb2cgTm9kZSIpOwogICAgICAgICBjb250ZXh0TWVudS5h
cHBlbmRJdGVtKGxhYmVsLCAoKSA9PiB7Ci0gICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVz
b2x2ZU5vZGUoZG9tTm9kZSwgV0kuUnVudGltZU1hbmFnZXIuQ29uc29sZU9iamVjdEdyb3VwLCAo
cmVtb3RlT2JqZWN0KSA9PiB7Ci0gICAgICAgICAgICAgICAgaWYgKCFyZW1vdGVPYmplY3QpCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQorICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0
LnJlc29sdmVOb2RlKGRvbU5vZGUsIFdJLlJ1bnRpbWVNYW5hZ2VyLkNvbnNvbGVPYmplY3RHcm91
cCkudGhlbigocmVtb3RlT2JqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgbGV0IHRleHQgPSBp
c0VsZW1lbnQgPyBXSS5VSVN0cmluZygiU2VsZWN0ZWQgRWxlbWVudCIpIDogV0kuVUlTdHJpbmco
IlNlbGVjdGVkIE5vZGUiKTsKICAgICAgICAgICAgICAgICBjb25zdCBhZGRTcGVjaWFsVXNlckxv
Z0NsYXNzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBXSS5jb25zb2xlTG9nVmlld0NvbnRyb2xs
ZXIuYXBwZW5kSW1tZWRpYXRlRXhlY3V0aW9uV2l0aFJlc3VsdCh0ZXh0LCByZW1vdGVPYmplY3Qs
IGFkZFNwZWNpYWxVc2VyTG9nQ2xhc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcwppbmRleCA0MjI2NzBhYzVkZTdlZTg2MTkwZGJlZmMwYWY3ZmI5MjQ2OTIz
MzJhLi4zNDMwMTE2NWNmNjcxMDAxZGY3OTU3OTJjZjk0MDhhM2QyOTc4NGVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWls
c1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtMjE4LDEzICsyMTgsOCBA
QCBXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV0kuRE9NRAogCiAgICAgICAgIGxldCBkb21Ob2RlID0gdGhpcy5k
b21Ob2RlOwogICAgICAgICBSdW50aW1lQWdlbnQucmVsZWFzZU9iamVjdEdyb3VwKFdJLkRPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLlByb3BlcnRpZXNPYmplY3RHcm91cE5hbWUpOwotICAgICAg
ICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZG9tTm9kZSwgV0kuRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwuUHJvcGVydGllc09iamVjdEdyb3VwTmFtZSwgbm9kZVJlc29sdmVkLmJpbmQo
dGhpcykpOwotCi0gICAgICAgIGZ1bmN0aW9uIG5vZGVSZXNvbHZlZChvYmplY3QpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGlmICghb2JqZWN0KQotICAgICAgICAgICAgICAgIHJldHVybjsKIAor
ICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZG9tTm9kZSwgV0kuRE9NTm9kZURl
dGFpbHNTaWRlYmFyUGFuZWwuUHJvcGVydGllc09iamVjdEdyb3VwTmFtZSkudGhlbigob2JqZWN0
KSA9PiB7CiAgICAgICAgICAgICAvLyBCYWlsIGlmIHRoZSBET00gbm9kZSBjaGFuZ2VkIHdoaWxl
IHdlIHdlcmUgd2FpdGluZyBmb3IgdGhlIGFzeW5jIHJlc3BvbnNlLgogICAgICAgICAgICAgaWYg
KHRoaXMuZG9tTm9kZSAhPT0gZG9tTm9kZSkKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0y
NTEsNyArMjQ2LDcgQEAgV0kuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01O
b2RlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLkRPTUQKICAgICAgICAgICAgIGNvbnN0
IGFyZ3MgPSB1bmRlZmluZWQ7CiAgICAgICAgICAgICBjb25zdCBnZW5lcmF0ZVByZXZpZXcgPSBm
YWxzZTsKICAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24oaW5zcGVjdGVkUGFnZV9ub2Rl
X2NvbGxlY3RQcm90b3R5cGVzLCBhcmdzLCBnZW5lcmF0ZVByZXZpZXcsIG5vZGVQcm90b3R5cGVz
UmVhZHkuYmluZCh0aGlzKSk7Ci0gICAgICAgIH0KKyAgICAgICAgfSk7CiAKICAgICAgICAgZnVu
Y3Rpb24gbm9kZVByb3RvdHlwZXNSZWFkeShlcnJvciwgb2JqZWN0LCB3YXNUaHJvd24pCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMKaW5kZXggYzllZDc4YTAxZWM2YWJmYTkzODBkZWEw
MzRhM2FiMDBiNmM5M2Y2My4uNWE5MjM1YWYxNDVkNzM5OGMwMDMwMTA0OTkyNGQ1NDk5ZDdkMjhk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RE9NVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMKQEAgLTMwOSwyMCArMzA5LDE0IEBAIFdJLkRPTVRy
ZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5UcmVlRWxlbWVudAog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZWROb2Rl
KG9iamVjdCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBkaW1lbnNpb25zKCkKLSAgICAg
ICAgICAgIHsKKyAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKG5vZGUpLnRoZW4o
KG9iamVjdCkgPT4geworICAgICAgICAgICAgZnVuY3Rpb24gaW5zcGVjdGVkUGFnZV9ub2RlX2Rp
bWVuc2lvbnMoKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuICJbIiArIHRoaXMub2Zmc2V0V2lk
dGggKyAiLCIgKyB0aGlzLm9mZnNldEhlaWdodCArICIsIiArIHRoaXMubmF0dXJhbFdpZHRoICsg
IiwiICsgdGhpcy5uYXR1cmFsSGVpZ2h0ICsgIl0iOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBvYmplY3QuY2FsbEZ1bmN0aW9uKGRpbWVuc2lvbnMsIHVuZGVmaW5lZCwgZmFsc2UsIHNl
dFRvb2x0aXAuYmluZCh0aGlzKSk7CisgICAgICAgICAgICBvYmplY3QuY2FsbEZ1bmN0aW9uKGlu
c3BlY3RlZFBhZ2Vfbm9kZV9kaW1lbnNpb25zLCB1bmRlZmluZWQsIGZhbHNlLCBzZXRUb29sdGlw
LmJpbmQodGhpcykpOwogICAgICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsKLSAgICAgICAgfQot
ICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUobm9kZSwgIiIsIHJlc29sdmVkTm9k
ZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgdXBkYXRlU2VsZWN0aW9u
QXJlYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01UcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpzCmluZGV4IGQ3MTNiZmM1NjFmZTEyMDU0OWM3YjM4
YzQwMGI2OTFkODQyZGNjZWEuLmViMTUyMjEzZmZlM2M3Y2ZlNTg2OTdiYjI1MjY5NzUyODA3N2Q4
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTVRyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpzCkBAIC01MDUsMzAgKzUwNSwyMyBAQCBXSS5ET01U
cmVlT3V0bGluZSA9IGNsYXNzIERPTVRyZWVPdXRsaW5lIGV4dGVuZHMgV0kuVHJlZU91dGxpbmUK
ICAgICAgICAgaWYgKGVmZmVjdGl2ZU5vZGUubm9kZVR5cGUoKSAhPT0gTm9kZS5FTEVNRU5UX05P
REUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZWROb2Rl
KG9iamVjdCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBpbmplY3RTdHlsZUFuZFRvZ2ds
ZUNsYXNzKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB2YXIgaGlkZUVsZW1lbnRT
dHlsZVNoZWV0SWRPckNsYXNzTmFtZSA9ICJfX1dlYkluc3BlY3RvckhpZGVFbGVtZW50X18iOwot
ICAgICAgICAgICAgICAgIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lKTsKLSAgICAgICAgICAgICAgICBp
ZiAoIXN0eWxlRWxlbWVudCkgewotICAgICAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwotICAgICAgICAgICAgICAgICAgICBzdHls
ZUVsZW1lbnQuaWQgPSBoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lOwotICAgICAg
ICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSAiLiIgKyBoaWRlRWxlbWVu
dFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lICsgIiB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0
YW50OyB9IjsKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChz
dHlsZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHRoaXMu
Y2xhc3NMaXN0LnRvZ2dsZShoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lKTsKKyAg
ICAgICAgZnVuY3Rpb24gaW5qZWN0U3R5bGVBbmRUb2dnbGVDbGFzcygpIHsKKyAgICAgICAgICAg
IGxldCBoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9yQ2xhc3NOYW1lID0gIl9fV2ViSW5zcGVjdG9y
SGlkZUVsZW1lbnRfXyI7CisgICAgICAgICAgICBsZXQgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSk7CisgICAg
ICAgICAgICBpZiAoIXN0eWxlRWxlbWVudCkgeworICAgICAgICAgICAgICAgIHN0eWxlRWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CisgICAgICAgICAgICAgICAgc3R5
bGVFbGVtZW50LmlkID0gaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZTsKKyAgICAg
ICAgICAgICAgICBzdHlsZUVsZW1lbnQudGV4dENvbnRlbnQgPSAiLiIgKyBoaWRlRWxlbWVudFN0
eWxlU2hlZXRJZE9yQ2xhc3NOYW1lICsgIiB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50
OyB9IjsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlRWxl
bWVudCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24o
aW5qZWN0U3R5bGVBbmRUb2dnbGVDbGFzcywgdW5kZWZpbmVkLCBmYWxzZSwgZnVuY3Rpb24oKXt9
KTsKLSAgICAgICAgICAgIG9iamVjdC5yZWxlYXNlKCk7CisgICAgICAgICAgICB0aGlzLmNsYXNz
TGlzdC50b2dnbGUoaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSk7CiAgICAgICAg
IH0KIAotICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZWZmZWN0aXZlTm9kZSwg
IiIsIHJlc29sdmVkTm9kZSk7CisgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShl
ZmZlY3RpdmVOb2RlKS50aGVuKChvYmplY3QpID0+IHsKKyAgICAgICAgICAgIG9iamVjdC5jYWxs
RnVuY3Rpb24oaW5qZWN0U3R5bGVBbmRUb2dnbGVDbGFzcywgdW5kZWZpbmVkLCBmYWxzZSwgKCkg
PT4geyB9KTsKKyAgICAgICAgICAgIG9iamVjdC5yZWxlYXNlKCk7CisgICAgICAgIH0pOwogICAg
IH0KIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBmNjkyZTg3ZjJhYmRiYjE2NTE0NTZiYjEzOTlkODVhMDUxM2Y0Y2Vl
Li5lYzViYzc3OWYyYzBmNmI4NmNhYTI5MjYyMGZjZjNlMmMyOTZlMTJhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTctMDktMTggIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSBzaG91bGQg
cmV0dXJuIGEgUHJvbWlzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3MDQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlZCB0ZXN0cyB0byB1c2UgcHJvbWlzZXMgaW5zdGVhZCBvZiBjYWxsYmFj
a3MuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZ2hsaWdodE5vZGUuaHRtbDoKKwogMjAx
Ny0wOS0xOCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFyayBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlY3VyZS1jb29raWUtc2VjdXJl
LWNvbm5lY3Rpb24ucGwgYXMgYSBmYWlsdXJlIG9uIFdpbmRvd3MuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodE5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5odG1sCmluZGV4IGQwZDZhNDUzNmRkYjA2YmFhYzEx
NzYxOWFhMjg4YzNlNjcyZjI3YzYuLjA2ZmI2ZDM1MTQwM2Y0ZWYzMjMzOWJjNmVjYTRiMjdiN2Vh
Y2FmYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9k
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5odG1s
CkBAIC04MiwxMiArODIsMTMgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIG5hbWU6ICJNYWlu
RnJhbWVOb2RlVmlhT2JqZWN0SWQiLAogICAgICAgICBkZXNjcmlwdGlvbjogIlNob3VsZCBoaWdo
bGlnaHQgYSBub2RlIGluIHRoZSBtYWluIGZyYW1lIHVzaW5nIG9iamVjdCBpZC4iLAogICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJl
c29sdmVOb2RlKG1haW5GcmFtZVRhcmdldE5vZGUsICJ0ZXN0IiwgKHJlbW90ZU9iamVjdCkgPT4g
eworICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKG1haW5GcmFtZVRhcmdl
dE5vZGUsICJ0ZXN0IikudGhlbigocmVtb3RlT2JqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAg
RE9NQWdlbnQuaGlnaGxpZ2h0Tm9kZShoaWdobGlnaHRDb25maWcsIHVuZGVmaW5lZCwgcmVtb3Rl
T2JqZWN0Lm9iamVjdElkLCAoZXJyb3IpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBoYXZlIGFuIGVycm9yLiIpOwogICAg
ICAgICAgICAgICAgICAgICBkdW1wSGlnaGxpZ2h0KHJlc29sdmUpOwogICAgICAgICAgICAgICAg
IH0pOwotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLmNhdGNo
KHJlamVjdCk7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtOTUsMTIgKzk2LDEzIEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAiQ2hpbGRGcmFtZU5vZGVWaWFPYmplY3RJZCIsCiAg
ICAgICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIGhpZ2hsaWdodCBhIG5vZGUgaW4gdGhlIGNoaWxk
IGZyYW1lIHVzaW5nIG9iamVjdCBpZC4iLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKGNoaWxkRnJhbWVUYXJn
ZXROb2RlLCAidGVzdCIsIChyZW1vdGVPYmplY3QpID0+IHsKKyAgICAgICAgICAgIFdJLlJlbW90
ZU9iamVjdC5yZXNvbHZlTm9kZShjaGlsZEZyYW1lVGFyZ2V0Tm9kZSwgInRlc3QiKS50aGVuKChy
ZW1vdGVPYmplY3QpID0+IHsKICAgICAgICAgICAgICAgICBET01BZ2VudC5oaWdobGlnaHROb2Rl
KGhpZ2hsaWdodENvbmZpZywgdW5kZWZpbmVkLCByZW1vdGVPYmplY3Qub2JqZWN0SWQsIChlcnJv
cikgPT4gewogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3Is
ICJTaG91bGQgbm90IGhhdmUgYW4gZXJyb3IuIik7CiAgICAgICAgICAgICAgICAgICAgIGR1bXBI
aWdobGlnaHQocmVzb2x2ZSk7CiAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKICAgICAgICAgfQog
ICAgIH0pOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321141</attachid>
            <date>2017-09-18 15:42:30 -0700</date>
            <delta_ts>2017-09-18 16:14:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-177042-20170918154229.patch</filename>
            <type>text/plain</type>
            <size>21482</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
MDY3MDM4ZTdjOTQ4NmJkNjRhYjNmNmQ4ODZjNmY4MzU0NzI3YTkzLi42NWExZmI3NTUxYjQ1ZmNl
ZDkzN2ZiN2YxNWFiZTA4YWQ1OTYwZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNy0wOS0xOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlIHNob3Vs
ZCByZXR1cm4gYSBQcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzcwNDIKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8u
CisKKyAgICAgICAgVXBkYXRlIFJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSB0byByZXR1cm4gYSBw
cm9taXNlIGluc3RlYWQgb2YgdGFraW5nIGEKKyAgICAgICAgY2FsbGJhY2suIElmIHRoZSBwcm9t
aXNlIGlzIGZ1bGZpbGxlZCwgYHJlbW90ZU9iamVjdGAgd2lsbCBiZSBub24tbnVsbC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanM6CisgICAg
ICAgIChXSS5ET01UcmVlTWFuYWdlci5wcm90b3R5cGUuaW5zcGVjdE5vZGVPYmplY3Qubm9kZUF2
YWlsYWJsZSk6CisgICAgICAgIChXSS5ET01UcmVlTWFuYWdlci5wcm90b3R5cGUuaW5zcGVjdE5v
ZGVPYmplY3QpOgorICAgICAgICAoV0kuRE9NVHJlZU1hbmFnZXIucHJvdG90eXBlLmdldE5vZGVD
b250ZW50Rmxvd0luZm8uZG9tTm9kZVJlc29sdmVkKTogRGVsZXRlZC4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanM6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3Rv
dHlwZS50b2dnbGVDbGFzcy5XSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUudGhlbik6CisgICAg
ICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS50b2dnbGVDbGFzcyk6CisgICAgICAgIChXSS5ET01O
b2RlLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldy5XSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUu
dGhlbik6CisgICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldyk6Cisg
ICAgICAgIChXSS5ET01Ob2RlLnByb3RvdHlwZS50b2dnbGVDbGFzcy5yZXNvbHZlZE5vZGUuaW5z
cGVjdGVkUGFnZV9ub2RlX3RvZ2dsZUNsYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTU5v
ZGUucHJvdG90eXBlLnRvZ2dsZUNsYXNzLnJlc29sdmVkTm9kZSk6IERlbGV0ZWQuCisgICAgICAg
IChXSS5ET01Ob2RlLnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldy5yZXNvbHZlZE5vZGUuaW5zcGVj
dGVkUGFnZV9ub2RlX3Njcm9sbEludG9WaWV3KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTU5v
ZGUucHJvdG90eXBlLnNjcm9sbEludG9WaWV3LnJlc29sdmVkTm9kZSk6IERlbGV0ZWQuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVjdC5qczoKKyAgICAgICAg
KFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuanM6CisgICAgICAgIChXSS5Cb3hNb2Rl
bERldGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQuV0kuUmVtb3RlT2Jq
ZWN0LnJlc29sdmVOb2RlLnRoZW4pOgorICAgICAgICAoV0kuQm94TW9kZWxEZXRhaWxzU2VjdGlv
blJvdy5wcm90b3R5cGUuX2FwcGx5VXNlcklucHV0KToKKyAgICAgICAgKFdJLkJveE1vZGVsRGV0
YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLl9hcHBseVVzZXJJbnB1dC5yZXNvbHZlZE5vZGUudG9n
Z2xlSW5saW5lU3R5bGVQcm9wZXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5Cb3hNb2RlbERl
dGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQucmVzb2x2ZWROb2RlLmRp
ZFRvZ2dsZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93
LnByb3RvdHlwZS5fYXBwbHlVc2VySW5wdXQucmVzb2x2ZWROb2RlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc0RldGFpbHNTaWRlYmFyUGFuZWwuanM6CisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzOgor
ICAgICAgICAoV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvckRPTU5vZGUpOgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAg
ICAgICAgKFdJLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaFBy
b3BlcnRpZXMubm9kZVJlc29sdmVkLmluc3BlY3RlZFBhZ2Vfbm9kZV9jb2xsZWN0UHJvdG90eXBl
cyk6IERlbGV0ZWQuCisgICAgICAgIChXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90
b3R5cGUuX3JlZnJlc2hQcm9wZXJ0aWVzLm5vZGVSZXNvbHZlZCk6IERlbGV0ZWQuCisgICAgICAg
IChXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlZnJlc2hQcm9wZXJ0
aWVzLm5vZGVQcm90b3R5cGVzUmVhZHkpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVFbGVtZW50
LnByb3RvdHlwZS5fY3JlYXRlVG9vbHRpcEZvck5vZGUuV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVO
b2RlLnRoZW4pOgorICAgICAgICAoV0kuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlLl9jcmVhdGVU
b29sdGlwRm9yTm9kZSk6CisgICAgICAgIChXSS5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX2Ny
ZWF0ZVRvb2x0aXBGb3JOb2RlLnJlc29sdmVkTm9kZS5kaW1lbnNpb25zKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdJLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5fY3JlYXRlVG9vbHRpcEZvck5vZGUu
cmVzb2x2ZWROb2RlKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
RE9NVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXSS5ET01UcmVlT3V0bGluZS5wcm90b3R5cGUu
X2hpZGVFbGVtZW50LmluamVjdFN0eWxlQW5kVG9nZ2xlQ2xhc3MpOgorICAgICAgICAoV0kuRE9N
VHJlZU91dGxpbmUucHJvdG90eXBlLl9oaWRlRWxlbWVudCk6CisgICAgICAgIChXSS5ET01UcmVl
T3V0bGluZSk6CisgICAgICAgIChXSS5ET01UcmVlT3V0bGluZS5wcm90b3R5cGUuX2hpZGVFbGVt
ZW50LnJlc29sdmVkTm9kZS5pbmplY3RTdHlsZUFuZFRvZ2dsZUNsYXNzKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lLnByb3RvdHlwZS5faGlkZUVsZW1lbnQucmVzb2x2ZWRO
b2RlKTogRGVsZXRlZC4KKwogMjAxNy0wOS0xNyAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2lseWV2
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdHlsZXMgUmVkZXNpZ246IHN1
cHBvcnQgdG9nZ2xpbmcgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5q
cwppbmRleCAwZTJiZDQ5Yzg1YjA3OWVhMmFlMDZhYmYwZDI5OTMxNDM1ZTFjNzM3Li41NDdkOGVh
N2Y2NjY3NmI1YzY1NjBhMmVkMTcxZDAzNmE3YWQ2MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01U
cmVlTWFuYWdlci5qcwpAQCAtMzcxLDExICszNzEsOSBAQCBXSS5ET01UcmVlTWFuYWdlciA9IGNs
YXNzIERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAgICAgICAgIC8vIFJl
LXJlc29sdmUgdGhlIG5vZGUgaW4gdGhlIGNvbnNvbGUncyBvYmplY3QgZ3JvdXAgd2hlbiBhZGRp
bmcgdG8gdGhlIGNvbnNvbGUuCiAgICAgICAgICAgICBsZXQgZG9tTm9kZSA9IHRoaXMubm9kZUZv
cklkKG5vZGVJZCk7Ci0gICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZG9t
Tm9kZSwgV0kuUnVudGltZU1hbmFnZXIuQ29uc29sZU9iamVjdEdyb3VwLCBmdW5jdGlvbihyZW1v
dGVPYmplY3QpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXJlbW90ZU9iamVjdCkKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIGxldCBzcGVjaWFsTG9nU3R5bGVz
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBsZXQgc2hvdWxkUmV2ZWFsQ29uc29sZSA9IGZhbHNl
OworICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKGRvbU5vZGUsIFdJLlJ1
bnRpbWVNYW5hZ2VyLkNvbnNvbGVPYmplY3RHcm91cCkudGhlbigocmVtb3RlT2JqZWN0KSA9PiB7
CisgICAgICAgICAgICAgICAgY29uc3Qgc3BlY2lhbExvZ1N0eWxlcyA9IHRydWU7CisgICAgICAg
ICAgICAgICAgY29uc3Qgc2hvdWxkUmV2ZWFsQ29uc29sZSA9IGZhbHNlOwogICAgICAgICAgICAg
ICAgIFdJLmNvbnNvbGVMb2dWaWV3Q29udHJvbGxlci5hcHBlbmRJbW1lZGlhdGVFeGVjdXRpb25X
aXRoUmVzdWx0KFdJLlVJU3RyaW5nKCJTZWxlY3RlZCBFbGVtZW50IiksIHJlbW90ZU9iamVjdCwg
c3BlY2lhbExvZ1N0eWxlcywgc2hvdWxkUmV2ZWFsQ29uc29sZSk7CiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgfQpAQCAtNzAwLDE2ICs2OTgsOCBAQCBXSS5ET01UcmVlTWFuYWdlciA9IGNsYXNz
IERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBnZXROb2RlQ29udGVudEZs
b3dJbmZvKGRvbU5vZGUsIHJlc3VsdFJlYWR5Q2FsbGJhY2spCiAgICAgewotICAgICAgICBET01B
Z2VudC5yZXNvbHZlTm9kZShkb21Ob2RlLmlkLCBkb21Ob2RlUmVzb2x2ZWQuYmluZCh0aGlzKSk7
Ci0KLSAgICAgICAgZnVuY3Rpb24gZG9tTm9kZVJlc29sdmVkKGVycm9yLCByZW1vdGVPYmplY3Qp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIHJl
c3VsdFJlYWR5Q2FsbGJhY2soZXJyb3IpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgdmFyIGV2YWxQYXJhbWV0ZXJzID0geworICAgICAgICBX
SS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUoZG9tTm9kZSkudGhlbigocmVtb3RlT2JqZWN0KSA9
PiB7CisgICAgICAgICAgICBsZXQgZXZhbFBhcmFtZXRlcnMgPSB7CiAgICAgICAgICAgICAgICAg
b2JqZWN0SWQ6IHJlbW90ZU9iamVjdC5vYmplY3RJZCwKICAgICAgICAgICAgICAgICBmdW5jdGlv
bkRlY2xhcmF0aW9uOiBhcHBlbmRXZWJJbnNwZWN0b3JTb3VyY2VVUkwoaW5zcGVjdGVkUGFnZV9u
b2RlX2dldEZsb3dJbmZvLnRvU3RyaW5nKCkpLAogICAgICAgICAgICAgICAgIGRvTm90UGF1c2VP
bkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogdHJ1ZSwKQEAgLTcxNyw3ICs3MDcsNyBAQCBXSS5E
T01UcmVlTWFuYWdlciA9IGNsYXNzIERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAg
ICAgICAgICAgICAgICAgZ2VuZXJhdGVQcmV2aWV3OiBmYWxzZQogICAgICAgICAgICAgfTsKICAg
ICAgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbi5pbnZva2UoZXZhbFBhcmFtZXRl
cnMsIHJlZ2lvbk5vZGVzQXZhaWxhYmxlLmJpbmQodGhpcykpOwotICAgICAgICB9CisgICAgICAg
IH0pLmNhdGNoKHJlc3VsdFJlYWR5Q2FsbGJhY2spOwogCiAgICAgICAgIGZ1bmN0aW9uIHJlZ2lv
bk5vZGVzQXZhaWxhYmxlKGVycm9yLCByZW1vdGVPYmplY3QsIHdhc1Rocm93bikKICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0RPTU5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
RE9NTm9kZS5qcwppbmRleCAwN2ZhZmQ1NGZhYzYwMDM4MGE3MGI5OWRiYTVkMDFiNjBlYTRiNWU5
Li41YTg5ZTc4MGJlMmZmMjZjZTdiZjMzOTQ3MzE3NmIzNzVlZjJjMzI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qcwpA
QCAtNDQxLDQwICs0NDEsMjYgQEAgV0kuRE9NTm9kZSA9IGNsYXNzIERPTU5vZGUgZXh0ZW5kcyBX
SS5PYmplY3QKICAgICAgICAgaWYgKHRoaXMubm9kZVR5cGUoKSAhPT0gTm9kZS5FTEVNRU5UX05P
REUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2ZWROb2Rl
KG9iamVjdCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBpbnNwZWN0ZWRQYWdlX25vZGVf
dG9nZ2xlQ2xhc3MoY2xhc3NOYW1lLCBmbGFnKQotICAgICAgICAgICAgeworICAgICAgICBXSS5S
ZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUodGhpcykudGhlbigob2JqZWN0KSA9PiB7CisgICAgICAg
ICAgICBmdW5jdGlvbiBpbnNwZWN0ZWRQYWdlX25vZGVfdG9nZ2xlQ2xhc3MoY2xhc3NOYW1lLCBm
bGFnKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5jbGFzc0xpc3QudG9nZ2xlKGNsYXNzTmFtZSwg
ZmxhZyk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24o
aW5zcGVjdGVkUGFnZV9ub2RlX3RvZ2dsZUNsYXNzLCBbY2xhc3NOYW1lLCBmbGFnXSk7CiAgICAg
ICAgICAgICBvYmplY3QucmVsZWFzZSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgV0kuUmVtb3Rl
T2JqZWN0LnJlc29sdmVOb2RlKHRoaXMsICIiLCByZXNvbHZlZE5vZGUpOworICAgICAgICB9KTsK
ICAgICB9CiAKICAgICBzY3JvbGxJbnRvVmlldygpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBy
ZXNvbHZlZE5vZGUob2JqZWN0KQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIW9iamVjdCkK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGluc3BlY3Rl
ZFBhZ2Vfbm9kZV9zY3JvbGxJbnRvVmlldygpCi0gICAgICAgICAgICB7CisgICAgICAgIFdJLlJl
bW90ZU9iamVjdC5yZXNvbHZlTm9kZSh0aGlzKS50aGVuKChvYmplY3QpID0+IHsKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIGluc3BlY3RlZFBhZ2Vfbm9kZV9zY3JvbGxJbnRvVmlldygpIHsKICAgICAg
ICAgICAgICAgICB0aGlzLnNjcm9sbEludG9WaWV3SWZOZWVkZWQodHJ1ZSk7CiAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24oaW5zcGVjdGVkUGFnZV9ub2Rl
X3Njcm9sbEludG9WaWV3KTsKICAgICAgICAgICAgIG9iamVjdC5yZWxlYXNlKCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUodGhpcywgIiIsIHJlc29s
dmVkTm9kZSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIGdldENoaWxkTm9kZXMoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90
b2NvbC9SZW1vdGVPYmplY3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Qcm90b2NvbC9SZW1vdGVPYmplY3QuanMKaW5kZXggOGMxN2M4NzI4NGJhYjZhMzkwYzIyNjI0
YTRmNjM0NTczYTk1NDM3ZC4uYzVhYmQwNTUxYjI0MTE3ODA0NjhhMjMwMzNkMjBjNzUzYjRjNGYw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvUmVtb3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1Byb3RvY29sL1JlbW90ZU9iamVjdC5qcwpAQCAtMTI1LDE3ICsxMjUsMTAgQEAgV0kuUmVt
b3RlT2JqZWN0ID0gY2xhc3MgUmVtb3RlT2JqZWN0CiAgICAgICAgIHJldHVybiB7dmFsdWU6IHZh
bHVlT3JPYmplY3R9OwogICAgIH0KIAotICAgIHN0YXRpYyByZXNvbHZlTm9kZShub2RlLCBvYmpl
Y3RHcm91cCwgY2FsbGJhY2spCisgICAgc3RhdGljIHJlc29sdmVOb2RlKG5vZGUsIG9iamVjdEdy
b3VwKQogICAgIHsKLSAgICAgICAgRE9NQWdlbnQucmVzb2x2ZU5vZGUobm9kZS5pZCwgb2JqZWN0
R3JvdXAsIGZ1bmN0aW9uKGVycm9yLCBvYmplY3QpIHsKLSAgICAgICAgICAgIGlmICghY2FsbGJh
Y2spCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBpZiAoZXJyb3IgfHwg
IW9iamVjdCkKLSAgICAgICAgICAgICAgICBjYWxsYmFjayhudWxsKTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICBjYWxsYmFjayhXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQo
b2JqZWN0LCBXSS5tYWluVGFyZ2V0KSk7Ci0gICAgICAgIH0pOworICAgICAgICByZXR1cm4gRE9N
QWdlbnQucmVzb2x2ZU5vZGUobm9kZS5pZCwgb2JqZWN0R3JvdXApCisgICAgICAgICAgICAudGhl
bigoe29iamVjdH0pID0+IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChvYmplY3QsIFdJLm1h
aW5UYXJnZXQpKTsKICAgICB9CiAKICAgICBzdGF0aWMgcmVzb2x2ZVdlYlNvY2tldCh3ZWJTb2Nr
ZXRSZXNvdXJjZSwgb2JqZWN0R3JvdXAsIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQm94TW9kZWxEZXRhaWxzU2VjdGlvblJv
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JveE1vZGVs
RGV0YWlsc1NlY3Rpb25Sb3cuanMKaW5kZXggNTJkNzQ0YTFmOThhYjVlYTA3ZjhhNGE2MzExOTQz
Y2I2ZjRiMDhjMy4uYjEyNjFmMjE4YjQ1NzllN2NjZjg0ZjJlNjMxM2NiZmRiOTJkYjM5MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQm94TW9k
ZWxEZXRhaWxzU2VjdGlvblJvdy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93LmpzCkBAIC00MDQsMjYgKzQw
NCwxOCBAQCBXSS5Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQm94TW9kZWxEZXRh
aWxzU2VjdGlvblJvdyBleHRlbmRzIFdJLkRldGFpbAogICAgICAgICAgICAgdXNlcklucHV0ID0g
dXNlclZhbHVlUHggKyAicHgiOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb2x2
ZWROb2RlKG9iamVjdCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCFvYmplY3QpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmdW5jdGlvbiB0b2dnbGVJbmxpbmVT
dHlsZVByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSkKLSAgICAgICAgICAgIHsKKyAgICAgICAgV0ku
UmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKHRoaXMuX25vZGVTdHlsZXMubm9kZSkudGhlbigob2Jq
ZWN0KSA9PiB7CisgICAgICAgICAgICBmdW5jdGlvbiBpbnNwZWN0ZWRQYWdlX25vZGVfdG9nZ2xl
SW5saW5lU3R5bGVQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpIHsKICAgICAgICAgICAgICAgICB0
aGlzLnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSwgImltcG9ydGFudCIpOwogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBkaWRUb2dnbGUoKQotICAgICAgICAg
ICAgeworICAgICAgICAgICAgbGV0IGRpZFRvZ2dsZSA9ICgpID0+IHsKICAgICAgICAgICAgICAg
ICB0aGlzLl9ub2RlU3R5bGVzLnJlZnJlc2goKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH07CiAKLSAgICAgICAgICAgIG9iamVjdC5jYWxsRnVuY3Rpb24odG9nZ2xlSW5saW5lU3R5bGVQ
cm9wZXJ0eSwgW3N0eWxlUHJvcGVydHksIHVzZXJJbnB1dF0sIGZhbHNlLCBkaWRUb2dnbGUuYmlu
ZCh0aGlzKSk7CisgICAgICAgICAgICBvYmplY3QuY2FsbEZ1bmN0aW9uKGluc3BlY3RlZFBhZ2Vf
bm9kZV90b2dnbGVJbmxpbmVTdHlsZVByb3BlcnR5LCBbc3R5bGVQcm9wZXJ0eSwgdXNlcklucHV0
XSwgZmFsc2UsIGRpZFRvZ2dsZSk7CiAgICAgICAgICAgICBvYmplY3QucmVsZWFzZSgpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKHRoaXMuX25vZGVT
dHlsZXMubm9kZSwgIiIsIHJlc29sdmVkTm9kZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgfSk7CiAg
ICAgfQogCiAgICAgX2VkaXRpbmdDb21taXR0ZWQoZWxlbWVudCwgdXNlcklucHV0LCBwcmV2aW91
c0NvbnRlbnQsIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9DYW52YXNEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwppbmRleCA0YmQ1ZWEyOTIwMzExOWZjOWM5NjZhMjY0YjUwMzI1ZTUzY2ZiMGQwLi44NGI1
NzE5MzYzODZhOTdkMzU1YTY3NDkxOGZlMGU3NmNjNWMzODQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNEZXRhaWxzU2lkZWJhclBh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nh
bnZhc0RldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTE5OCwxMCArMTk4LDcgQEAgV0kuQ2FudmFz
RGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIENhbnZhc0RldGFpbHNTaWRlYmFyUGFuZWwgZXh0
ZW5kcyBXSS5EZXRhaWwKICAgICAgICAgICAgICAgICAvLyBhdHRyaWJ1dGVzLCB3ZSBuZWVkIHRv
IGludm9rZSB0aGUgZ2V0dGVyIGZvciBlYWNoIHRvIGdldCB0aGUgYWN0dWFsIHZhbHVlLgogICAg
ICAgICAgICAgICAgIC8vICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2NhbnZhcy5odG1sI2F0dHItY2FudmFzLXdpZHRoCiAgICAgICAgICAgICAgICAgLy8gIC0gaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvY2FudmFzLmh0bWwjYXR0ci1jYW52
YXMtaGVpZ2h0Ci0gICAgICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKG5v
ZGUsICIiLCAocmVtb3RlT2JqZWN0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghcmVt
b3RlT2JqZWN0KQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotCisgICAgICAgICAg
ICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKG5vZGUpLnRoZW4oKHJlbW90ZU9iamVj
dCkgPT4gewogICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzZXRSb3dWYWx1ZVRvUHJvcGVy
dHlWYWx1ZShyb3csIHByb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdGVP
YmplY3QuZ2V0UHJvcGVydHkocHJvcGVydHksIChlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pID0+
IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9yICYmIHJlc3VsdC50eXBl
ID09PSAibnVtYmVyIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMKaW5kZXggZDgz
M2E4MTQ1MzVhMzcwOWEyYjY4OWRmOWRlNjI3ZTc2MzExNjA4ZS4uNjMwZmUxZDFlYWZhZTc4MDk0
YmQzOGQ4MjZhNDJiODIzNmQ2MzU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMu
anMKQEAgLTE1OSwxNSArMTU5LDEwIEBAIFdJLmFwcGVuZENvbnRleHRNZW51SXRlbXNGb3JET01O
b2RlID0gZnVuY3Rpb24oY29udGV4dE1lbnUsIGRvbU5vZGUsIG9wdGlvbnMgPSB7CiAgICAgICAg
ICAgICAgICAgcmVzdWx0LnJlbGVhc2UoKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
ZnVuY3Rpb24gZGlkUmVzb2x2ZU5vZGUocmVtb3RlT2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAg
aWYgKCFyZW1vdGVPYmplY3QpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQorICAgICAg
ICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKGRvbU5vZGUpLnRoZW4oKHJlbW90ZU9i
amVjdCkgPT4gewogICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0eSgiY29u
c3RydWN0b3IiLCBkaWRHZXRQcm9wZXJ0eSk7CiAgICAgICAgICAgICAgICAgcmVtb3RlT2JqZWN0
LnJlbGVhc2UoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0
LnJlc29sdmVOb2RlKGRvbU5vZGUsICIiLCBkaWRSZXNvbHZlTm9kZSk7CisgICAgICAgICAgICB9
KTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0xODksMTAgKzE4NCw3IEBAIFdJLmFwcGVuZENv
bnRleHRNZW51SXRlbXNGb3JET01Ob2RlID0gZnVuY3Rpb24oY29udGV4dE1lbnUsIGRvbU5vZGUs
IG9wdGlvbnMgPSB7CiAgICAgaWYgKCFvcHRpb25zLmV4Y2x1ZGVMb2dFbGVtZW50ICYmICFkb21O
b2RlLmlzSW5Vc2VyQWdlbnRTaGFkb3dUcmVlKCkgJiYgIWRvbU5vZGUuaXNQc2V1ZG9FbGVtZW50
KCkpIHsKICAgICAgICAgbGV0IGxhYmVsID0gaXNFbGVtZW50ID8gV0kuVUlTdHJpbmcoIkxvZyBF
bGVtZW50IikgOiBXSS5VSVN0cmluZygiTG9nIE5vZGUiKTsKICAgICAgICAgY29udGV4dE1lbnUu
YXBwZW5kSXRlbShsYWJlbCwgKCkgPT4gewotICAgICAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJl
c29sdmVOb2RlKGRvbU5vZGUsIFdJLlJ1bnRpbWVNYW5hZ2VyLkNvbnNvbGVPYmplY3RHcm91cCwg
KHJlbW90ZU9iamVjdCkgPT4gewotICAgICAgICAgICAgICAgIGlmICghcmVtb3RlT2JqZWN0KQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KKyAgICAgICAgICAgIFdJLlJlbW90ZU9iamVj
dC5yZXNvbHZlTm9kZShkb21Ob2RlLCBXSS5SdW50aW1lTWFuYWdlci5Db25zb2xlT2JqZWN0R3Jv
dXApLnRoZW4oKHJlbW90ZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIGxldCB0ZXh0ID0g
aXNFbGVtZW50ID8gV0kuVUlTdHJpbmcoIlNlbGVjdGVkIEVsZW1lbnQiKSA6IFdJLlVJU3RyaW5n
KCJTZWxlY3RlZCBOb2RlIik7CiAgICAgICAgICAgICAgICAgY29uc3QgYWRkU3BlY2lhbFVzZXJM
b2dDbGFzcyA9IHRydWU7CiAgICAgICAgICAgICAgICAgV0kuY29uc29sZUxvZ1ZpZXdDb250cm9s
bGVyLmFwcGVuZEltbWVkaWF0ZUV4ZWN1dGlvbldpdGhSZXN1bHQodGV4dCwgcmVtb3RlT2JqZWN0
LCBhZGRTcGVjaWFsVXNlckxvZ0NsYXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwuanMKaW5kZXggNDIyNjcwYWM1ZGU3ZWU4NjE5MGRiZWZjMGFmN2ZiOTI0Njky
MzMyYS4uMzQzMDExNjVjZjY3MTAwMWRmNzk1NzkyY2Y5NDA4YTNkMjk3ODRlYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTIxOCwxMyArMjE4LDgg
QEAgV0kuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbCBleHRlbmRzIFdJLkRPTUQKIAogICAgICAgICBsZXQgZG9tTm9kZSA9IHRoaXMu
ZG9tTm9kZTsKICAgICAgICAgUnVudGltZUFnZW50LnJlbGVhc2VPYmplY3RHcm91cChXSS5ET01O
b2RlRGV0YWlsc1NpZGViYXJQYW5lbC5Qcm9wZXJ0aWVzT2JqZWN0R3JvdXBOYW1lKTsKLSAgICAg
ICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKGRvbU5vZGUsIFdJLkRPTU5vZGVEZXRhaWxz
U2lkZWJhclBhbmVsLlByb3BlcnRpZXNPYmplY3RHcm91cE5hbWUsIG5vZGVSZXNvbHZlZC5iaW5k
KHRoaXMpKTsKLQotICAgICAgICBmdW5jdGlvbiBub2RlUmVzb2x2ZWQob2JqZWN0KQotICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAoIW9iamVjdCkKLSAgICAgICAgICAgICAgICByZXR1cm47CiAK
KyAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKGRvbU5vZGUsIFdJLkRPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLlByb3BlcnRpZXNPYmplY3RHcm91cE5hbWUpLnRoZW4oKG9iamVj
dCkgPT4gewogICAgICAgICAgICAgLy8gQmFpbCBpZiB0aGUgRE9NIG5vZGUgY2hhbmdlZCB3aGls
ZSB3ZSB3ZXJlIHdhaXRpbmcgZm9yIHRoZSBhc3luYyByZXNwb25zZS4KICAgICAgICAgICAgIGlm
ICh0aGlzLmRvbU5vZGUgIT09IGRvbU5vZGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAt
MjUxLDcgKzI0Niw3IEBAIFdJLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9N
Tm9kZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5ET01ECiAgICAgICAgICAgICBjb25z
dCBhcmdzID0gdW5kZWZpbmVkOwogICAgICAgICAgICAgY29uc3QgZ2VuZXJhdGVQcmV2aWV3ID0g
ZmFsc2U7CiAgICAgICAgICAgICBvYmplY3QuY2FsbEZ1bmN0aW9uKGluc3BlY3RlZFBhZ2Vfbm9k
ZV9jb2xsZWN0UHJvdG90eXBlcywgYXJncywgZ2VuZXJhdGVQcmV2aWV3LCBub2RlUHJvdG90eXBl
c1JlYWR5LmJpbmQodGhpcykpOwotICAgICAgICB9CisgICAgICAgIH0pOwogCiAgICAgICAgIGZ1
bmN0aW9uIG5vZGVQcm90b3R5cGVzUmVhZHkoZXJyb3IsIG9iamVjdCwgd2FzVGhyb3duKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IGM5ZWQ3OGEwMWVjNmFiZmE5MzgwZGVh
MDM0YTNhYjAwYjZjOTNmNjMuLjVhOTIzNWFmMTQ1ZDczOThjMDAzMDEwNDk5MjRkNTQ5OWQ3ZDI4
ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC0zMDksMjAgKzMwOSwxNCBAQCBXSS5ET01U
cmVlRWxlbWVudCA9IGNsYXNzIERPTVRyZWVFbGVtZW50IGV4dGVuZHMgV0kuVHJlZUVsZW1lbnQK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIHJlc29sdmVkTm9k
ZShvYmplY3QpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICghb2JqZWN0KQotICAgICAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgZnVuY3Rpb24gZGltZW5zaW9ucygpCi0gICAg
ICAgICAgICB7CisgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShub2RlKS50aGVu
KChvYmplY3QpID0+IHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIGluc3BlY3RlZFBhZ2Vfbm9kZV9k
aW1lbnNpb25zKCkgewogICAgICAgICAgICAgICAgIHJldHVybiAiWyIgKyB0aGlzLm9mZnNldFdp
ZHRoICsgIiwiICsgdGhpcy5vZmZzZXRIZWlnaHQgKyAiLCIgKyB0aGlzLm5hdHVyYWxXaWR0aCAr
ICIsIiArIHRoaXMubmF0dXJhbEhlaWdodCArICJdIjsKICAgICAgICAgICAgIH0KIAotICAgICAg
ICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihkaW1lbnNpb25zLCB1bmRlZmluZWQsIGZhbHNlLCBz
ZXRUb29sdGlwLmJpbmQodGhpcykpOworICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihp
bnNwZWN0ZWRQYWdlX25vZGVfZGltZW5zaW9ucywgdW5kZWZpbmVkLCBmYWxzZSwgc2V0VG9vbHRp
cC5iaW5kKHRoaXMpKTsKICAgICAgICAgICAgIG9iamVjdC5yZWxlYXNlKCk7Ci0gICAgICAgIH0K
LSAgICAgICAgV0kuUmVtb3RlT2JqZWN0LnJlc29sdmVOb2RlKG5vZGUsICIiLCByZXNvbHZlZE5v
ZGUuYmluZCh0aGlzKSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIHVwZGF0ZVNlbGVjdGlv
bkFyZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRE9NVHJlZU91dGxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcwppbmRleCBkNzEzYmZjNTYxZmUxMjA1NDljN2Iz
OGM0MDBiNjkxZDg0MmRjY2VhLi5mMDMyNjVmYThiZjdmZjA5YWJlMTUxMDUzYjUwMjVjMDc3ZmZi
MDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcwpAQCAtNTA1LDMwICs1MDUsMjMgQEAgV0kuRE9N
VHJlZU91dGxpbmUgPSBjbGFzcyBET01UcmVlT3V0bGluZSBleHRlbmRzIFdJLlRyZWVPdXRsaW5l
CiAgICAgICAgIGlmIChlZmZlY3RpdmVOb2RlLm5vZGVUeXBlKCkgIT09IE5vZGUuRUxFTUVOVF9O
T0RFKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGZ1bmN0aW9uIHJlc29sdmVkTm9k
ZShvYmplY3QpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICghb2JqZWN0KQotICAgICAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgZnVuY3Rpb24gaW5qZWN0U3R5bGVBbmRUb2dn
bGVDbGFzcygpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdmFyIGhpZGVFbGVtZW50
U3R5bGVTaGVldElkT3JDbGFzc05hbWUgPSAiX19XZWJJbnNwZWN0b3JIaWRlRWxlbWVudF9fIjsK
LSAgICAgICAgICAgICAgICB2YXIgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSk7Ci0gICAgICAgICAgICAgICAg
aWYgKCFzdHlsZUVsZW1lbnQpIHsKLSAgICAgICAgICAgICAgICAgICAgc3R5bGVFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKLSAgICAgICAgICAgICAgICAgICAgc3R5
bGVFbGVtZW50LmlkID0gaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZTsKLSAgICAg
ICAgICAgICAgICAgICAgc3R5bGVFbGVtZW50LnRleHRDb250ZW50ID0gIi4iICsgaGlkZUVsZW1l
bnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSArICIgeyB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9y
dGFudDsgfSI7Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo
c3R5bGVFbGVtZW50KTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB0aGlz
LmNsYXNzTGlzdC50b2dnbGUoaGlkZUVsZW1lbnRTdHlsZVNoZWV0SWRPckNsYXNzTmFtZSk7Cisg
ICAgICAgIGZ1bmN0aW9uIGluc3BlY3RlZFBhZ2Vfbm9kZV9pbmplY3RTdHlsZUFuZFRvZ2dsZUNs
YXNzKCkgeworICAgICAgICAgICAgbGV0IGhpZGVFbGVtZW50U3R5bGVTaGVldElkT3JDbGFzc05h
bWUgPSAiX19XZWJJbnNwZWN0b3JIaWRlRWxlbWVudF9fIjsKKyAgICAgICAgICAgIGxldCBzdHls
ZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoaWRlRWxlbWVudFN0eWxlU2hlZXRJ
ZE9yQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgIGlmICghc3R5bGVFbGVtZW50KSB7CisgICAgICAg
ICAgICAgICAgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsK
KyAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQuaWQgPSBoaWRlRWxlbWVudFN0eWxlU2hlZXRJ
ZE9yQ2xhc3NOYW1lOworICAgICAgICAgICAgICAgIHN0eWxlRWxlbWVudC50ZXh0Q29udGVudCA9
ICIuIiArIGhpZGVFbGVtZW50U3R5bGVTaGVldElkT3JDbGFzc05hbWUgKyAiIHsgdmlzaWJpbGl0
eTogaGlkZGVuICFpbXBvcnRhbnQ7IH0iOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQu
YXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
b2JqZWN0LmNhbGxGdW5jdGlvbihpbmplY3RTdHlsZUFuZFRvZ2dsZUNsYXNzLCB1bmRlZmluZWQs
IGZhbHNlLCBmdW5jdGlvbigpe30pOwotICAgICAgICAgICAgb2JqZWN0LnJlbGVhc2UoKTsKKyAg
ICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZShoaWRlRWxlbWVudFN0eWxlU2hlZXRJZE9y
Q2xhc3NOYW1lKTsKICAgICAgICAgfQogCi0gICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZl
Tm9kZShlZmZlY3RpdmVOb2RlLCAiIiwgcmVzb2x2ZWROb2RlKTsKKyAgICAgICAgV0kuUmVtb3Rl
T2JqZWN0LnJlc29sdmVOb2RlKGVmZmVjdGl2ZU5vZGUpLnRoZW4oKG9iamVjdCkgPT4geworICAg
ICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbihpbnNwZWN0ZWRQYWdlX25vZGVfaW5qZWN0U3R5
bGVBbmRUb2dnbGVDbGFzcywgdW5kZWZpbmVkLCBmYWxzZSwgKCkgPT4geyB9KTsKKyAgICAgICAg
ICAgIG9iamVjdC5yZWxlYXNlKCk7CisgICAgICAgIH0pOwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBm
NjkyZTg3ZjJhYmRiYjE2NTE0NTZiYjEzOTlkODVhMDUxM2Y0Y2VlLi45NTY1YTExNTY1MzI4ZGI5
MTkyOGI2YTgxNzdlOWY3OWY1NGU3YTRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDkt
MTggIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZSBzaG91bGQgcmV0dXJuIGEgUHJvbWlzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MDQyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFVwZGF0ZWQg
dGVzdHMgdG8gdXNlIHByb21pc2VzIGluc3RlYWQgb2YgY2FsbGJhY2tzLgorCisgICAgICAgICog
aW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWw6CisKIDIwMTctMDktMTggIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zZWN1cmUtY29va2llLXNlY3VyZS1jb25uZWN0aW9uLnBsIGFz
IGEgZmFpbHVyZSBvbiBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RvbS9oaWdobGlnaHROb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hs
aWdodE5vZGUuaHRtbAppbmRleCBkMGQ2YTQ1MzZkZGIwNmJhYWMxMTc2MTlhYTI4OGMzZTY3MmYy
N2M2Li4wNmZiNmQzNTE0MDNmNGVmMzIzMzliYzZlY2E0YjI3YjdlYWNhZmM4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodE5vZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodE5vZGUuaHRtbApAQCAtODIsMTIgKzgyLDEz
IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAiTWFpbkZyYW1lTm9kZVZpYU9iamVj
dElkIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJTaG91bGQgaGlnaGxpZ2h0IGEgbm9kZSBpbiB0
aGUgbWFpbiBmcmFtZSB1c2luZyBvYmplY3QgaWQuIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgICAgICAgIFdJLlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShtYWluRnJh
bWVUYXJnZXROb2RlLCAidGVzdCIsIChyZW1vdGVPYmplY3QpID0+IHsKKyAgICAgICAgICAgIFdJ
LlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShtYWluRnJhbWVUYXJnZXROb2RlLCAidGVzdCIpLnRo
ZW4oKHJlbW90ZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIERPTUFnZW50LmhpZ2hsaWdo
dE5vZGUoaGlnaGxpZ2h0Q29uZmlnLCB1bmRlZmluZWQsIHJlbW90ZU9iamVjdC5vYmplY3RJZCwg
KGVycm9yKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFl
cnJvciwgIlNob3VsZCBub3QgaGF2ZSBhbiBlcnJvci4iKTsKICAgICAgICAgICAgICAgICAgICAg
ZHVtcEhpZ2hsaWdodChyZXNvbHZlKTsKICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwogICAgICAg
ICB9CiAgICAgfSk7CiAKQEAgLTk1LDEyICs5NiwxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAg
ICAgbmFtZTogIkNoaWxkRnJhbWVOb2RlVmlhT2JqZWN0SWQiLAogICAgICAgICBkZXNjcmlwdGlv
bjogIlNob3VsZCBoaWdobGlnaHQgYSBub2RlIGluIHRoZSBjaGlsZCBmcmFtZSB1c2luZyBvYmpl
Y3QgaWQuIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIFdJ
LlJlbW90ZU9iamVjdC5yZXNvbHZlTm9kZShjaGlsZEZyYW1lVGFyZ2V0Tm9kZSwgInRlc3QiLCAo
cmVtb3RlT2JqZWN0KSA9PiB7CisgICAgICAgICAgICBXSS5SZW1vdGVPYmplY3QucmVzb2x2ZU5v
ZGUoY2hpbGRGcmFtZVRhcmdldE5vZGUsICJ0ZXN0IikudGhlbigocmVtb3RlT2JqZWN0KSA9PiB7
CiAgICAgICAgICAgICAgICAgRE9NQWdlbnQuaGlnaGxpZ2h0Tm9kZShoaWdobGlnaHRDb25maWcs
IHVuZGVmaW5lZCwgcmVtb3RlT2JqZWN0Lm9iamVjdElkLCAoZXJyb3IpID0+IHsKICAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5vdCBoYXZl
IGFuIGVycm9yLiIpOwogICAgICAgICAgICAgICAgICAgICBkdW1wSGlnaGxpZ2h0KHJlc29sdmUp
OwogICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KQor
ICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CiAgICAgICAgIH0KICAgICB9KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>