<?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>188717</bug_id>
          
          <creation_ts>2018-08-17 20:14:39 -0700</creation_ts>
          <short_desc>Web Inspector: provide autocompletion for event breakpoints</short_desc>
          <delta_ts>2022-08-31 17:06:40 -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>
          
          <blocked>244643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mattbaker</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1451334</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-17 20:14:39 -0700</bug_when>
    <thetext>Since there are so many different builtin event names, we should have some basic autocompletion when creating an event breakpoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451338</commentid>
    <comment_count>1</comment_count>
      <attachid>347426</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-17 21:03:06 -0700</bug_when>
    <thetext>Created attachment 347426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451339</commentid>
    <comment_count>2</comment_count>
      <attachid>347427</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-17 21:05:10 -0700</bug_when>
    <thetext>Created attachment 347427
[Image] After Patch is applied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451340</commentid>
    <comment_count>3</comment_count>
      <attachid>347426</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-08-17 21:12:23 -0700</bug_when>
    <thetext>Comment on attachment 347426
Patch

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

&gt; Source/JavaScriptCore/inspector/protocol/DOM.json:631
&gt; +            &quot;name&quot;: &quot;eventNamesParsed&quot;,

I don&apos;t understand this name. The backend is not parsing anything. This is really something like:

    supportedEventNames

But see my other comments about why a getSupportedEventNames might be better.

&gt; Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:540
&gt; +    m_frontendDispatcher-&gt;eventNamesParsed(WTFMove(eventNames));

How large is this message normally? I&apos;m wondering if we will want to make this a 1 time request, like:

    getSupportedCSSProperties
    getSupportedSystemFontFamilyNames

My idea for this is if we expand to multiple Target debugging we wouldn&apos;t want to get this large list from each of the backends we connect to if we know they will be the same.

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js:39
&gt; +        this._eventNames = new Set();

Style: Drop the ()s.

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js:50
&gt; +        if (DOMAgent.enable)

You will want to also check `if (window.DOMAgent &amp;&amp; ...)` since this manager is always created in the frontend, but wouldn&apos;t exist for JSContext inspectors.

&gt; Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js:84
&gt; +            let matchRegex = new RegExp(&quot;^&quot; + this._inputElement.value, &quot;i&quot;);

It might be cheaper to `toLowerCase()` and `startsWith(...)` in the loop then constructing a case insensitive regex.

&gt; Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js:87
&gt; +            for (let eventName of WI.domTreeManager.eventNames) {

Likewise we could make the eventNames stored by the DOMTreeManager be all lowercase. This is a Set right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451344</commentid>
    <comment_count>4</comment_count>
      <attachid>347426</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-17 21:51:14 -0700</bug_when>
    <thetext>Comment on attachment 347426
Patch

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

&gt;&gt; Source/JavaScriptCore/inspector/protocol/DOM.json:631
&gt;&gt; +            &quot;name&quot;: &quot;eventNamesParsed&quot;,
&gt; 
&gt; I don&apos;t understand this name. The backend is not parsing anything. This is really something like:
&gt; 
&gt;     supportedEventNames
&gt; 
&gt; But see my other comments about why a getSupportedEventNames might be better.

I wanted to add some sort of verb.  Just having &quot;eventNames&quot; seemed like a bad name for an event.

&gt;&gt; Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:540
&gt;&gt; +    m_frontendDispatcher-&gt;eventNamesParsed(WTFMove(eventNames));
&gt; 
&gt; How large is this message normally? I&apos;m wondering if we will want to make this a 1 time request, like:
&gt; 
&gt;     getSupportedCSSProperties
&gt;     getSupportedSystemFontFamilyNames
&gt; 
&gt; My idea for this is if we expand to multiple Target debugging we wouldn&apos;t want to get this large list from each of the backends we connect to if we know they will be the same.

This is a good point.  I&apos;m seeing 283 different event names, and over 4,000 characters for the whole message.   I think I&apos;ll switch it to getSupportedEventNames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451345</commentid>
    <comment_count>5</comment_count>
      <attachid>347430</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-17 22:17:04 -0700</bug_when>
    <thetext>Created attachment 347430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452210</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-21 12:41:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/43573235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453920</commentid>
    <comment_count>7</comment_count>
      <attachid>347430</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-08-27 09:36:01 -0700</bug_when>
    <thetext>Comment on attachment 347430
Patch

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

r=me with some bikeshedding

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js:543
&gt; +    getSupportedEventNames(callback)

The current approach of bridging a promise to callback doesn&apos;t seem to buy us anything vs. returning this._getSupportedEventNamesPromise.

I would prefer to return the promise, which may be cached from a prior call. The popover / UI class can cache the values it has fetched from the model by unwrapping the promise.

Did you notice any stutter when the completions were initially fetched during a keydown event? I think that&apos;s the only performance gotcha here when using both sync and async callback.

&gt; Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js:91
&gt; +                if (this._currentCompletions.length) {

Nit: reverse the conditions to make the zero completions case use an early return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453941</commentid>
    <comment_count>8</comment_count>
      <attachid>347430</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-27 10:01:18 -0700</bug_when>
    <thetext>Comment on attachment 347430
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js:543
&gt;&gt; +    getSupportedEventNames(callback)
&gt; 
&gt; The current approach of bridging a promise to callback doesn&apos;t seem to buy us anything vs. returning this._getSupportedEventNamesPromise.
&gt; 
&gt; I would prefer to return the promise, which may be cached from a prior call. The popover / UI class can cache the values it has fetched from the model by unwrapping the promise.
&gt; 
&gt; Did you notice any stutter when the completions were initially fetched during a keydown event? I think that&apos;s the only performance gotcha here when using both sync and async callback.

Yeah, this was mainly for performance reasons.  I didn&apos;t notice any stuttering, so it might not be needed.

Personally, I am a fan of these hybridized approaches (see `WI.DOMTreeManager.requestDocument` for another example) as they only provide the async functionality in the rare case.  The main reason I don&apos;t like caching on the UI object is because if we needed this value later in another place, we&apos;d have two copies of the same cached value.  To use the example I already gave, imagine if every caller of `WI.domTreeManager.requestDocument` had to save the document value on their own.  It would be much harder to keep everything in sync.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453987</commentid>
    <comment_count>9</comment_count>
      <attachid>348174</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-08-27 11:18:41 -0700</bug_when>
    <thetext>Created attachment 348174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454010</commentid>
    <comment_count>10</comment_count>
      <attachid>348174</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-27 11:49:49 -0700</bug_when>
    <thetext>Comment on attachment 348174
Patch

Clearing flags on attachment: 348174

Committed r235389: &lt;https://trac.webkit.org/changeset/235389&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454011</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-27 11:49:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347426</attachid>
            <date>2018-08-17 21:03:06 -0700</date>
            <delta_ts>2018-08-17 22:17:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188717-20180817210305.patch</filename>
            <type>text/plain</type>
            <size>15030</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ4YTZhYWU0OThhODk1ZDg5NmFhNTUwM2VkMmEw
ZGE5YWEwOTMwMjIuLmE4YzRhMTJmOTg5NjEzMTg1ZjRjZTI4NjFlYzY2OWFkNjA3MzBmYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTA4LTE3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm92aWRlIGF1dG9jb21wbGV0aW9uIGZvciBldmVudCBicmVha3BvaW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wv
RE9NLmpzb246CisgICAgICAgIEFkZCBgZW5hYmxlZGAgY29tbWFuZCBhbmQgYGV2ZW50TmFtZXNQ
YXJzZWRgIGV2ZW50LgorCiAyMDE4LTA4LTE3ICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtp
QHNsb3dzdGFydC5vcmc+IGFuZCBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnku
Y29tPgogCiAgICAgICAgIFtKU0NdIEFkZCBHUFJSZWc6OkludmFsaWRHUFJSZWcgYW5kIEZQUlJl
Zzo6SW52YWxpZEZQUlJlZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQwYTIxYTVkMzlmY2Q5MzU5MjU0YzExMjJj
Y2RhZDhjMGMzMDIxYzQuLmZhOTEyY2JmZjJhODAzODY2OGRlOGY4OThjNTY0ODFkNjJhNGVjNjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOC0wOC0xNyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcHJvdmlkZSBhdXRv
Y29tcGxldGlvbiBmb3IgZXZlbnQgYnJlYWtwb2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODcxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kb20vZXZlbnROYW1lc1Bh
cnNlZC5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZW5hYmxlKTogQWRkZWQuCisgICAg
ICAgIFNlbmQgYW4gYXJyYXkgb2YgYWxsIHRoZSBidWlsdGluIERPTSBldmVudCBuYW1lcyB0byB0
aGUgV2ViSW5zcGVjdG9yIGZyb250ZW5kIHdoZW4gZW5hYmxlZC4KKwogMjAxOC0wOC0xNiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXBsYWNlIGNhbkJ1YmJs
ZSBhbmQgY2FuY2VsYWJsZSBib29sZWFucyBpbiBFdmVudCBieSBlbnVtIGNsYXNzZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFkMGE2MjYxNzYxMDU3ODEwYTM4Y2NkMjE2YWMzMDA3YThk
OGNlN2EuLmQ3MjJiZDllZjgxOTM3ZGIzNDM5NTI3MWE0YzJhNjgyNDFiMjU3OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTA4LTE3ICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm92aWRl
IGF1dG9jb21wbGV0aW9uIGZvciBldmVudCBicmVha3BvaW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgYERPTS5lbmFibGVgIGNvbW1hbmQg
dGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgYFdJLkRPTVRyZWVNYW5hZ2VyYCBpcyBjcmVhdGVkLiAg
VGhpcworICAgICAgICBjb21tYW5kIGNhdXNlcyB0aGUgYmFja2VuZCB0byBmaXJlIGBET00uZXZl
bnROYW1lc1BhcnNlZGAsIHdoaWNoIHNlbmRzIGFuIGFycmF5IG9mIGFsbCB0aGUKKyAgICAgICAg
YnVpbHRpbiBET00gZXZlbnQgbmFtZXMgdG8gdGhlIGBXSS5ET01UcmVlTWFuYWdlcmAsIHdoaWNo
IGNhbiB0aGVuIGJlIHVzZWQgZm9yIGF1dG9jb21wbGV0aW9uLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9ET01PYnNlcnZlci5qczoKKyAgICAgICAgKFdJLkRPTU9ic2VydmVy
LnByb3RvdHlwZS5ldmVudE5hbWVzUGFyc2VkKTogQWRkZWQuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuRE9NVHJl
ZU1hbmFnZXIpOgorICAgICAgICAoV0kuRE9NVHJlZU1hbmFnZXIucHJvdG90eXBlLmdldCBldmVu
dE5hbWVzKTogQWRkZWQuCisgICAgICAgIChXSS5ET01UcmVlTWFuYWdlci5wcm90b3R5cGUuZXZl
bnROYW1lc1BhcnNlZCk6IEFkZGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9F
dmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzOgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50UG9w
b3Zlcik6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5zaG93
KToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIucHJvdG90eXBlLmRpc21pc3Mp
OiBBZGRlZC4KKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIucHJvdG90eXBlLmNv
bXBsZXRpb25TdWdnZXN0aW9uc0NsaWNrZWRDb21wbGV0aW9uKTogQWRkZWQuCisgICAgICAgIChX
SS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5fcHJlc2VudE92ZXJUYXJnZXRFbGVt
ZW50KToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIucHJvdG90eXBlLl9zaG93
U3VnZ2VzdGlvbnNWaWV3KTogQWRkZWQuCisKIDIwMTgtMDgtMTYgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHN1cHBvcnQgYnJlYWtw
b2ludHMgZm9yIGFyYml0cmFyeSBldmVudCBuYW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KaW5kZXggYmRkOTg4ZDgxMzI1ZTVjYzQ1
Yjk1NTQxNTdmNTY4NDk4YzNhZTYwZS4uMDI4ZTU0OTEwMzZiZjZkZGUzYmY0MmIxMTZiNWIyZTdl
NjlkOTc3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90
b2NvbC9ET00uanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTS5qc29uCkBAIC0xNjUsNiArMTY1LDkgQEAKICAgICAgICAgfQogICAgIF0sCiAgICAg
ImNvbW1hbmRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiCisg
ICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImdldERvY3VtZW50IiwK
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSByb290IERPTSBub2RlIHRv
IHRoZSBjYWxsZXIuIiwKQEAgLTYyNCw2ICs2MjcsMTMgQEAKICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInBzZXVkb0VsZW1lbnRJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6
ICJUaGUgcmVtb3ZlZCBwc2V1ZG8gZWxlbWVudCBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAg
ICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZXZlbnROYW1lc1BhcnNlZCIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhlIGxpc3Qgb2YgYnVpbHRpbiBldmVudCBu
YW1lcyBoYXMgYmVlbiBwYXJzZWQgYnkgdGhlIGJhY2tlbmQuIiwKKyAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lcyIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJpbmciIH0gfQorICAgICAgICAgICAg
XQorICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJkaWRBZGRFdmVu
dExpc3RlbmVyIiwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDYWxsZWQgd2hlbiBhbiBl
dmVudCBsaXN0ZW5lciBpcyBhZGRlZCB0byBhIG5vZGUuIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggOTg2OWI2
Mzg3MWFhMTRkMDk3YTQ5ZWJmN2UwNmM5NTU3MTVkMzlmMS4uMWM1MzQzM2Y2NzIyZGYyYjljNzJh
ZGZiZDIxNTYwN2Y1OWNiNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNs
dWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTUyOCw2ICs1
MjksMTcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVxdWVzdENoaWxkTm9kZXMoRXJyb3JT
dHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLAogICAgIHB1c2hDaGlsZE5vZGVzVG9Gcm9u
dGVuZChub2RlSWQsIHNhbml0aXplZERlcHRoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6ZW5hYmxlKEVycm9yU3RyaW5nJikKK3sKKyAgICBhdXRvIGV2ZW50TmFtZXMgPSBKU09OOjpB
cnJheU9mPFN0cmluZz46OmNyZWF0ZSgpOworCisjZGVmaW5lIERPTV9FVkVOVF9OQU1FU19BREQo
bmFtZSkgZXZlbnROYW1lcy0+YWRkSXRlbSgjbmFtZSk7CisgICAgRE9NX0VWRU5UX05BTUVTX0ZP
Ul9FQUNIKERPTV9FVkVOVF9OQU1FU19BREQpCisjdW5kZWYgRE9NX0VWRU5UX05BTUVTX0FERAor
CisgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmV2ZW50TmFtZXNQYXJzZWQoV1RGTW92ZShldmVu
dE5hbWVzKSk7Cit9CisKIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnF1ZXJ5U2VsZWN0b3IoRXJy
b3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcmIHNlbGVjdG9y
cywgaW50KiBlbGVtZW50SWQpCiB7CiAgICAgKmVsZW1lbnRJZCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggODli
ZDlkMTgzMmI1OTE5OWMyNjFiODFjNWMzNWYxYTgyMjhiYTBiOS4uOTU2MjczZjEzYzEwMmJmNDI1
Mjg4YWFjNWU1MWU4NTgzZTFkNDA4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTEwLDYgKzExMCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlc2V0KCk7CiAKICAgICAvLyBNZXRob2RzIGNhbGxlZCBmcm9tIHRoZSBm
cm9udGVuZCBmb3IgRE9NIG5vZGVzIGluc3BlY3Rpb24uCisgICAgdm9pZCBlbmFibGUoRXJyb3JT
dHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHF1ZXJ5U2VsZWN0b3IoRXJyb3JTdHJpbmcmLCBpbnQg
bm9kZUlkLCBjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgaW50KiBlbGVtZW50SWQpIG92ZXJyaWRl
OwogICAgIHZvaWQgcXVlcnlTZWxlY3RvckFsbChFcnJvclN0cmluZyYsIGludCBub2RlSWQsIGNv
bnN0IFN0cmluZyYgc2VsZWN0b3JzLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxpbnQ+PiYgcmVzdWx0
KSBvdmVycmlkZTsKICAgICB2b2lkIGdldERvY3VtZW50KEVycm9yU3RyaW5nJiwgUmVmUHRyPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkRPTTo6Tm9kZT4mIHJvb3QpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJl
ZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9ET01UcmVlTWFuYWdlci5qcwppbmRleCBkYzU2ZjkzOTQwOWJhNjE5ODNmMTU3MmNjZGFm
MTY4ZGZmMGQ3MzA2Li4zNjFkNzFjODdkNzkwM2M4NGU4MzQxMzdmZmE5MDFlYjAwYzIxNDM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9ET01UcmVlTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcwpAQCAtMzYsNiArMzYsOCBAQCBXSS5E
T01UcmVlTWFuYWdlciA9IGNsYXNzIERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAg
ICAgewogICAgICAgICBzdXBlcigpOwogCisgICAgICAgIHRoaXMuX2V2ZW50TmFtZXMgPSBuZXcg
U2V0KCk7CisKICAgICAgICAgdGhpcy5faWRUb0RPTU5vZGUgPSB7fTsKICAgICAgICAgdGhpcy5f
ZG9jdW1lbnQgPSBudWxsOwogICAgICAgICB0aGlzLl9hdHRyaWJ1dGVMb2FkTm9kZUlkcyA9IHt9
OwpAQCAtNDQsMTAgKzQ2LDE1IEBAIFdJLkRPTVRyZWVNYW5hZ2VyID0gY2xhc3MgRE9NVHJlZU1h
bmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5faW5zcGVjdGVkTm9kZSA9IG51
bGw7CiAKICAgICAgICAgV0kuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihXSS5GcmFtZS5FdmVudC5N
YWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7
CisKKyAgICAgICAgaWYgKERPTUFnZW50LmVuYWJsZSkKKyAgICAgICAgICAgIERPTUFnZW50LmVu
YWJsZSgpOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwogCisgICAgZ2V0IGV2ZW50TmFtZXMoKSB7
IHJldHVybiB0aGlzLl9ldmVudE5hbWVzOyB9CisKICAgICByZXF1ZXN0RG9jdW1lbnQoY2FsbGJh
Y2spCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnQpIHsKQEAgLTkxLDYgKzk4LDEz
IEBAIFdJLkRPTVRyZWVNYW5hZ2VyID0gY2xhc3MgRE9NVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKICAgICAgICAgdGhpcy5fZGlzcGF0Y2hXaGVuRG9jdW1lbnRBdmFpbGFibGUoRE9NQWdl
bnQucHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kLmJpbmQoRE9NQWdlbnQsIHBhdGgpLCBjYWxsYmFj
ayk7CiAgICAgfQogCisgICAgZXZlbnROYW1lc1BhcnNlZChldmVudE5hbWVzKQorICAgIHsKKyAg
ICAgICAgLy8gQ2FsbGVkIGZyb20gV0kuRE9NT2JzZXJ2ZXIuCisKKyAgICAgICAgdGhpcy5fZXZl
bnROYW1lcyA9IG5ldyBTZXQoZXZlbnROYW1lcyk7CisgICAgfQorCiAgICAgZGlkQWRkRXZlbnRM
aXN0ZW5lcihub2RlSWQpCiAgICAgewogICAgICAgICAvLyBDYWxsZWQgZnJvbSBXSS5ET01PYnNl
cnZlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1By
b3RvY29sL0RPTU9ic2VydmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvRE9NT2JzZXJ2ZXIuanMKaW5kZXggMDZjNzg2ZDVkZWJlOGI1NTNjMGM1NzQ0
ZGI1M2YwNmFhNTQ1YTI2YS4uMmFlMzcyNzI0OWE5OGZlOTc3MzZiMzAxNGU0ODE0ODY5ZmUxZmQ1
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvRE9NT2JzZXJ2ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvUHJvdG9jb2wvRE9NT2JzZXJ2ZXIuanMKQEAgLTEwMiw2ICsxMDIsMTEgQEAgV0kuRE9NT2Jz
ZXJ2ZXIgPSBjbGFzcyBET01PYnNlcnZlcgogICAgICAgICBXSS5kb21UcmVlTWFuYWdlci5fcHNl
dWRvRWxlbWVudFJlbW92ZWQocGFyZW50Tm9kZUlkLCBwc2V1ZG9FbGVtZW50SWQpOwogICAgIH0K
IAorICAgIGV2ZW50TmFtZXNQYXJzZWQoZXZlbnROYW1lcykKKyAgICB7CisgICAgICAgIFdJLmRv
bVRyZWVNYW5hZ2VyLmV2ZW50TmFtZXNQYXJzZWQoZXZlbnROYW1lcyk7CisgICAgfQorCiAgICAg
ZGlkQWRkRXZlbnRMaXN0ZW5lcihub2RlSWQpCiAgICAgewogICAgICAgICBXSS5kb21UcmVlTWFu
YWdlci5kaWRBZGRFdmVudExpc3RlbmVyKG5vZGVJZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3Bv
aW50UG9wb3Zlci5qcwppbmRleCA1Zjc1YjUxM2QzZDZiMWY0YzBkZWE5YjI5Njk5ZGJkYmUxODll
MDY5Li4xMjEzMjI3MGVhMDc5OGFkZTI0NjIyNGNkNWIxNmFiOGQ4OTdmNDdmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9p
bnRQb3BvdmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0V2ZW50QnJlYWtwb2ludFBvcG92ZXIuanMKQEAgLTMyLDcgKzMyLDkgQEAgV0kuRXZlbnRC
cmVha3BvaW50UG9wb3ZlciA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludFBvcG92ZXIgZXh0ZW5kcyBX
SS5Qb3BvdmVyCiAgICAgICAgIHRoaXMuX3Jlc3VsdCA9IFdJLklucHV0UG9wb3Zlci5SZXN1bHQu
Tm9uZTsKICAgICAgICAgdGhpcy5fdmFsdWUgPSBudWxsOwogCi0gICAgICAgIHRoaXMuX2NvZGVN
aXJyb3IgPSBudWxsOworICAgICAgICB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMgPSBbXTsKKyAg
ICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3ID0gbmV3IFdJLkNvbXBsZXRpb25TdWdnZXN0aW9u
c1ZpZXcodGhpcywge3ByZXZlbnRCbHVyOiB0cnVlfSk7CisKICAgICAgICAgdGhpcy5fdGFyZ2V0
RWxlbWVudCA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ByZWZlcnJlZEVkZ2VzID0gbnVsbDsKIApA
QCAtNjAsMTMgKzYyLDM4IEBAIFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBjbGFzcyBFdmVu
dEJyZWFrcG9pbnRQb3BvdmVyIGV4dGVuZHMgV0kuUG9wb3ZlcgogICAgICAgICB0aGlzLl9pbnB1
dEVsZW1lbnQucGxhY2Vob2xkZXIgPSAiY2xpY2siOwogICAgICAgICB0aGlzLl9pbnB1dEVsZW1l
bnQuc3BlbGxjaGVjayA9IGZhbHNlOwogICAgICAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigia2V5ZG93biIsIChldmVudCkgPT4gewotICAgICAgICAgICAgaWYgKCFpc0Vu
dGVyS2V5KGV2ZW50KSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIHRo
aXMuX3Jlc3VsdCA9IFdJLklucHV0UG9wb3Zlci5SZXN1bHQuQ29tbWl0dGVkOwotICAgICAgICAg
ICAgdGhpcy5fdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpOwotCi0gICAgICAgICAg
ICB0aGlzLmRpc21pc3MoKTsKKyAgICAgICAgICAgIGlmIChpc0VudGVyS2V5KGV2ZW50KSB8fCBl
dmVudC5rZXkgPT09ICJUYWIiKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fcmVzdWx0ID0gV0ku
SW5wdXRQb3BvdmVyLlJlc3VsdC5Db21taXR0ZWQ7CisKKyAgICAgICAgICAgICAgICBpZiAodGhp
cy5fc3VnZ2VzdGlvbnNWaWV3LnZpc2libGUgJiYgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnNlbGVj
dGVkSW5kZXggPCB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMubGVuZ3RoKQorICAgICAgICAgICAg
ICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2N1cnJlbnRDb21wbGV0aW9uc1t0aGlzLl9zdWdn
ZXN0aW9uc1ZpZXcuc2VsZWN0ZWRJbmRleF07CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZTsKKwor
ICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzcygpOworICAgICAgICAgICAgfSBlbHNlIGlmICgo
ZXZlbnQua2V5ID09PSAiQXJyb3dVcCIgfHwgZXZlbnQua2V5ID09PSAiQXJyb3dEb3duIikgJiYg
dGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnZpc2libGUpIHsKKyAgICAgICAgICAgICAgICBldmVudC5z
dG9wKCk7CisKKyAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAiQXJyb3dEb3duIikK
KyAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnNlbGVjdE5leHQoKTsK
KyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rp
b25zVmlldy5zZWxlY3RQcmV2aW91cygpOworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAg
ICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgKGV2ZW50
KSA9PiB7CisgICAgICAgICAgICBsZXQgbWF0Y2hSZWdleCA9IG5ldyBSZWdFeHAoIl4iICsgdGhp
cy5faW5wdXRFbGVtZW50LnZhbHVlLCAiaSIpOworCisgICAgICAgICAgICB0aGlzLl9jdXJyZW50
Q29tcGxldGlvbnMgPSBbXTsKKyAgICAgICAgICAgIGZvciAobGV0IGV2ZW50TmFtZSBvZiBXSS5k
b21UcmVlTWFuYWdlci5ldmVudE5hbWVzKSB7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoUmVn
ZXgudGVzdChldmVudE5hbWUpKQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50Q29t
cGxldGlvbnMucHVzaChldmVudE5hbWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAodGhpcy5fY3VycmVudENvbXBsZXRpb25zLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHRo
aXMuX3N1Z2dlc3Rpb25zVmlldy51cGRhdGUodGhpcy5fY3VycmVudENvbXBsZXRpb25zKTsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9zaG93U3VnZ2VzdGlvbnNWaWV3KCk7CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcuaGlkZSgpOwogICAg
ICAgICB9KTsKIAogICAgICAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50RWxlbWVudDsKQEAgLTc0
LDYgKzEwMSwyMyBAQCBXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVh
a3BvaW50UG9wb3ZlciBleHRlbmRzIFdJLlBvcG92ZXIKICAgICAgICAgdGhpcy5fcHJlc2VudE92
ZXJUYXJnZXRFbGVtZW50KCk7CiAgICAgfQogCisgICAgZGlzbWlzcygpCisgICAgeworICAgICAg
ICBzdXBlci5kaXNtaXNzKCk7CisKKyAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LmhpZGUo
KTsKKyAgICB9CisKKyAgICAvLyBDb21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3IGRlbGVnYXRlCisK
KyAgICBjb21wbGV0aW9uU3VnZ2VzdGlvbnNDbGlja2VkQ29tcGxldGlvbihzdWdnZXN0aW9uc1Zp
ZXcsIHNlbGVjdGVkVGV4dCkKKyAgICB7CisgICAgICAgIHRoaXMuX3Jlc3VsdCA9IFdJLklucHV0
UG9wb3Zlci5SZXN1bHQuQ29tbWl0dGVkOworICAgICAgICB0aGlzLl92YWx1ZSA9IHNlbGVjdGVk
VGV4dDsKKworICAgICAgICB0aGlzLmRpc21pc3MoKTsKKyAgICB9CisKICAgICAvLyBQcml2YXRl
CiAKICAgICBfcHJlc2VudE92ZXJUYXJnZXRFbGVtZW50KCkKQEAgLTg0LDYgKzEyOCwxNCBAQCBX
SS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVha3BvaW50UG9wb3ZlciBl
eHRlbmRzIFdJLlBvcG92ZXIKICAgICAgICAgbGV0IHRhcmdldEZyYW1lID0gV0kuUmVjdC5yZWN0
RnJvbUNsaWVudFJlY3QodGhpcy5fdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KSk7CiAgICAgICAgIHRoaXMucHJlc2VudCh0YXJnZXRGcmFtZSwgdGhpcy5fcHJlZmVycmVkRWRn
ZXMpOwogCi0gICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5zZWxlY3QoKTsKKyAgICAgICAgdGhp
cy5faW5wdXRFbGVtZW50LmZvY3VzKCk7CisKKyAgICAgICAgaWYgKHRoaXMuX2lucHV0RWxlbWVu
dC52YWx1ZSkKKyAgICAgICAgICAgIHRoaXMuX3Nob3dTdWdnZXN0aW9uc1ZpZXcoKTsKICAgICB9
CisKKyAgICAgX3Nob3dTdWdnZXN0aW9uc1ZpZXcoKQorICAgICB7CisgICAgICAgIHRoaXMuX3N1
Z2dlc3Rpb25zVmlldy5zaG93KFdJLlJlY3QucmVjdEZyb21DbGllbnRSZWN0KHRoaXMuX2lucHV0
RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkpOworICAgICB9CiB9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEw
NmI0ZmJhNmY3YjEwNDY0YTUxYjAzNjU0OTA1MDllODYwNDA4MDUuLmNmMDM5YmU0ZTFmZDZiZDNm
NjUwMTFhZTkyMTk3YzhhZGY4MDY4MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wOC0x
NyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogcHJvdmlkZSBhdXRvY29tcGxldGlvbiBmb3IgZXZlbnQgYnJlYWtwb2ludHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODcxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Rv
bS9ldmVudE5hbWVzUGFyc2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yL2RvbS9ldmVudE5hbWVzUGFyc2VkLmh0bWw6IEFkZGVkLgorCiAyMDE4LTA4LTE3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrZWQgaW5zcGVjdG9y
L2RvbS1kZWJ1Z2dlci9ldmVudC1icmVha3BvaW50LXdpdGgtbmF2aWdhdGlvbi5odG1sIGFzIGZs
YWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9ldmVudE5hbWVzUGFy
c2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZXZlbnROYW1lc1Bh
cnNlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNiODc3MWE1MGMxYTQyYjc5MjlhODBhYmY0
MmIxYWUwZjdhMjE4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
b20vZXZlbnROYW1lc1BhcnNlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitQQVNTOiBT
aG91bGQgaGF2ZSByZWNpZXZlZCBhdCBsZWFzdCB0d28gZXZlbnQgbmFtZXMuCitQQVNTOiBTaG91
bGQgaGF2ZSByZWNpZXZlZCB0aGUgImNsaWNrIiBldmVudCBuYW1lLgorUEFTUzogU2hvdWxkIGhh
dmUgcmVjaWV2ZWQgdGhlICJsb2FkIiBldmVudCBuYW1lLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZG9tL2V2ZW50TmFtZXNQYXJzZWQuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20vZXZlbnROYW1lc1BhcnNlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmZDllNjk0NjAy
YzkzNWNlZGY0ZTNiYjhlZDM2Yjg3OTNjZTFlM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZG9tL2V2ZW50TmFtZXNQYXJzZWQuaHRtbApAQCAtMCwwICsxLDI4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclByb3RvY29sLmF3YWl0
RXZlbnQoe2V2ZW50OiAiRE9NLmV2ZW50TmFtZXNQYXJzZWQifSkKKyAgICAudGhlbigobWVzc2Fn
ZU9iamVjdCkgPT4geworICAgICAgICBpZiAoImVycm9yIiBpbiBtZXNzYWdlT2JqZWN0KQorICAg
ICAgICAgICAgUHJvdG9jb2xUZXN0LmxvZyhtZXNzYWdlT2JqZWN0LmVycm9yLm1lc3NhZ2UpOwor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGxldCBldmVudE5hbWVzID0gbWVzc2FnZU9iamVj
dC5wYXJhbXMuZXZlbnROYW1lczsKKyAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RHcmVh
dGVyVGhhbihldmVudE5hbWVzLmxlbmd0aCwgMiwgIlNob3VsZCBoYXZlIHJlY2lldmVkIGF0IGxl
YXN0IHR3byBldmVudCBuYW1lcy4iKTsKKyAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RU
aGF0KGV2ZW50TmFtZXMuaW5jbHVkZXMoImNsaWNrIiksICJTaG91bGQgaGF2ZSByZWNpZXZlZCB0
aGUgXCJjbGlja1wiIGV2ZW50IG5hbWUuIik7CisgICAgICAgICAgICBQcm90b2NvbFRlc3QuZXhw
ZWN0VGhhdChldmVudE5hbWVzLmluY2x1ZGVzKCJsb2FkIiksICJTaG91bGQgaGF2ZSByZWNpZXZl
ZCB0aGUgXCJsb2FkXCIgZXZlbnQgbmFtZS4iKTsKKyAgICAgICAgfQorCisgICAgICAgIFByb3Rv
Y29sVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9KTsKKworICAgIEluc3BlY3RvclByb3RvY29s
LnNlbmRDb21tYW5kKCJET00uZW5hYmxlIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>347427</attachid>
            <date>2018-08-17 21:05:10 -0700</date>
            <delta_ts>2018-08-17 21:05:10 -0700</delta_ts>
            <desc>[Image] After Patch is applied</desc>
            <filename>Screen Shot 2018-08-17 at 19.57.39.png</filename>
            <type>image/png</type>
            <size>38552</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">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
cXjr6OSY5vidY4vjUydTJ55TiVOj011nunOI8wzneudrLkQXtkuey3qXy66oq4+r2LXW9ZIb6ubr
JnFb79Y5kjDSf6R0ZP3Im+40d457kXuj+4NRzFGxo0pHtYx6Ptp+dMboFaPPjP7s4eOR77HF446n
oec4z1LPNs+XXq5eAq9ar2vedO9I7/nerd4vxriNEY3ZMOaWD8NnvM93Pu0+n3z9fOW+Tb49fvZ+
mX51fjfZRuwE9hL2WX+Cf5j/fP9D/u8DfAMKA/YG/BnoHpgXuCPw6VinsaKxW8Y+CrIN4gdtCuoK
ZgVnBv8Q3BViE8IPqQ95GGoXKgzdGvqE48LJ5ezkPA/zCJOHHQh7yw3gzuUeC8fCo8IrwjsiDCNS
Imoi7kfaRuZENkb2RflEzY46Fk2IjoleEX2TZ8kT8Bp4feP8xs0ddzKGFpMUUxPzMNY1Vh7bNh4d
P278qvF34xzipHEt8SCeF78q/l6CU8KMhJ8nECckTKid8DjRM3FO4pkkRtK0pB1Jb5LDkpcl30lx
TlGmtKfqpU5ObUh9mxaetjKta+LoiXMnXkg3T5ekt2aQMlIztmb0T4qYtGZS92SfyeWTb0xxmlI8
5dxU86n5Uw9P05vGn7Yvk5CZlrkj8yM/nl/P78/iZdVl9Qm4grWCZ8JQ4WphjyhItFL0JDsoe2X2
05ygnFU5PeIQcZW4V8KV1Ehe5Ebnbsx9mxefty1vMD8tf3cBuSCz4KDUUJonPTndanrx9E6Zm6xc
1jUjYMaaGX3yGPlWBaKYomgtNIIH9otKZ+W3ygdFwUW1Re9mps7cV2xQLC2+OMt11uJZT0oiS36c
jc8WzG6fYzNn4ZwHczlzN81D5mXNa59vN79sfveCqAXbF1IX5i38pdSjdGXp62/SvmkrsyxbUPbo
26hvG8t1y+XlN78L/G7jInyRZFHHYu/F6xZ/rhBWnK/0qKyq/LhEsOT8957fV38/uDR7accy32Ub
lhOXS5ffWBGyYvtKg5UlKx+tGr+qeTVrdcXq12umrTlXNaZq41rqWuXarurY6tZ19uuWr/tYI665
XhtWu7vOom5x3dv1wvVXNoRuaNpoubFy44cfJD/c2hS1qbnesb5qM3Fz0ebHW1K3nPmR/WPDVvOt
lVs/bZNu69qeuP1kg19Dww6LHcsa0UZlY8/OyTsv7wrf1drk3rRpN3N35R6wR7nn958yf7qxN2Zv
+z72vqb9DvvrDjAOVDQjzbOa+1rELV2t6a2dB8cdbG8LbDvw86iftx2yOVR72PjwsiPUI2VHBo+W
HO0/JjvWezzn+KP2ae13Tkw8ce3khJMdp2JOnT0defrEGc6Zo2eDzh46F3Du4Hn2+ZYLvheaL/pc
PPCLzy8HOnw7mi/5XWq97H+5rXNs55ErIVeOXw2/evoa79qF63HXO2+k3Lh1c/LNrlvCW09v599+
8WvRrwN3Ftwl3K24p3+v6r7F/fp/ufxrd5dv1+EH4Q8uPkx6eOeR4NGz3xS/fewue0x/XPXE+knD
U6+nh3oiey7/Pun37meyZwO95X8Y/FH33Pn5/j9D/7zYN7Gv+4X8xeDLJa/MXm17PeZ1e39C//03
BW8G3la8M3u3/T37/ZkPaR+eDMz8SPpY/cnlU9vnmM93BwsGB2V8OV99FMBgQ7OzAXi5DQB6OgCM
y/D8MElzz1MLormbqhH4T1hzF1SLLwBNsFMd17nHANgDm+MCyB0KgOqonhwKUG/v4aYVRba3l4aL
Bm88hHeDg68sASC1AfBJPjg4sH5w8NMWGOxtAI7N0NwvVUKEd4MfQlXouqlwAfhK/g1s939+Z/i7
3gAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAZ1pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4Onht
cG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4K
ICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1z
eW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAg
ICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8
ZXhpZjpQaXhlbFhEaW1lbnNpb24+NTUyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAg
PGV4aWY6UGl4ZWxZRGltZW5zaW9uPjMxNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwv
cmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgqRcV3yAAAAHGlET1QA
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
IhA3BJSgxK1FtDwljYASlJJuPi28IqAIxAgBJSgxagwtSukjoASl9NtQa6AIKALxQEAJSjzaQUtR
JggoQSmThtRqKAKKQNERUIJS9CbQApQTAkpQyqk1tS6KgCJQTARKjqAMGzbsn2ICpvdWBFIhAEHh
w1Z//fWXWbRokWnYsKFNvt1226W6TM8pAoqAIqAIeAiUHEGZP3++EhSvEXU3PgioBiU+baElUQQU
gdJGQAlKabeflj5mCChBiVmDaHEUAUWgZBFQglKyTacFjyMCSlCyb5UXXnjBfPfdd6Z79+5mgw02
yD4DvaJiEfjyyy9N//79zTbbbGP23HPPjHH45ptvzIgRI8waa6xh9t5774yv04SFRUAJSmHx1ruV
OQLFICjffvutOfbYYwORXWWVVUzjxo3NfvvtZ1q3bh2YptgHd955ZzN58mTz+OOPm912263YxdH7
lxACJ510knniiSfMsssuaz799FOz8sorZ1T60aNHmwMOOMBsscUWZvz48Rldo4kKj4ASlMJjrncs
YwSKQVDomDt27JgS1Tp16pizzz7bnHfeeSnTFeOkEpRioJ76ntdee61BswUBOOigg1InLuLZe++9
1z7Tm266qZkwYYJZaqmlbGl++OEH07NnT1O/fn3zyiuv1CihEpQakMTygBKUWDaLFqpUESg2QXnp
pZfsbBL8FixYYDtnVNmff/65gaS8+OKLZuutt44VvEpQYtUctjCimbjooovMGWecEb8COiX6/vvv
bbRc3bp1E0e//vprqzFcZpllDOd9UYLiIxLPfSUo8WwXLVWJIlBsgoIvB+puVxYuXGg1LHPmzLGz
zXPOOcc9XWP7jz/+MPXq1atxnANLliyxs1TITiZCyDWYLL300qHJoyQof//9t3EHrtBCeCeoZ6oy
e8lDd7PFKzSjkBO55p+uftkQlFwxDqlSXg7nSlDyWZds82JpAghVNpLqHqnOBd0j2/RBeeT7mBKU
fCOq+VU0AsUmKJCQIHJx2GGHmao1hMwpp5xi+vXrl2gjHAvnzp1rnn76aetsOGbMGPPZZ58ZVPzH
HHOMTffnn3+aG2+80TDrnDZtmiVALVu2NEceeWSggyGam7vvvts899xz5quvvrIEBefXPfbYw5x+
+uk1/ATCCMr06dPNcccdZ37//XfTp08fW/ZEwVNsvP/+++b66683H374oZk9e7ZZd911TatWrcy5
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
p5V4xj4+V6AAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347430</attachid>
            <date>2018-08-17 22:17:04 -0700</date>
            <delta_ts>2018-08-27 11:18:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188717-20180817221703.patch</filename>
            <type>text/plain</type>
            <size>14227</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQ4YTZhYWU0OThhODk1ZDg5NmFhNTUwM2VkMmEw
ZGE5YWEwOTMwMjIuLjE2YWEwMGIzNGUxNDA4OWQxMmYxOWIwMmQ4MjAyODJiM2E0MTZiMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTA4LTE3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm92aWRlIGF1dG9jb21wbGV0aW9uIGZvciBldmVudCBicmVha3BvaW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wv
RE9NLmpzb246CisgICAgICAgIEFkZCBgZ2V0U3VwcG9ydGVkRXZlbnROYW1lc2AgY29tbWFuZC4K
KwogMjAxOC0wOC0xNyAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3Jn
PiBhbmQgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAg
ICBbSlNDXSBBZGQgR1BSUmVnOjpJbnZhbGlkR1BSUmVnIGFuZCBGUFJSZWc6OkludmFsaWRGUFJS
ZWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0MGEyMWE1ZDM5ZmNkOTM1OTI1NGMxMTIyY2NkYWQ4YzBjMzAyMWM0
Li4zOWY5ZjU4ODZmYTQyNGNmNWE0YzIwODYwNDI1ZTRkZmIzYTJlMzBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTgtMDgtMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgYXV0b2NvbXBsZXRpb24gZm9y
IGV2ZW50IGJyZWFrcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODg3MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBpbnNwZWN0b3IvZG9tL2dldFN1cHBvcnRlZEV2ZW50TmFtZXMuaHRt
bAorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmdldFN1cHBvcnRlZEV2ZW50TmFtZXMpOiBBZGRl
ZC4KKwogMjAxOC0wOC0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXBsYWNlIGNhbkJ1YmJsZSBhbmQgY2FuY2VsYWJsZSBib29sZWFucyBpbiBFdmVudCBi
eSBlbnVtIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFkMGE2MjYxNzYxMDU3
ODEwYTM4Y2NkMjE2YWMzMDA3YThkOGNlN2EuLjVlNmJkNjIzZGYyNzk2YjM3MzFiYTUzMTg4YzU3
YjE5ZDgyMmJiNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisy
MDE4LTA4LTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBwcm92aWRlIGF1dG9jb21wbGV0aW9uIGZvciBldmVudCBicmVha3BvaW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuRE9N
VHJlZU1hbmFnZXIpOgorICAgICAgICAoV0kuRE9NVHJlZU1hbmFnZXIucHJvdG90eXBlLmdldFN1
cHBvcnRlZEV2ZW50TmFtZXMpOiBBZGRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5qczoKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2lu
dFBvcG92ZXIpOgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50UG9wb3Zlci5wcm90b3R5cGUu
c2hvdyk6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5kaXNt
aXNzKTogQWRkZWQuCisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlw
ZS5jb21wbGV0aW9uU3VnZ2VzdGlvbnNDbGlja2VkQ29tcGxldGlvbik6IEFkZGVkLgorICAgICAg
ICAoV0kuRXZlbnRCcmVha3BvaW50UG9wb3Zlci5wcm90b3R5cGUuX3ByZXNlbnRPdmVyVGFyZ2V0
RWxlbWVudCk6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5f
c2hvd1N1Z2dlc3Rpb25zVmlldyk6IEFkZGVkLgorCiAyMDE4LTA4LTE2ICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzdXBwb3J0IGJy
ZWFrcG9pbnRzIGZvciBhcmJpdHJhcnkgZXZlbnQgbmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCmluZGV4IGJkZDk4OGQ4MTMyNWU1
Y2M0NWI5NTU0MTU3ZjU2ODQ5OGMzYWU2MGUuLjkwMTFjYzkwNTRjMDUwMDhlYWYyYWJjMTY5YzQw
NDdiY2ZiNDc5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cHJvdG9jb2wvRE9NLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9ET00uanNvbgpAQCAtMjU0LDYgKzI1NCwxMyBAQAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibmFtZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJOYW1lIG9m
IHRoZSBhdHRyaWJ1dGUgdG8gcmVtb3ZlLiIgfQogICAgICAgICAgICAgXQogICAgICAgICB9LAor
ICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJnZXRTdXBwb3J0ZWRFdmVudE5hbWVzIiwK
KyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHZXRzIHRoZSBsaXN0IG9mIGJ1aWx0aW4gRE9N
IGV2ZW50IG5hbWVzLiIsCisgICAgICAgICAgICAicmV0dXJucyI6IFsKKyAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImV2ZW50TmFtZXMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgInR5
cGUiOiAic3RyaW5nIiB9IH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKICAgICAgICAgewog
ICAgICAgICAgICAgIm5hbWUiOiAiZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlIiwKICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIGV2ZW50IGxpc3RlbmVycyByZWxldmFudCB0byB0
aGUgbm9kZS4iLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRPTUFnZW50LmNwcAppbmRleCA5ODY5YjYzODcxYWExNGQwOTdhNDllYmY3ZTA2Yzk1
NTcxNWQzOWYxLi4wNmZhODdhNWM4Y2Y0ZjA3YjQxMjM4YTI1ZDVjZTg4ZmMxMjA5ZmMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFn
ZW50LmNwcApAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNs
dWRlICJIVE1MRWxlbWVudC5oIgpAQCAtODI5LDYgKzgzMCwxNSBAQCB2b2lkIEluc3BlY3RvckRP
TUFnZW50OjpzZXROb2RlVmFsdWUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlk
LCBjb25zdAogICAgIG1fZG9tRWRpdG9yLT5yZXBsYWNlV2hvbGVUZXh0KGRvd25jYXN0PFRleHQ+
KCpub2RlKSwgdmFsdWUsIGVycm9yU3RyaW5nKTsKIH0KIAordm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6Z2V0U3VwcG9ydGVkRXZlbnROYW1lcyhFcnJvclN0cmluZyYsIFJlZlB0cjxKU09OOjpBcnJh
eU9mPFN0cmluZz4+JiBldmVudE5hbWVzKQoreworICAgIGV2ZW50TmFtZXMgPSBKU09OOjpBcnJh
eU9mPFN0cmluZz46OmNyZWF0ZSgpOworCisjZGVmaW5lIERPTV9FVkVOVF9OQU1FU19BREQobmFt
ZSkgZXZlbnROYW1lcy0+YWRkSXRlbSgjbmFtZSk7CisgICAgRE9NX0VWRU5UX05BTUVTX0ZPUl9F
QUNIKERPTV9FVkVOVF9OQU1FU19BREQpCisjdW5kZWYgRE9NX0VWRU5UX05BTUVTX0FERAorfQor
CiB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoRXJyb3JT
dHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIG9iamVjdEdyb3Vw
LCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpET006OkV2ZW50TGlz
dGVuZXI+PiYgbGlzdGVuZXJzQXJyYXkpCiB7CiAgICAgbGlzdGVuZXJzQXJyYXkgPSBKU09OOjpB
cnJheU9mPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTTo6RXZlbnRMaXN0ZW5lcj46OmNyZWF0ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
T01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01B
Z2VudC5oCmluZGV4IDg5YmQ5ZDE4MzJiNTkxOTljMjYxYjgxYzVjMzVmMWE4MjI4YmEwYjkuLjUw
ZmY5NWU0NTc2NGY5NjNjMTQ1YzMwYjU5ODlhN2VmYmE4M2VmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTEyMyw2
ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRPdXRlckhUTUwoRXJyb3JTdHJpbmcmLCBp
bnQgbm9kZUlkLCBjb25zdCBTdHJpbmcmIG91dGVySFRNTCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBp
bnNlcnRBZGphY2VudEhUTUwoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcm
IHBvc2l0aW9uLCBjb25zdCBTdHJpbmcmIGh0bWwpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Tm9k
ZVZhbHVlKEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3Zl
cnJpZGU7CisgICAgdm9pZCBnZXRTdXBwb3J0ZWRFdmVudE5hbWVzKEVycm9yU3RyaW5nJiwgUmVm
UHRyPEpTT046OkFycmF5T2Y8U3RyaW5nPj4mIGV2ZW50TmFtZXMpIG92ZXJyaWRlOwogICAgIHZv
aWQgZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCwgY29u
c3QgV1RGOjpTdHJpbmcqIG9iamVjdEdyb3VwLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxJbnNwZWN0
b3I6OlByb3RvY29sOjpET006OkV2ZW50TGlzdGVuZXI+PiYgbGlzdGVuZXJzQXJyYXkpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkKEVycm9yU3RyaW5nJiwgaW50
IGV2ZW50TGlzdGVuZXJJZCwgYm9vbCBkaXNhYmxlZCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBnZXRB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkLCBS
ZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGllcz4m
IGF4UHJvcGVydGllcykgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpz
CmluZGV4IGRjNTZmOTM5NDA5YmE2MTk4M2YxNTcyY2NkYWYxNjhkZmYwZDczMDYuLmJmMzU5MDA2
YWU4MWRjNWZhNjYwMzYyZWRjNGRhMzMyMDdlMzJlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRy
ZWVNYW5hZ2VyLmpzCkBAIC0zNiw2ICszNiw4IEBAIFdJLkRPTVRyZWVNYW5hZ2VyID0gY2xhc3Mg
RE9NVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAgICAgIHN1cGVyKCk7
CiAKKyAgICAgICAgdGhpcy5fc3VwcG9ydGVkRXZlbnROYW1lcyA9IG5ldyBTZXQ7CisKICAgICAg
ICAgdGhpcy5faWRUb0RPTU5vZGUgPSB7fTsKICAgICAgICAgdGhpcy5fZG9jdW1lbnQgPSBudWxs
OwogICAgICAgICB0aGlzLl9hdHRyaWJ1dGVMb2FkTm9kZUlkcyA9IHt9OwpAQCAtNTM4LDYgKzU0
MCwyOSBAQCBXSS5ET01UcmVlTWFuYWdlciA9IGNsYXNzIERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMg
V0kuT2JqZWN0CiAgICAgICAgIERPTUFnZW50LnNldEluc3BlY3RlZE5vZGUobm9kZS5pZCwgY2Fs
bGJhY2spOwogICAgIH0KIAorICAgIGdldFN1cHBvcnRlZEV2ZW50TmFtZXMoY2FsbGJhY2spCisg
ICAgeworICAgICAgICBpZiAodGhpcy5fc3VwcG9ydGVkRXZlbnROYW1lcy5zaXplIHx8ICFET01B
Z2VudC5nZXRTdXBwb3J0ZWRFdmVudE5hbWVzKSB7CisgICAgICAgICAgICBjYWxsYmFjayh0aGlz
Ll9zdXBwb3J0ZWRFdmVudE5hbWVzKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
CisgICAgICAgIGlmICh0aGlzLl9nZXRTdXBwb3J0ZWRFdmVudE5hbWVzUHJvbWlzZSkgeworICAg
ICAgICAgICAgdGhpcy5fZ2V0U3VwcG9ydGVkRXZlbnROYW1lc1Byb21pc2UudGhlbigoKSA9PiB7
CisgICAgICAgICAgICAgICAgY2FsbGJhY2sodGhpcy5fc3VwcG9ydGVkRXZlbnROYW1lcyk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAg
IHRoaXMuX2dldFN1cHBvcnRlZEV2ZW50TmFtZXNQcm9taXNlID0gRE9NQWdlbnQuZ2V0U3VwcG9y
dGVkRXZlbnROYW1lcygpLnRoZW4oKHtldmVudE5hbWVzfSkgPT4geworICAgICAgICAgICAgdGhp
cy5fZ2V0U3VwcG9ydGVkRXZlbnROYW1lc1Byb21pc2UgPSBudWxsOworCisgICAgICAgICAgICB0
aGlzLl9zdXBwb3J0ZWRFdmVudE5hbWVzID0gbmV3IFNldChldmVudE5hbWVzKTsKKworICAgICAg
ICAgICAgY2FsbGJhY2sodGhpcy5fc3VwcG9ydGVkRXZlbnROYW1lcyk7CisgICAgICAgIH0pOwor
ICAgIH0KKwogICAgIHNldEV2ZW50TGlzdGVuZXJEaXNhYmxlZChldmVudExpc3RlbmVySWQsIGRp
c2FibGVkKQogICAgIHsKICAgICAgICAgRE9NQWdlbnQuc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVk
KGV2ZW50TGlzdGVuZXJJZCwgZGlzYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFBv
cG92ZXIuanMKaW5kZXggNWY3NWI1MTNkM2Q2YjFmNGMwZGVhOWIyOTY5OWRiZGJlMTg5ZTA2OS4u
OGVlYzJjYTk0YmRjZjc3ZWFlMTY3Nzg5ODk5ODYxNjE2MjgyZGI4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9w
b3Zlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9F
dmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzCkBAIC0zMiw3ICszMiw5IEBAIFdJLkV2ZW50QnJlYWtw
b2ludFBvcG92ZXIgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRQb3BvdmVyIGV4dGVuZHMgV0kuUG9w
b3ZlcgogICAgICAgICB0aGlzLl9yZXN1bHQgPSBXSS5JbnB1dFBvcG92ZXIuUmVzdWx0Lk5vbmU7
CiAgICAgICAgIHRoaXMuX3ZhbHVlID0gbnVsbDsKIAotICAgICAgICB0aGlzLl9jb2RlTWlycm9y
ID0gbnVsbDsKKyAgICAgICAgdGhpcy5fY3VycmVudENvbXBsZXRpb25zID0gW107CisgICAgICAg
IHRoaXMuX3N1Z2dlc3Rpb25zVmlldyA9IG5ldyBXSS5Db21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3
KHRoaXMsIHtwcmV2ZW50Qmx1cjogdHJ1ZX0pOworCiAgICAgICAgIHRoaXMuX3RhcmdldEVsZW1l
bnQgPSBudWxsOwogICAgICAgICB0aGlzLl9wcmVmZXJyZWRFZGdlcyA9IG51bGw7CiAKQEAgLTYw
LDEzICs2MiwzOCBAQCBXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVh
a3BvaW50UG9wb3ZlciBleHRlbmRzIFdJLlBvcG92ZXIKICAgICAgICAgdGhpcy5faW5wdXRFbGVt
ZW50LnBsYWNlaG9sZGVyID0gImNsaWNrIjsKICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnNw
ZWxsY2hlY2sgPSBmYWxzZTsKICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoImtleWRvd24iLCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAgIGlmICghaXNFbnRlcktl
eShldmVudCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICB0aGlzLl9y
ZXN1bHQgPSBXSS5JbnB1dFBvcG92ZXIuUmVzdWx0LkNvbW1pdHRlZDsKLSAgICAgICAgICAgIHRo
aXMuX3ZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTsKLQotICAgICAgICAgICAgdGhp
cy5kaXNtaXNzKCk7CisgICAgICAgICAgICBpZiAoaXNFbnRlcktleShldmVudCkgfHwgZXZlbnQu
a2V5ID09PSAiVGFiIikgeworICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3VsdCA9IFdJLklucHV0
UG9wb3Zlci5SZXN1bHQuQ29tbWl0dGVkOworCisgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3N1
Z2dlc3Rpb25zVmlldy52aXNpYmxlICYmIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy5zZWxlY3RlZElu
ZGV4IDwgdGhpcy5fY3VycmVudENvbXBsZXRpb25zLmxlbmd0aCkKKyAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnNbdGhpcy5fc3VnZ2VzdGlv
bnNWaWV3LnNlbGVjdGVkSW5kZXhdOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9pbnB1dEVsZW1lbnQudmFsdWU7CisKKyAgICAg
ICAgICAgICAgICB0aGlzLmRpc21pc3MoKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKGV2ZW50
LmtleSA9PT0gIkFycm93VXAiIHx8IGV2ZW50LmtleSA9PT0gIkFycm93RG93biIpICYmIHRoaXMu
X3N1Z2dlc3Rpb25zVmlldy52aXNpYmxlKSB7CisgICAgICAgICAgICAgICAgZXZlbnQuc3RvcCgp
OworCisgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gIkFycm93RG93biIpCisgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy5zZWxlY3ROZXh0KCk7CisgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1Zp
ZXcuc2VsZWN0UHJldmlvdXMoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisgICAgICAg
IHRoaXMuX2lucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIChldmVudCkgPT4g
eworICAgICAgICAgICAgV0kuZG9tVHJlZU1hbmFnZXIuZ2V0U3VwcG9ydGVkRXZlbnROYW1lcygo
ZXZlbnROYW1lcykgPT4geworICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRDb21wbGV0aW9u
cyA9IFtdOworICAgICAgICAgICAgICAgIGZvciAobGV0IGV2ZW50TmFtZSBvZiBldmVudE5hbWVz
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChldmVudE5hbWUudG9Mb3dlckNhc2UoKS5zdGFy
dHNXaXRoKHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMucHVzaChldmVudE5hbWUpOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMubGVu
Z3RoKSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy51cGRhdGUo
dGhpcy5fY3VycmVudENvbXBsZXRpb25zKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hv
d1N1Z2dlc3Rpb25zVmlldygpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcuaGlkZSgpOworICAgICAgICAgICAgfSk7CiAg
ICAgICAgIH0pOwogCiAgICAgICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnRFbGVtZW50OwpAQCAt
NzQsNiArMTAxLDIzIEBAIFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBjbGFzcyBFdmVudEJy
ZWFrcG9pbnRQb3BvdmVyIGV4dGVuZHMgV0kuUG9wb3ZlcgogICAgICAgICB0aGlzLl9wcmVzZW50
T3ZlclRhcmdldEVsZW1lbnQoKTsKICAgICB9CiAKKyAgICBkaXNtaXNzKCkKKyAgICB7CisgICAg
ICAgIHN1cGVyLmRpc21pc3MoKTsKKworICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcuaGlk
ZSgpOworICAgIH0KKworICAgIC8vIENvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcgZGVsZWdhdGUK
KworICAgIGNvbXBsZXRpb25TdWdnZXN0aW9uc0NsaWNrZWRDb21wbGV0aW9uKHN1Z2dlc3Rpb25z
Vmlldywgc2VsZWN0ZWRUZXh0KQorICAgIHsKKyAgICAgICAgdGhpcy5fcmVzdWx0ID0gV0kuSW5w
dXRQb3BvdmVyLlJlc3VsdC5Db21taXR0ZWQ7CisgICAgICAgIHRoaXMuX3ZhbHVlID0gc2VsZWN0
ZWRUZXh0OworCisgICAgICAgIHRoaXMuZGlzbWlzcygpOworICAgIH0KKwogICAgIC8vIFByaXZh
dGUKIAogICAgIF9wcmVzZW50T3ZlclRhcmdldEVsZW1lbnQoKQpAQCAtODQsNiArMTI4LDE0IEBA
IFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRQb3BvdmVy
IGV4dGVuZHMgV0kuUG9wb3ZlcgogICAgICAgICBsZXQgdGFyZ2V0RnJhbWUgPSBXSS5SZWN0LnJl
Y3RGcm9tQ2xpZW50UmVjdCh0aGlzLl90YXJnZXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpKTsKICAgICAgICAgdGhpcy5wcmVzZW50KHRhcmdldEZyYW1lLCB0aGlzLl9wcmVmZXJyZWRF
ZGdlcyk7CiAKLSAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnNlbGVjdCgpOworICAgICAgICB0
aGlzLl9pbnB1dEVsZW1lbnQuZm9jdXMoKTsKKworICAgICAgICBpZiAodGhpcy5faW5wdXRFbGVt
ZW50LnZhbHVlKQorICAgICAgICAgICAgdGhpcy5fc2hvd1N1Z2dlc3Rpb25zVmlldygpOwogICAg
IH0KKworICAgICBfc2hvd1N1Z2dlc3Rpb25zVmlldygpCisgICAgIHsKKyAgICAgICAgdGhpcy5f
c3VnZ2VzdGlvbnNWaWV3LnNob3coV0kuUmVjdC5yZWN0RnJvbUNsaWVudFJlY3QodGhpcy5faW5w
dXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSk7CisgICAgIH0KIH07CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MTA2YjRmYmE2ZjdiMTA0NjRhNTFiMDM2NTQ5MDUwOWU4NjA0MDgwNS4uODI1MzZlZGFkODBhNDlh
NzliOWI2ZDUzZTY0MjQzYjk1ZWFkMWZhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTA4
LTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBwcm92aWRlIGF1dG9jb21wbGV0aW9uIGZvciBldmVudCBicmVha3BvaW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZG9tL2dldFN1cHBvcnRlZEV2ZW50TmFtZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZG9tL2dldFN1cHBvcnRlZEV2ZW50TmFtZXMuaHRtbDogQWRkZWQuCisKIDIw
MTgtMDgtMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIE1h
cmtlZCBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0
aW9uLmh0bWwgYXMgZmxha3kuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
L2dldFN1cHBvcnRlZEV2ZW50TmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS9nZXRTdXBwb3J0ZWRFdmVudE5hbWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
Y2I4NzcxYTUwYzFhNDJiNzkyOWE4MGFiZjQyYjFhZTBmN2EyMTgxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9nZXRTdXBwb3J0ZWRFdmVudE5hbWVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1BBU1M6IFNob3VsZCBoYXZlIHJlY2lldmVkIGF0IGxl
YXN0IHR3byBldmVudCBuYW1lcy4KK1BBU1M6IFNob3VsZCBoYXZlIHJlY2lldmVkIHRoZSAiY2xp
Y2siIGV2ZW50IG5hbWUuCitQQVNTOiBTaG91bGQgaGF2ZSByZWNpZXZlZCB0aGUgImxvYWQiIGV2
ZW50IG5hbWUuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZ2V0U3Vw
cG9ydGVkRXZlbnROYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9nZXRTdXBw
b3J0ZWRFdmVudE5hbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRkY2FlMjJhMDFlNDQ4MDI1NTUwYjEz
NTEyYjQyMjUyZDdmMjQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20vZ2V0U3VwcG9ydGVkRXZlbnROYW1lcy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yUHJvdG9jb2wuc2VuZENvbW1hbmQo
IkRPTS5nZXRTdXBwb3J0ZWRFdmVudE5hbWVzIiwge30sIChtZXNzYWdlT2JqZWN0KSA9PiB7Cisg
ICAgICAgIGlmICgiZXJyb3IiIGluIG1lc3NhZ2VPYmplY3QpCisgICAgICAgICAgICBQcm90b2Nv
bFRlc3QubG9nKG1lc3NhZ2VPYmplY3QuZXJyb3IubWVzc2FnZSk7CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgbGV0IGV2ZW50TmFtZXMgPSBtZXNzYWdlT2JqZWN0WyJyZXN1bHQiXVsiZXZl
bnROYW1lcyJdOworICAgICAgICAgICAgUHJvdG9jb2xUZXN0LmV4cGVjdEdyZWF0ZXJUaGFuKGV2
ZW50TmFtZXMubGVuZ3RoLCAyLCAiU2hvdWxkIGhhdmUgcmVjaWV2ZWQgYXQgbGVhc3QgdHdvIGV2
ZW50IG5hbWVzLiIpOworICAgICAgICAgICAgUHJvdG9jb2xUZXN0LmV4cGVjdFRoYXQoZXZlbnRO
YW1lcy5pbmNsdWRlcygiY2xpY2siKSwgIlNob3VsZCBoYXZlIHJlY2lldmVkIHRoZSBcImNsaWNr
XCIgZXZlbnQgbmFtZS4iKTsKKyAgICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RUaGF0KGV2
ZW50TmFtZXMuaW5jbHVkZXMoImxvYWQiKSwgIlNob3VsZCBoYXZlIHJlY2lldmVkIHRoZSBcImxv
YWRcIiBldmVudCBuYW1lLiIpOworICAgICAgICB9CisKKyAgICAgICAgUHJvdG9jb2xUZXN0LmNv
bXBsZXRlVGVzdCgpOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348174</attachid>
            <date>2018-08-27 11:18:41 -0700</date>
            <delta_ts>2018-08-27 11:49:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188717-20180827111841.patch</filename>
            <type>text/plain</type>
            <size>13636</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDRkY2YxNmE0NDcwZmI5YTQ2Zjk5OGU1YTNkOGNi
Y2ViM2RkNDE3MWUuLmU2MjcwMjU5YmUzN2I1MzYwMGJhODFhN2MzNzRhODQwNDY4Y2MzNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTA4LTI3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm92aWRlIGF1dG9jb21wbGV0aW9uIGZvciBldmVudCBicmVha3BvaW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQnJpYW4gQnVyZy4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET00u
anNvbjoKKyAgICAgICAgQWRkIGBnZXRTdXBwb3J0ZWRFdmVudE5hbWVzYCBjb21tYW5kLgorCiAy
MDE4LTA4LTI0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAg
IFlBUlI6IFVwZGF0ZSBVQ1MgY2Fub25pY2FsaXphdGlvbiB0YWJsZXMgZm9yIFVuaWNvZGUgMTEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMDJjOTQyYThjYjdlNDNkNWRmYzQ2ZDVjYmIxODk1ZTc5YjRiMTc2Li44
MDdkZjgxODJlMjc2ZWVjMmQyYjk5NDYzNThmNGY1NDhkZDA0MDIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTgtMDgtMjcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgYXV0b2NvbXBsZXRpb24gZm9yIGV2
ZW50IGJyZWFrcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODg3MTcKKworICAgICAgICBSZXZpZXdlZCBieSBCcmlhbiBCdXJnLgorCisgICAg
ICAgIFRlc3Q6IGluc3BlY3Rvci9kb20vZ2V0U3VwcG9ydGVkRXZlbnROYW1lcy5odG1sCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAgICAgICog
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JET01BZ2VudDo6Z2V0U3VwcG9ydGVkRXZlbnROYW1lcyk6IEFkZGVkLgorCiAy
MDE4LTA4LTI0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENs
aWNrIGV2ZW50IGZyb20gY2xpY2soKSBpcyBub3QgY29tcG9zZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCmluZGV4IDQzNGQwM2UzZDA1OWI3OWI4NjY1NjM1NjZjOWQ2OTVjMjQ0YTdhMmQuLjUzODIw
YzExNWExMzRjNDk1ZTJmMDY4MDZjZjQ0YmFlMmI1ZjEwZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA4LTI3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm92aWRlIGF1dG9jb21wbGV0
aW9uIGZvciBldmVudCBicmVha3BvaW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg4NzE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJpYW4gQnVy
Zy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIu
anM6CisgICAgICAgIChXSS5ET01UcmVlTWFuYWdlcik6CisgICAgICAgIChXSS5ET01UcmVlTWFu
YWdlci5wcm90b3R5cGUuZ2V0U3VwcG9ydGVkRXZlbnROYW1lcyk6IEFkZGVkLgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzOgorICAgICAg
ICAoV0kuRXZlbnRCcmVha3BvaW50UG9wb3Zlcik6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9p
bnRQb3BvdmVyLnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFBv
cG92ZXIucHJvdG90eXBlLmRpc21pc3MpOiBBZGRlZC4KKyAgICAgICAgKFdJLkV2ZW50QnJlYWtw
b2ludFBvcG92ZXIucHJvdG90eXBlLmNvbXBsZXRpb25TdWdnZXN0aW9uc0NsaWNrZWRDb21wbGV0
aW9uKTogQWRkZWQuCisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlw
ZS5fcHJlc2VudE92ZXJUYXJnZXRFbGVtZW50KToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2lu
dFBvcG92ZXIucHJvdG90eXBlLl9zaG93U3VnZ2VzdGlvbnNWaWV3KTogQWRkZWQuCisKIDIwMTgt
MDgtMjMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IENvbG9yIHBpY2tlcjogY2FuJ3QgZW50ZXIgZGVjaW1hbCBudW1iZXJzIGZvciBv
cGFjaXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9E
T00uanNvbgppbmRleCBhZmRmNGRiZmRhZGU2ZGViZjk3MDQzN2NjY2I1YjAwNDE5MTg5OWMzLi44
MTBiM2M2NTBlZjZmY2JjMzRkMDYzNGYwNjhiMThlMjg4M2U0MzgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KQEAgLTI1NSw2ICsy
NTUsMTMgQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJp
bmciLCAiZGVzY3JpcHRpb24iOiAiTmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIHJlbW92ZS4iIH0K
ICAgICAgICAgICAgIF0KICAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUi
OiAiZ2V0U3VwcG9ydGVkRXZlbnROYW1lcyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
R2V0cyB0aGUgbGlzdCBvZiBidWlsdGluIERPTSBldmVudCBuYW1lcy4iLAorICAgICAgICAgICAg
InJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJldmVudE5hbWVzIiwgInR5
cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfSB9CisgICAgICAgICAg
ICBdCisgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImdldEV2ZW50
TGlzdGVuZXJzRm9yTm9kZSIsCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyBl
dmVudCBsaXN0ZW5lcnMgcmVsZXZhbnQgdG8gdGhlIG5vZGUuIiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggZWUy
YzBkNWJlYTUxNjM3YzcxMGI0NWUwNDdmYmJhZGNjMTY2YjJiYy4uYWY4MTZhZDEzYmNjZDY5Mzhk
M2YxNzI4YTJkNmNjNWMwY2EyY2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTU2LDYgKzU2LDcgQEAKICNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExp
c3RlbmVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTgyOSw2
ICs4MzAsMTUgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0Tm9kZVZhbHVlKEVycm9yU3Ry
aW5nJiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgY29uc3QKICAgICBtX2RvbUVkaXRvci0+cmVw
bGFjZVdob2xlVGV4dChkb3duY2FzdDxUZXh0Pigqbm9kZSksIHZhbHVlLCBlcnJvclN0cmluZyk7
CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldFN1cHBvcnRlZEV2ZW50TmFtZXMoRXJy
b3JTdHJpbmcmLCBSZWZQdHI8SlNPTjo6QXJyYXlPZjxTdHJpbmc+PiYgZXZlbnROYW1lcykKK3sK
KyAgICBldmVudE5hbWVzID0gSlNPTjo6QXJyYXlPZjxTdHJpbmc+OjpjcmVhdGUoKTsKKworI2Rl
ZmluZSBET01fRVZFTlRfTkFNRVNfQUREKG5hbWUpIGV2ZW50TmFtZXMtPmFkZEl0ZW0oI25hbWUp
OworICAgIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSChET01fRVZFTlRfTkFNRVNfQUREKQorI3Vu
ZGVmIERPTV9FVkVOVF9OQU1FU19BREQKK30KKwogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Z2V0
RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50IG5vZGVJ
ZCwgY29uc3QgU3RyaW5nKiBvYmplY3RHcm91cCwgUmVmUHRyPEpTT046OkFycmF5T2Y8SW5zcGVj
dG9yOjpQcm90b2NvbDo6RE9NOjpFdmVudExpc3RlbmVyPj4mIGxpc3RlbmVyc0FycmF5KQogewog
ICAgIGxpc3RlbmVyc0FycmF5ID0gSlNPTjo6QXJyYXlPZjxJbnNwZWN0b3I6OlByb3RvY29sOjpE
T006OkV2ZW50TGlzdGVuZXI+OjpjcmVhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuaAppbmRleCBhMjFjOGYyY2Y4ZjIxYWE1
YjVlNjIzYWVlODU5YjU3Mzc4YWRlMGFhLi45Mzc1MWEyMmVjZTdlMTMyNTVmMGQzNTgyYjZmZDli
YjhkZjMwM2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JET01BZ2VudC5oCkBAIC0xMjMsNiArMTIzLDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0T3V0ZXJIVE1MKEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiBvdXRl
ckhUTUwpIG92ZXJyaWRlOwogICAgIHZvaWQgaW5zZXJ0QWRqYWNlbnRIVE1MKEVycm9yU3RyaW5n
JiwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiBwb3NpdGlvbiwgY29uc3QgU3RyaW5nJiBodG1s
KSBvdmVycmlkZTsKICAgICB2b2lkIHNldE5vZGVWYWx1ZShFcnJvclN0cmluZyYsIGludCBub2Rl
SWQsIGNvbnN0IFN0cmluZyYgdmFsdWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0U3VwcG9ydGVk
RXZlbnROYW1lcyhFcnJvclN0cmluZyYsIFJlZlB0cjxKU09OOjpBcnJheU9mPFN0cmluZz4+JiBl
dmVudE5hbWVzKSBvdmVycmlkZTsKICAgICB2b2lkIGdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZShF
cnJvclN0cmluZyYsIGludCBub2RlSWQsIGNvbnN0IFdURjo6U3RyaW5nKiBvYmplY3RHcm91cCwg
UmVmUHRyPEpTT046OkFycmF5T2Y8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpFdmVudExpc3Rl
bmVyPj4mIGxpc3RlbmVyc0FycmF5KSBvdmVycmlkZTsKICAgICB2b2lkIHNldEV2ZW50TGlzdGVu
ZXJEaXNhYmxlZChFcnJvclN0cmluZyYsIGludCBldmVudExpc3RlbmVySWQsIGJvb2wgZGlzYWJs
ZWQpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QnJlYWtwb2ludEZvckV2ZW50TGlzdGVuZXIoRXJy
b3JTdHJpbmcmLCBpbnQgZXZlbnRMaXN0ZW5lcklkKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5h
Z2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
RE9NVHJlZU1hbmFnZXIuanMKaW5kZXggYzRjODU5OWMxNWM5ZjljNjY5NDc4MTk5MjQ3ZWFkOGEw
MTRiNjFkMi4uZmJmZGE5M2JjNzllOTA5YWUwYmQzNWM0MmUxMTIxOTZkOTE4NGMwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9N
VHJlZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKQEAgLTU0Niw2ICs1NDYsMTkgQEAgV0kuRE9N
VHJlZU1hbmFnZXIgPSBjbGFzcyBET01UcmVlTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAg
ICAgICBET01BZ2VudC5zZXRJbnNwZWN0ZWROb2RlKG5vZGUuaWQsIGNhbGxiYWNrKTsKICAgICB9
CiAKKyAgICBnZXRTdXBwb3J0ZWRFdmVudE5hbWVzKGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAg
aWYgKCFET01BZ2VudC5nZXRTdXBwb3J0ZWRFdmVudE5hbWVzKQorICAgICAgICAgICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZShuZXcgU2V0KTsKKworICAgICAgICBpZiAoIXRoaXMuX2dldFN1cHBv
cnRlZEV2ZW50TmFtZXNQcm9taXNlKSB7CisgICAgICAgICAgICB0aGlzLl9nZXRTdXBwb3J0ZWRF
dmVudE5hbWVzUHJvbWlzZSA9IERPTUFnZW50LmdldFN1cHBvcnRlZEV2ZW50TmFtZXMoKQorICAg
ICAgICAgICAgLnRoZW4oKHtldmVudE5hbWVzfSkgPT4gbmV3IFNldChldmVudE5hbWVzKSk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gdGhpcy5fZ2V0U3VwcG9ydGVkRXZlbnROYW1lc1By
b21pc2U7CisgICAgfQorCiAgICAgc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkKGV2ZW50TGlzdGVu
ZXIsIGRpc2FibGVkKQogICAgIHsKICAgICAgICAgRE9NQWdlbnQuc2V0RXZlbnRMaXN0ZW5lckRp
c2FibGVkKGV2ZW50TGlzdGVuZXIuZXZlbnRMaXN0ZW5lcklkLCBkaXNhYmxlZCwgKGVycm9yKSA9
PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5qcwppbmRleCBhZDdhOTJhMDc3
YmNhYjA1OWM3MzhkNjBlZWVjYTY1ZGM5M2Y5ZTA0Li5hZThiODdlNmRiYWY1NDRiZmM5ZWMwMmM4
MzVlNGIxY2U0NjA0Mzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFBvcG92ZXIuanMK
QEAgLTMxLDYgKzMxLDkgQEAgV0kuRXZlbnRCcmVha3BvaW50UG9wb3ZlciA9IGNsYXNzIEV2ZW50
QnJlYWtwb2ludFBvcG92ZXIgZXh0ZW5kcyBXSS5Qb3BvdmVyCiAKICAgICAgICAgdGhpcy5fYnJl
YWtwb2ludCA9IG51bGw7CiAKKyAgICAgICAgdGhpcy5fY3VycmVudENvbXBsZXRpb25zID0gW107
CisgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmlldyA9IG5ldyBXSS5Db21wbGV0aW9uU3VnZ2Vz
dGlvbnNWaWV3KHRoaXMsIHtwcmV2ZW50Qmx1cjogdHJ1ZX0pOworCiAgICAgICAgIHRoaXMuX3Rh
cmdldEVsZW1lbnQgPSBudWxsOwogICAgICAgICB0aGlzLl9wcmVmZXJyZWRFZGdlcyA9IG51bGw7
CiAKQEAgLTgyLDEwICs4NSwzOSBAQCBXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3Mg
RXZlbnRCcmVha3BvaW50UG9wb3ZlciBleHRlbmRzIFdJLlBvcG92ZXIKICAgICAgICAgdGhpcy5f
ZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV0kuVUlTdHJpbmcoIkV4YW1w
bGU6IOKAnCVz4oCdIikuZm9ybWF0KCJjbGljayIpOwogICAgICAgICB0aGlzLl9kb21FdmVudE5h
bWVJbnB1dEVsZW1lbnQuc3BlbGxjaGVjayA9IGZhbHNlOwogICAgICAgICB0aGlzLl9kb21FdmVu
dE5hbWVJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIChldmVudCkgPT4g
ewotICAgICAgICAgICAgaWYgKCFpc0VudGVyS2V5KGV2ZW50KSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICBpZiAoaXNFbnRlcktleShldmVudCkgfHwgZXZlbnQua2V5ID09
PSAiVGFiIikgeworICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3VsdCA9IFdJLklucHV0UG9wb3Zl
ci5SZXN1bHQuQ29tbWl0dGVkOworCisgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3N1Z2dlc3Rp
b25zVmlldy52aXNpYmxlICYmIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy5zZWxlY3RlZEluZGV4IDwg
dGhpcy5fY3VycmVudENvbXBsZXRpb25zLmxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fY3VycmVudENvbXBsZXRp
b25zW3RoaXMuX3N1Z2dlc3Rpb25zVmlldy5zZWxlY3RlZEluZGV4XTsKIAotICAgICAgICAgICAg
dGhpcy5kaXNtaXNzKCk7CisgICAgICAgICAgICAgICAgdGhpcy5kaXNtaXNzKCk7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKChldmVudC5rZXkgPT09ICJBcnJvd1VwIiB8fCBldmVudC5rZXkgPT09
ICJBcnJvd0Rvd24iKSAmJiB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcudmlzaWJsZSkgeworICAgICAg
ICAgICAgICAgIGV2ZW50LnN0b3AoKTsKKworICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkg
PT09ICJBcnJvd0Rvd24iKQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1Zp
ZXcuc2VsZWN0TmV4dCgpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnNlbGVjdFByZXZpb3VzKCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0pOworICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiaW5wdXQiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIFdJLmRvbVRy
ZWVNYW5hZ2VyLmdldFN1cHBvcnRlZEV2ZW50TmFtZXMoKQorICAgICAgICAgICAgLnRoZW4oKGV2
ZW50TmFtZXMpID0+IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMg
PSBbXTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBldmVudE5hbWUgb2YgZXZlbnROYW1lcykg
eworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnROYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRz
V2l0aCh0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQudmFsdWUpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5fY3VycmVudENvbXBsZXRpb25zLnB1c2goZXZlbnROYW1lKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2N1cnJlbnRDb21w
bGV0aW9ucy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNW
aWV3LmhpZGUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy51cGRhdGUodGhpcy5f
Y3VycmVudENvbXBsZXRpb25zKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9zaG93U3VnZ2VzdGlv
bnNWaWV3KCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgdGhpcy5j
b250ZW50ID0gY29udGVudEVsZW1lbnQ7CkBAIC0xMTYsNiArMTQ4LDE3IEBAIFdJLkV2ZW50QnJl
YWtwb2ludFBvcG92ZXIgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRQb3BvdmVyIGV4dGVuZHMgV0ku
UG9wb3ZlcgogICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludCA9IG5ldyBXSS5FdmVudEJyZWFr
cG9pbnQodHlwZSwgdmFsdWUpOwogCiAgICAgICAgIHN1cGVyLmRpc21pc3MoKTsKKworICAgICAg
ICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcuaGlkZSgpOworICAgIH0KKworICAgIC8vIENvbXBsZXRp
b25TdWdnZXN0aW9uc1ZpZXcgZGVsZWdhdGUKKworICAgIGNvbXBsZXRpb25TdWdnZXN0aW9uc0Ns
aWNrZWRDb21wbGV0aW9uKHN1Z2dlc3Rpb25zVmlldywgc2VsZWN0ZWRUZXh0KQorICAgIHsKKyAg
ICAgICAgdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LnZhbHVlID0gc2VsZWN0ZWRUZXh0
OworCisgICAgICAgIHRoaXMuZGlzbWlzcygpOwogICAgIH0KIAogICAgIC8vIFByaXZhdGUKQEAg
LTEzMSw4ICsxNzQsMjIgQEAgV0kuRXZlbnRCcmVha3BvaW50UG9wb3ZlciA9IGNsYXNzIEV2ZW50
QnJlYWtwb2ludFBvcG92ZXIgZXh0ZW5kcyBXSS5Qb3BvdmVyCiAKICAgICBfaGFuZGxlVHlwZVNl
bGVjdENoYW5nZShldmVudCkKICAgICB7Ci0gICAgICAgIHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0
RWxlbWVudC5oaWRkZW4gPSB0aGlzLl90eXBlU2VsZWN0RWxlbWVudC52YWx1ZSAhPT0gV0kuRXZl
bnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXI7CisgICAgICAgIGxldCBsaXN0ZW5lclR5cGVTZWxl
Y3RlZCA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LnZhbHVlID09PSBXSS5FdmVudEJyZWFrcG9p
bnQuVHlwZS5MaXN0ZW5lcjsKKyAgICAgICAgdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50
LmhpZGRlbiA9ICFsaXN0ZW5lclR5cGVTZWxlY3RlZDsKIAogICAgICAgICB0aGlzLnVwZGF0ZSgp
OworCisgICAgICAgIGlmIChsaXN0ZW5lclR5cGVTZWxlY3RlZCkgeworICAgICAgICAgICAgdGhp
cy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LmZvY3VzKCk7CisKKyAgICAgICAgICAgIGlmICh0
aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQudmFsdWUpCisgICAgICAgICAgICAgICAgdGhp
cy5fc2hvd1N1Z2dlc3Rpb25zVmlldygpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRo
aXMuX3N1Z2dlc3Rpb25zVmlldy5oaWRlKCk7CiAgICAgfQorCisgICAgIF9zaG93U3VnZ2VzdGlv
bnNWaWV3KCkKKyAgICAgeworICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcuc2hvdyhXSS5S
ZWN0LnJlY3RGcm9tQ2xpZW50UmVjdCh0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCkpKTsKKyAgICAgfQogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZjUxOTA2OGEyOTdi
ZDU4ZDE4MGIwZjcwZGQxZGRhOWM1YjY5Yzg5Li42NzdkOGUzZjYyNTBmMmQ1YWM0YzU0ZGNjNWIy
Y2Y5N2M0ZTk5ODYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDgtMjcgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3Zp
ZGUgYXV0b2NvbXBsZXRpb24gZm9yIGV2ZW50IGJyZWFrcG9pbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg3MTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBCcmlhbiBCdXJnLgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS9nZXRTdXBwb3J0ZWRF
dmVudE5hbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RvbS9n
ZXRTdXBwb3J0ZWRFdmVudE5hbWVzLmh0bWw6IEFkZGVkLgorCiAyMDE4LTA4LTI0ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVzaW5nIFRvdWNoIEJhciB0byBz
Y3J1YiB2aWRlbyBvbiBZb3V0dWJlIHJlc3VsdHMgaW4gdmlkZW8gcGxheWJhY2sgZnJlZXplCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2dldFN1cHBvcnRlZEV2ZW50TmFt
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9nZXRTdXBwb3J0ZWRF
dmVudE5hbWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2I4NzcxYTUwYzFhNDJiNzkyOWE4
MGFiZjQyYjFhZTBmN2EyMTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS9nZXRTdXBwb3J0ZWRFdmVudE5hbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKK1BBU1M6IFNob3VsZCBoYXZlIHJlY2lldmVkIGF0IGxlYXN0IHR3byBldmVudCBuYW1lcy4K
K1BBU1M6IFNob3VsZCBoYXZlIHJlY2lldmVkIHRoZSAiY2xpY2siIGV2ZW50IG5hbWUuCitQQVNT
OiBTaG91bGQgaGF2ZSByZWNpZXZlZCB0aGUgImxvYWQiIGV2ZW50IG5hbWUuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZ2V0U3VwcG9ydGVkRXZlbnROYW1lcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9nZXRTdXBwb3J0ZWRFdmVudE5hbWVzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGRkY2FlMjJhMDFlNDQ4MDI1NTUwYjEzNTEyYjQyMjUyZDdmMjQ3ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZ2V0U3VwcG9ydGVkRXZl
bnROYW1lcy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
cHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgSW5zcGVjdG9yUHJvdG9jb2wuc2VuZENvbW1hbmQoIkRPTS5nZXRTdXBwb3J0ZWRFdmVu
dE5hbWVzIiwge30sIChtZXNzYWdlT2JqZWN0KSA9PiB7CisgICAgICAgIGlmICgiZXJyb3IiIGlu
IG1lc3NhZ2VPYmplY3QpCisgICAgICAgICAgICBQcm90b2NvbFRlc3QubG9nKG1lc3NhZ2VPYmpl
Y3QuZXJyb3IubWVzc2FnZSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbGV0IGV2ZW50
TmFtZXMgPSBtZXNzYWdlT2JqZWN0WyJyZXN1bHQiXVsiZXZlbnROYW1lcyJdOworICAgICAgICAg
ICAgUHJvdG9jb2xUZXN0LmV4cGVjdEdyZWF0ZXJUaGFuKGV2ZW50TmFtZXMubGVuZ3RoLCAyLCAi
U2hvdWxkIGhhdmUgcmVjaWV2ZWQgYXQgbGVhc3QgdHdvIGV2ZW50IG5hbWVzLiIpOworICAgICAg
ICAgICAgUHJvdG9jb2xUZXN0LmV4cGVjdFRoYXQoZXZlbnROYW1lcy5pbmNsdWRlcygiY2xpY2si
KSwgIlNob3VsZCBoYXZlIHJlY2lldmVkIHRoZSBcImNsaWNrXCIgZXZlbnQgbmFtZS4iKTsKKyAg
ICAgICAgICAgIFByb3RvY29sVGVzdC5leHBlY3RUaGF0KGV2ZW50TmFtZXMuaW5jbHVkZXMoImxv
YWQiKSwgIlNob3VsZCBoYXZlIHJlY2lldmVkIHRoZSBcImxvYWRcIiBldmVudCBuYW1lLiIpOwor
ICAgICAgICB9CisKKyAgICAgICAgUHJvdG9jb2xUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0p
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>