<?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>131153</bug_id>
          
          <creation_ts>2014-04-02 23:35:57 -0700</creation_ts>
          <short_desc>[CSS Blending] Add compositing reason for isolation in RenderLayerCompositor.</short_desc>
          <delta_ts>2014-04-04 13:34:55 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95614</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ion Rosca">rosca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>mitica</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>997026</commentid>
    <comment_count>0</comment_count>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-02 23:35:57 -0700</bug_when>
    <thetext>There are 2 reasons for a layer to be composited involving blend modes:
1) When a layer has blend mode and has composited descendants, it should be composited as well in order to apply blending to the whole group at once. CompositingReasonBlendingWithCompositedDescendants is the existing reason for this case.
2) When a layer has to isolate composited blending descendants (it is the enclosing stacking context for those blending descendants), that layer should be composited as well. This will restrict blending layers to use the backdrop information only from the current stacking context. This blending reason should be added.

I will add in a follow up patch the inspector side of this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997035</commentid>
    <comment_count>1</comment_count>
      <attachid>228473</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-02 23:48:13 -0700</bug_when>
    <thetext>Created attachment 228473
adding compositing reason for isolation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997038</commentid>
    <comment_count>2</comment_count>
      <attachid>228475</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-03 00:03:38 -0700</bug_when>
    <thetext>Created attachment 228475
nit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997120</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-04-03 04:17:44 -0700</bug_when>
    <thetext>Is there no way to test it? Does DRT expose these information?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997126</commentid>
    <comment_count>4</comment_count>
    <who name="Mihai Tica">mitica</who>
    <bug_when>2014-04-03 04:42:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Is there no way to test it? Does DRT expose these information?

You should be able to dump the layer hierarchy into a text file.
https://bugs.webkit.org/attachment.cgi?id=161391&amp;action=prettypatch is an example</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997129</commentid>
    <comment_count>5</comment_count>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-03 05:07:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Is there no way to test it? Does DRT expose these information?

No, DRT does not expose this information. In WebCore reasons are used only for logging. This is the patch where other reasons were added: https://bugs.webkit.org/show_bug.cgi?id=110505

I&apos;m going to add another patch with the implementation in WebInspector and I will use the WebInspector protocol to test this flag (like in this bug: https://bugs.webkit.org/show_bug.cgi?id=111703)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997152</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-04-03 06:34:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; Is there no way to test it? Does DRT expose these information?
&gt; 
&gt; No, DRT does not expose this information. In WebCore reasons are used only for logging. This is the patch where other reasons were added: https://bugs.webkit.org/show_bug.cgi?id=110505
&gt; 
&gt; I&apos;m going to add another patch with the implementation in WebInspector and I will use the WebInspector protocol to test this flag (like in this bug: https://bugs.webkit.org/show_bug.cgi?id=111703)

How much bigger is the inspector patch? Maybe you can combine them or the reviewer  can review them together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997154</commentid>
    <comment_count>7</comment_count>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-03 06:50:22 -0700</bug_when>
    <thetext>It&apos;s not big. I was thinking that there might be different people to review them. I can combine them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997270</commentid>
    <comment_count>8</comment_count>
      <attachid>228532</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-03 12:50:18 -0700</bug_when>
    <thetext>Created attachment 228532
adding inspector code &amp; test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997300</commentid>
    <comment_count>9</comment_count>
      <attachid>228532</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-04-03 14:04:10 -0700</bug_when>
    <thetext>Comment on attachment 228532
adding inspector code &amp; test

This looks good to me, but I&apos;d like to see an Inspector person review it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997306</commentid>
    <comment_count>10</comment_count>
      <attachid>228532</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-03 14:15:42 -0700</bug_when>
    <thetext>Comment on attachment 228532
adding inspector code &amp; test

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js:436
&gt; +        if (compositingReasons.isolatesCompositedBlendingDescendants)
&gt; +            addReason(WebInspector.UIString(&quot;Element isolates composited descendants having CSS blending applied&quot;));

Very interesting! The patch looks good, As a user facing feature, I&apos;d want to get a little more information on what isolation is so that maybe we can improve the UI String. Right now it sounds fine.

Is &quot;-webkit-isolation&quot; with children having blending the only way to get this state? Is just -webkit-isolation enough?

Note some of the other reasons include the CSS property, so it might be useful here to include &quot;-webkit-isolation&quot;.

&gt; LayoutTests/inspector-protocol/layers/layers-blending-compositing-reasons.html:114
&gt; +            if (messageObject.hasOwnProperty(&quot;error&quot;)) {

Nit: This can be shorted to:

    InspectorTest.checkForError(messageObject);

Which will print a fail message, complete the test, and short circuit by throwing an exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997317</commentid>
    <comment_count>11</comment_count>
      <attachid>228532</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-03 14:46:04 -0700</bug_when>
    <thetext>Comment on attachment 228532
adding inspector code &amp; test

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js:436
&gt;&gt; +            addReason(WebInspector.UIString(&quot;Element isolates composited descendants having CSS blending applied&quot;));
&gt; 
&gt; Very interesting! The patch looks good, As a user facing feature, I&apos;d want to get a little more information on what isolation is so that maybe we can improve the UI String. Right now it sounds fine.
&gt; 
&gt; Is &quot;-webkit-isolation&quot; with children having blending the only way to get this state? Is just -webkit-isolation enough?
&gt; 
&gt; Note some of the other reasons include the CSS property, so it might be useful here to include &quot;-webkit-isolation&quot;.

&gt; I&apos;d want to get a little more information on what isolation
We say that a layer isolates, or create an isolated group as defined here: http://dev.w3.org/fxtf/compositing-1/#isolatedgroups, if descendant layers are composited over a fully transparent black backdrop, so that the layers with CSS blending will be able to access only the elements from inside the isolated group.

&gt; Is &quot;-webkit-isolation&quot; with children having blending the only way to get this state? Is just -webkit-isolation enough?
A layer isolates if it is a stacking context and has blending descendants: http://dev.w3.org/fxtf/compositing-1/#csscompositingrules_CSS . -webkit-isolation just turns the element into a stacking context: http://dev.w3.org/fxtf/compositing-1/#isolation, so a positioned layer with z-index would have the same effect.

I think we should not say &quot;-webkit-isolation&quot;, maybe &quot;Element is a stacking context and has composited descendants with CSS blending applied&quot;?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997325</commentid>
    <comment_count>12</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-03 15:14:22 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 228532 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=228532&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js:436
&gt; &gt;&gt; +            addReason(WebInspector.UIString(&quot;Element isolates composited descendants having CSS blending applied&quot;));
&gt; &gt; 
&gt; &gt; Very interesting! The patch looks good, As a user facing feature, I&apos;d want to get a little more information on what isolation is so that maybe we can improve the UI String. Right now it sounds fine.
&gt; &gt; 
&gt; &gt; Is &quot;-webkit-isolation&quot; with children having blending the only way to get this state? Is just -webkit-isolation enough?
&gt; &gt; 
&gt; &gt; Note some of the other reasons include the CSS property, so it might be useful here to include &quot;-webkit-isolation&quot;.
&gt; 
&gt; &gt; I&apos;d want to get a little more information on what isolation
&gt; We say that a layer isolates, or create an isolated group as defined here: http://dev.w3.org/fxtf/compositing-1/#isolatedgroups, if descendant layers are composited over a fully transparent black backdrop, so that the layers with CSS blending will be able to access only the elements from inside the isolated group.
&gt; 
&gt; &gt; Is &quot;-webkit-isolation&quot; with children having blending the only way to get this state? Is just -webkit-isolation enough?
&gt; A layer isolates if it is a stacking context and has blending descendants: http://dev.w3.org/fxtf/compositing-1/#csscompositingrules_CSS . -webkit-isolation just turns the element into a stacking context: http://dev.w3.org/fxtf/compositing-1/#isolation, so a positioned layer with z-index would have the same effect.

Excellent, thanks for the links.

&gt; I think we should not say &quot;-webkit-isolation&quot;, maybe &quot;Element is a stacking context and has composited descendants with CSS blending applied&quot;?.

I&apos;m fine with both &quot;Element isolates&quot; or &quot;Element is a stacking context&quot;. The 2nd will be more familiar to web developers, and if that really is all isolation is in this context, than it might be the more user friendly string. It seems that &quot;isolates&quot; is a more technical term. For example, I had no idea what it meant =).

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997555</commentid>
    <comment_count>13</comment_count>
      <attachid>228589</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-04-04 06:50:50 -0700</bug_when>
    <thetext>Created attachment 228589
fixing user facing string &amp; test error check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997628</commentid>
    <comment_count>14</comment_count>
      <attachid>228589</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-04 10:51:54 -0700</bug_when>
    <thetext>Comment on attachment 228589
fixing user facing string &amp; test error check

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997677</commentid>
    <comment_count>15</comment_count>
      <attachid>228589</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-04 13:34:49 -0700</bug_when>
    <thetext>Comment on attachment 228589
fixing user facing string &amp; test error check

Clearing flags on attachment: 228589

Committed r166800: &lt;http://trac.webkit.org/changeset/166800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997678</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-04 13:34:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228473</attachid>
            <date>2014-04-02 23:48:13 -0700</date>
            <delta_ts>2014-04-03 00:03:27 -0700</delta_ts>
            <desc>adding compositing reason for isolation</desc>
            <filename>bug-131153-20140403094752.patch</filename>
            <type>text/plain</type>
            <size>3589</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc2YzAwMzMzOTk5NTU4
YzMwMGUzOGM5MDQ3ZTM2M2ZlZmMyYzQ1MS4uMmQ4YjJiMTFlYjBhM2I3MWIwMTExNzNhODcyZmEw
MjI0NDE2NTBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE0LTA0LTAyICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CiAKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQWRkIGNv
bXBvc2l0aW5nIHJlYXNvbiBmb3IgaXNvbGF0aW9uIGluIFJlbmRlckxheWVyQ29tcG9zaXRvci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTE1Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSAyIHJlYXNvbnMgaW52b2x2aW5nIGJsZW5kIG1vZGVzIGZvciBhIGxheWVyIHRvIGJlIGNvbXBv
c2l0ZWQ6CisgICAgICAgIDEpIHRoZSBsYXllciBoYXMgYmxlbmQgbW9kZSBhbmQgaGFzIGNvbXBv
c2l0ZWQgZGVzY2VuZGFudHM6IENvbXBvc2l0aW5nUmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRl
ZERlc2NlbmRhbnRzLgorICAgICAgICAyKSB0aGUgbGF5ZXIgaGFzIHRvIGlzb2xhdGUgY29tcG9z
aXRlZCBibGVuZGluZyBkZXNjZW5kYW50czogQ29tcG9zaXRpbmdSZWFzb25Jc29sYXRlc0NvbXBv
c2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVk
IGluIFdlYkNvcmUsIHRoZSByZWFzb25zIGFyZSBtZW50IHRvIGJlIHVzZWQgaGVyZSBmb3IgZGVi
dWcgbG9nZ2luZy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWFzb25zRm9y
Q29tcG9zaXRpbmcpOiBzZXR0aW5nIHRoZSBjb3JyZWN0IHJlYXNvbiBmb3IgY29tcG9zaXRpbmcu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxvZ1JlYXNvbnNGb3JD
b21wb3NpdGluZyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
OiBhZGRpbmcgdGhlIG5ldyBjb21wb3NpdGluZyByZWFzb24uCisKKzIwMTQtMDQtMDIgIElvbiBS
b3NjYSAgPHJvc2NhQGFkb2JlLmNvbT4KKwogICAgICAgICBbQ1NTIEJsZW5kaW5nXSBDb21wb3Np
dGluZyByZXF1aXJlbWVudHMgZm9yIGJsZW5kaW5nIGFyZSBub3QgY29tcHV0ZWQgY29ycmVjdGx5
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NjQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCBiNTVmNWU0MzE5MWFmOGFlM2VhZjUxZGQ3Y2Y1NTVlOWQ2NTUzNzQ1Li40MWFl
M2I0ZjI3NTc3NWViZGMxMDVkNTc4NmZmM2ZiMzkyMzA4ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMjEyNyw2ICsy
MTI3LDkgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVhc29u
c0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKIAogI2lmIEVOQUJMRShDU1NfQ09NUE9T
SVRJTkcpCiAgICAgICAgIGlmIChsYXllci5pc29sYXRlc0NvbXBvc2l0ZWRCbGVuZGluZygpKQor
ICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRl
ZEJsZW5kaW5nRGVzY2VuZGFudHM7CisKKyAgICAgICAgaWYgKGxheWVyLmhhc0JsZW5kTW9kZSgp
KQogICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbkJsZW5kaW5nV2l0aENv
bXBvc2l0ZWREZXNjZW5kYW50czsKICNlbmRpZgogCkBAIC0yMjAyLDEwICsyMjA1LDE1IEBAIGNv
bnN0IGNoYXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bG9nUmVhc29uc0ZvckNvbXBvc2l0aW5n
KGNvbnN0IFJlbmRlckxheWVyJiBsCiAKICAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVh
c29uRmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuICJmaWx0
ZXIgd2l0aCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIjsKLSAgICAgICAgICAgIAorCisjaWYgRU5B
QkxFKENTU19DT01QT1NJVElORykKICAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29u
QmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm4gImJsZW5k
aW5nIHdpdGggY29tcG9zaXRlZCBkZXNjZW5kYW50cyI7CiAKKyAgICBpZiAocmVhc29ucyAmIENv
bXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cykKKyAg
ICAgICAgcmV0dXJuICJpc29sYXRlcyBjb21wb3NpdGVkIGJsZW5kaW5nIGRlc2NlbmRhbnRzIgor
I2VuZGlmCisKICAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uUGVyc3BlY3RpdmUp
CiAgICAgICAgIHJldHVybiAicGVyc3BlY3RpdmUiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggZTg2NTYxYzNmNWYzNWI0YmRk
MmRiMmZmMzZhZTEwNDY1MWYyZDlhMC4uMDM5NTJiY2NiNDVlMmQzODY1NTEzNjAxMWY3ZDliZTU0
N2IxOTMwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaApAQCAtODAsNyArODAsOCBAQCBlbnVtIHsKICAgICBDb21wb3NpdGluZ1JlYXNv
bkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyAgICAgID0gMSA8PCAyMCwKICAgICBD
b21wb3NpdGluZ1JlYXNvblBlcnNwZWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MSA8PCAyMSwKICAgICBDb21wb3NpdGluZ1JlYXNvblByZXNlcnZlM0QgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMSA8PCAyMiwKLSAgICBDb21wb3NpdGluZ1JlYXNvblJvb3QgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAyMworICAgIENvbXBvc2l0aW5nUmVh
c29uUm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDIzLAorICAg
IENvbXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyAg
PSAxIDw8IDI0LAogfTsKIHR5cGVkZWYgdW5zaWduZWQgQ29tcG9zaXRpbmdSZWFzb25zOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228475</attachid>
            <date>2014-04-03 00:03:38 -0700</date>
            <delta_ts>2014-04-03 12:50:07 -0700</delta_ts>
            <desc>nit</desc>
            <filename>bug-131153-20140403100316.patch</filename>
            <type>text/plain</type>
            <size>3590</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc2YzAwMzMzOTk5NTU4
YzMwMGUzOGM5MDQ3ZTM2M2ZlZmMyYzQ1MS4uMmQ4YjJiMTFlYjBhM2I3MWIwMTExNzNhODcyZmEw
MjI0NDE2NTBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE0LTA0LTAyICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CiAKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQWRkIGNv
bXBvc2l0aW5nIHJlYXNvbiBmb3IgaXNvbGF0aW9uIGluIFJlbmRlckxheWVyQ29tcG9zaXRvci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTE1Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSAyIHJlYXNvbnMgaW52b2x2aW5nIGJsZW5kIG1vZGVzIGZvciBhIGxheWVyIHRvIGJlIGNvbXBv
c2l0ZWQ6CisgICAgICAgIDEpIHRoZSBsYXllciBoYXMgYmxlbmQgbW9kZSBhbmQgaGFzIGNvbXBv
c2l0ZWQgZGVzY2VuZGFudHM6IENvbXBvc2l0aW5nUmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRl
ZERlc2NlbmRhbnRzLgorICAgICAgICAyKSB0aGUgbGF5ZXIgaGFzIHRvIGlzb2xhdGUgY29tcG9z
aXRlZCBibGVuZGluZyBkZXNjZW5kYW50czogQ29tcG9zaXRpbmdSZWFzb25Jc29sYXRlc0NvbXBv
c2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHJlcXVpcmVk
IGluIFdlYkNvcmUsIHRoZSByZWFzb25zIGFyZSBtZW50IHRvIGJlIHVzZWQgaGVyZSBmb3IgZGVi
dWcgbG9nZ2luZy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWFzb25zRm9y
Q29tcG9zaXRpbmcpOiBzZXR0aW5nIHRoZSBjb3JyZWN0IHJlYXNvbiBmb3IgY29tcG9zaXRpbmcu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxvZ1JlYXNvbnNGb3JD
b21wb3NpdGluZyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
OiBhZGRpbmcgdGhlIG5ldyBjb21wb3NpdGluZyByZWFzb24uCisKKzIwMTQtMDQtMDIgIElvbiBS
b3NjYSAgPHJvc2NhQGFkb2JlLmNvbT4KKwogICAgICAgICBbQ1NTIEJsZW5kaW5nXSBDb21wb3Np
dGluZyByZXF1aXJlbWVudHMgZm9yIGJsZW5kaW5nIGFyZSBub3QgY29tcHV0ZWQgY29ycmVjdGx5
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA2NjQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCBiNTVmNWU0MzE5MWFmOGFlM2VhZjUxZGQ3Y2Y1NTVlOWQ2NTUzNzQ1Li4yMTc4
NzUzYzQ1NDQzNjk0Mzk5NzYwMzM3OTkzMjI3NGY3OTZmZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMjEyNyw2ICsy
MTI3LDkgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVhc29u
c0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKIAogI2lmIEVOQUJMRShDU1NfQ09NUE9T
SVRJTkcpCiAgICAgICAgIGlmIChsYXllci5pc29sYXRlc0NvbXBvc2l0ZWRCbGVuZGluZygpKQor
ICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRl
ZEJsZW5kaW5nRGVzY2VuZGFudHM7CisKKyAgICAgICAgaWYgKGxheWVyLmhhc0JsZW5kTW9kZSgp
KQogICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbkJsZW5kaW5nV2l0aENv
bXBvc2l0ZWREZXNjZW5kYW50czsKICNlbmRpZgogCkBAIC0yMjAyLDEwICsyMjA1LDE1IEBAIGNv
bnN0IGNoYXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bG9nUmVhc29uc0ZvckNvbXBvc2l0aW5n
KGNvbnN0IFJlbmRlckxheWVyJiBsCiAKICAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVh
c29uRmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKICAgICAgICAgcmV0dXJuICJmaWx0
ZXIgd2l0aCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIjsKLSAgICAgICAgICAgIAorCisjaWYgRU5B
QkxFKENTU19DT01QT1NJVElORykKICAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29u
QmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQogICAgICAgICByZXR1cm4gImJsZW5k
aW5nIHdpdGggY29tcG9zaXRlZCBkZXNjZW5kYW50cyI7CiAKKyAgICBpZiAocmVhc29ucyAmIENv
bXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cykKKyAg
ICAgICAgcmV0dXJuICJpc29sYXRlcyBjb21wb3NpdGVkIGJsZW5kaW5nIGRlc2NlbmRhbnRzIjsK
KyNlbmRpZgorCiAgICAgaWYgKHJlYXNvbnMgJiBDb21wb3NpdGluZ1JlYXNvblBlcnNwZWN0aXZl
KQogICAgICAgICByZXR1cm4gInBlcnNwZWN0aXZlIjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IGU4NjU2MWMzZjVmMzViNGJk
ZDJkYjJmZjM2YWUxMDQ2NTFmMmQ5YTAuLjAzOTUyYmNjYjQ1ZTJkMzg2NTUxMzYwMTFmN2Q5YmU1
NDdiMTkzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmgKQEAgLTgwLDcgKzgwLDggQEAgZW51bSB7CiAgICAgQ29tcG9zaXRpbmdSZWFz
b25CbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMgICAgICA9IDEgPDwgMjAsCiAgICAg
Q29tcG9zaXRpbmdSZWFzb25QZXJzcGVjdGl2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDEgPDwgMjEsCiAgICAgQ29tcG9zaXRpbmdSZWFzb25QcmVzZXJ2ZTNEICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDEgPDwgMjIsCi0gICAgQ29tcG9zaXRpbmdSZWFzb25Sb290ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjMKKyAgICBDb21wb3NpdGluZ1Jl
YXNvblJvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAyMywKKyAg
ICBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMg
ID0gMSA8PCAyNCwKIH07CiB0eXBlZGVmIHVuc2lnbmVkIENvbXBvc2l0aW5nUmVhc29uczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228532</attachid>
            <date>2014-04-03 12:50:18 -0700</date>
            <delta_ts>2014-04-04 06:50:37 -0700</delta_ts>
            <desc>adding inspector code &amp; test</desc>
            <filename>bug-131153-20140403224957.patch</filename>
            <type>text/plain</type>
            <size>15100</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc2YzAwMzMzOTk5NTU4
YzMwMGUzOGM5MDQ3ZTM2M2ZlZmMyYzQ1MS4uNmM1Yjc5NDliOGI4NTMwZDdhYmI1NTIwMjc0ZjBh
NzVhY2NlNDU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA0LTAzICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQWRkIGNv
bXBvc2l0aW5nIHJlYXNvbiBmb3IgaXNvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxMTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIDIgcmVhc29ucyBpbnZvbHZpbmcgYmxl
bmQgbW9kZXMgZm9yIGEgbGF5ZXIgdG8gYmUgY29tcG9zaXRlZDoKKyAgICAgICAgMSkgdGhlIGxh
eWVyIGhhcyBibGVuZCBtb2RlIGFuZCBoYXMgY29tcG9zaXRlZCBkZXNjZW5kYW50czogQ29tcG9z
aXRpbmdSZWFzb25CbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMuCisgICAgICAgIDIp
IHRoZSBsYXllciBoYXMgdG8gaXNvbGF0ZSBjb21wb3NpdGVkIGJsZW5kaW5nIGRlc2NlbmRhbnRz
OiBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMK
KworICAgICAgICBUZXN0OiBpbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1ibGVuZGlu
Zy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRy
ZWVBZ2VudDo6cmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9wcm90b2NvbC9MYXllclRyZWUuanNvbjoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6cmVhc29uc0ZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bG9nUmVhc29uc0ZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6IGFkZGluZyBDb21wb3NpdGluZ1JlYXNvbklzb2xh
dGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMuCisKIDIwMTQtMDQtMDIgIElvbiBSb3Nj
YSAgPHJvc2NhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEJsZW5kaW5nXSBDb21wb3NpdGlu
ZyByZXF1aXJlbWVudHMgZm9yIGJsZW5kaW5nIGFyZSBub3QgY29tcHV0ZWQgY29ycmVjdGx5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAyMjQwZGZjODJkMDhkYzllOWNmZDFlMjFlMTAyN2M3
ZmM2ZDhlYzc1Li4wNmQ1NGU5NWE1ZmI0MzE4NmMzNzJlYjg2ODg3YTE2NzVlMDRmYmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wNC0wMyAgSW9uIFJv
c2NhICA8cm9zY2FAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgQmxlbmRpbmddIEFkZCBjb21w
b3NpdGluZyByZWFzb24gZm9yIGlzb2xhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTE1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlU2lkZWJh
clBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheWVyVHJlZVNpZGViYXJQYW5lbC5w
cm90b3R5cGUuX3BvcHVsYXRlTGlzdE9mQ29tcG9zaXRpbmdSZWFzb25zKToKKwogMjAxNC0wNC0w
MSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IEhlYXBQcm9maWxlciBmcm9tIHRoZSBXZWIgSW5zcGVjdG9yIHByb3RvY29sLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKaW5k
ZXggMGIyNTkzYjU0ZGI1NDcyNTNjYzU2MmNhZmJlOTJhMGE2MjE3ZThjOS4uYTAzN2ZhOGNjOTcw
Y2NkZmM2MWY4YTg4NjRhOTg5NmFjZjM3ZDlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCkBAIC0yOTgsNiArMjk4LDkg
QEAgdm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6cmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5
ZXIoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW4KICAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21w
b3NpdGluZ1JlYXNvbkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKICAgICAgICAg
Y29tcG9zaXRpbmdSZWFzb25zLT5zZXRCbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMo
dHJ1ZSk7CiAKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3NpdGluZ1JlYXNvbklzb2xh
dGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMpCisgICAgICAgIGNvbXBvc2l0aW5nUmVh
c29ucy0+c2V0SXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyh0cnVlKTsKKwog
ICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUGVyc3BlY3RpdmUpCiAg
ICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0UGVyc3BlY3RpdmUodHJ1ZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9MYXllclRyZWUuanNvbiBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9MYXllclRyZWUuanNvbgppbmRleCAz
M2Y3ZGJmMDM5OGJmMzRhZWQ1ZjRhZTA1MzZiYTQzMTllY2VmNDkyLi5iYzM1Y2U4YTkyY2Q3YzQz
YTM5OTk2Yzk2ZGVhM2FkZDAwNjhiOGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvTGF5ZXJUcmVlLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL0xheWVyVHJlZS5qc29uCkBAIC02Nyw2ICs2Nyw3IEBACiAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJyZWZsZWN0aW9uV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyIsICJ0
eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcG9z
aXRpb24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIGEgcmVmbGVjdGlv
biBhbmQgY29tcG9zaXRlZCBkZXNjZW5kYW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJmaWx0ZXJXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNz
b2NpYXRpb24gd2l0aCBhbiBlbGVtZW50IHdpdGggQ1NTIGZpbHRlcnMgYXBwbGllZCBhbmQgY29t
cG9zaXRlZCBkZXNjZW5kYW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJibGVu
ZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlv
biB3aXRoIGFuIGVsZW1lbnQgd2l0aCBDU1MgYmxlbmRpbmcgYXBwbGllZCBhbmQgY29tcG9zaXRl
ZCBkZXNjZW5kYW50cy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpc29sYXRlc0Nv
bXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24g
d2l0aCBhbiBlbGVtZW50IGlzb2xhdGluZyBjb21wb3NpdGluZyBkZXNjZW5kYW50cyBoYXZpbmcg
Q1NTIGJsZW5kaW5nIGFwcGxpZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGVy
c3BlY3RpdmUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVsZW1lbnQgd2l0
aCBwZXJzcGVjdGl2ZSBhcHBsaWVkLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBy
ZXNlcnZlM0QiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVsZW1lbnQgd2l0
aCBhIFwidHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZFwiIHN0eWxlLiIgfSwKICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInJvb3QiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjog
dHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRo
IHRoZSByb290IGVsZW1lbnQuIiB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBiNTVmNWU0MzE5MWFmOGFlM2VhZjUxZGQ3
Y2Y1NTVlOWQ2NTUzNzQ1Li4yMTc4NzUzYzQ1NDQzNjk0Mzk5NzYwMzM3OTkzMjI3NGY3OTZmZGM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcApAQCAtMjEyNyw2ICsyMTI3LDkgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVhc29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKIAog
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgICAgIGlmIChsYXllci5pc29sYXRlc0Nv
bXBvc2l0ZWRCbGVuZGluZygpKQorICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1Jl
YXNvbklzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHM7CisKKyAgICAgICAgaWYg
KGxheWVyLmhhc0JsZW5kTW9kZSgpKQogICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGlu
Z1JlYXNvbkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50czsKICNlbmRpZgogCkBAIC0y
MjAyLDEwICsyMjA1LDE1IEBAIGNvbnN0IGNoYXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bG9n
UmVhc29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWVyJiBsCiAKICAgICBpZiAocmVh
c29ucyAmIENvbXBvc2l0aW5nUmVhc29uRmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykK
ICAgICAgICAgcmV0dXJuICJmaWx0ZXIgd2l0aCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIjsKLSAg
ICAgICAgICAgIAorCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICBpZiAocmVhc29u
cyAmIENvbXBvc2l0aW5nUmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQog
ICAgICAgICByZXR1cm4gImJsZW5kaW5nIHdpdGggY29tcG9zaXRlZCBkZXNjZW5kYW50cyI7CiAK
KyAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxl
bmRpbmdEZXNjZW5kYW50cykKKyAgICAgICAgcmV0dXJuICJpc29sYXRlcyBjb21wb3NpdGVkIGJs
ZW5kaW5nIGRlc2NlbmRhbnRzIjsKKyNlbmRpZgorCiAgICAgaWYgKHJlYXNvbnMgJiBDb21wb3Np
dGluZ1JlYXNvblBlcnNwZWN0aXZlKQogICAgICAgICByZXR1cm4gInBlcnNwZWN0aXZlIjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmlu
ZGV4IGU4NjU2MWMzZjVmMzViNGJkZDJkYjJmZjM2YWUxMDQ2NTFmMmQ5YTAuLjAzOTUyYmNjYjQ1
ZTJkMzg2NTUxMzYwMTFmN2Q5YmU1NDdiMTkzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTgwLDcgKzgwLDggQEAgZW51bSB7
CiAgICAgQ29tcG9zaXRpbmdSZWFzb25CbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMg
ICAgICA9IDEgPDwgMjAsCiAgICAgQ29tcG9zaXRpbmdSZWFzb25QZXJzcGVjdGl2ZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjEsCiAgICAgQ29tcG9zaXRpbmdSZWFzb25QcmVz
ZXJ2ZTNEICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjIsCi0gICAgQ29tcG9z
aXRpbmdSZWFzb25Sb290ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwg
MjMKKyAgICBDb21wb3NpdGluZ1JlYXNvblJvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMSA8PCAyMywKKyAgICBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRl
ZEJsZW5kaW5nRGVzY2VuZGFudHMgID0gMSA8PCAyNCwKIH07CiB0eXBlZGVmIHVuc2lnbmVkIENv
bXBvc2l0aW5nUmVhc29uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXgg
NjY1YjI1ZWM2ZTNhNzAzMDhiNGYxMmM5MmJiOTEwM2E1MjY5OTkzMy4uMzg0YjYzZjQwMWIxYjEx
MjM2Njk1ZWQ4ZmMwZDcxNzQ4YWMwZTllMiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA5
OAp6Y21aMjlwWlVvYDxfLTZxYDc7QGM4Uyl1Jjchbnl1NypaTEVDa01GY15DfmM4MFFxR01uR0FV
aD42MlpZd0l9bnMKUSRQbFNBKyRDYyh1Z2xiSzA3YEhnJT5WIVoKCmRlbHRhIDMwCm1jbWFFfGth
XkwzPF8tNnFDKSt5PE9zO2xTbjdyUnhZNFVBWHdhcWhLeX1KUl5BUHFKRQoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZVNpZGVi
YXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xh
eWVyVHJlZVNpZGViYXJQYW5lbC5qcwppbmRleCA0ZTUwZTNlZGVhMDJiMDhhM2E5MTA3NmNlZGIw
ZDRhODdlNmFjYjRiLi41MmRjNDAzZTUwZjZlZmJmNmVhY2RhNDZmY2U0N2RhZDk3Njc3MWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXll
clRyZWVTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmpzCkBAIC00MzIsNiArNDMyLDggQEAg
V2ViSW5zcGVjdG9yLkxheWVyVHJlZVNpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICBhZGRSZWFzb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbGVtZW50IGhhcyBDU1MgZmls
dGVycyBhcHBsaWVkIGFuZCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIikpOwogICAgICAgICBpZiAo
Y29tcG9zaXRpbmdSZWFzb25zLmJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKICAg
ICAgICAgICAgIGFkZFJlYXNvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVsZW1lbnQgaGFzIENT
UyBibGVuZGluZyBhcHBsaWVkIGFuZCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIikpOworICAgICAg
ICBpZiAoY29tcG9zaXRpbmdSZWFzb25zLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2Vu
ZGFudHMpCisgICAgICAgICAgICBhZGRSZWFzb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbGVt
ZW50IGlzb2xhdGVzIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMgaGF2aW5nIENTUyBibGVuZGluZyBh
cHBsaWVkIikpOwogICAgICAgICBpZiAoY29tcG9zaXRpbmdSZWFzb25zLnBlcnNwZWN0aXZlKQog
ICAgICAgICAgICAgYWRkUmVhc29uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiRWxlbWVudCBoYXMg
cGVyc3BlY3RpdmUgYXBwbGllZCIpKTsKICAgICAgICAgaWYgKGNvbXBvc2l0aW5nUmVhc29ucy5w
cmVzZXJ2ZTNEKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDQ0Nzk2ZWY4NmUxYTQyOGI4ZmRlMjlmYzI5ZjU5MDJiYTZhNjkz
NzcuLmFhNTgyMTM1NTZhYTc4YjVkMTBjY2Y2NjZmOWY3OTc4MTQ0NzI5OWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNC0wNC0wMyAgSW9uIFJvc2NhICA8cm9zY2FAYWRvYmUuY29tPgorCisg
ICAgICAgIFtDU1MgQmxlbmRpbmddIEFkZCBjb21wb3NpdGluZyByZWFzb24gZm9yIGlzb2xhdGlv
bi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTE1
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYmxlbmRpbmctY29tcG9zaXRpbmctcmVhc29u
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9sYXll
cnMvbGF5ZXJzLWJsZW5kaW5nLWNvbXBvc2l0aW5nLXJlYXNvbnMuaHRtbDogQWRkZWQuCisKIDIw
MTQtMDQtMDIgIElvbiBSb3NjYSAgPHJvc2NhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEJs
ZW5kaW5nXSBDb21wb3NpdGluZyByZXF1aXJlbWVudHMgZm9yIGJsZW5kaW5nIGFyZSBub3QgY29t
cHV0ZWQgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvbGF5ZXJzL2xheWVycy1ibGVuZGluZy1jb21wb3NpdGluZy1yZWFzb25zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWJsZW5kaW5n
LWNvbXBvc2l0aW5nLXJlYXNvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlODc1ODU1MWQw
MGE0MGRmZDQ2YjQ0YzM3OWJjOWUyMDZhODBmOTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1ibGVuZGluZy1jb21wb3NpdGlu
Zy1yZWFzb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACisKKz09PSBFbmFibGUgdGhl
IExheWVyVHJlZSBhZ2VudCA9PT0KKworUEFTUworCis9PT0gR2V0IHRoZSBEb2N1bWVudCA9PT0K
KworUEFTUworCis9PT0gR2V0IHRoZSBsYXllciB0cmVlID09PQorCitQQVNTCisKKz09PSBDaGVj
ayBsYXllcnMnIHJlYXNvbnMgZm9yIGNvbXBvc2l0aW5nID09PQorCitQQVNTOiA8ZGl2IGlkPSJp
c29sYXRpbmciPiBpcyBjb21wb3NpdGlvbiBkdWUgdG8gaXNvbGF0aW5nIGNvbXBvc2l0aW5nIGRl
c2NlbmRhbnRzIGhhdmluZyBDU1MgYmxlbmRpbmcgYXBwbGllZC4KK1BBU1M6IDxkaXYgaWQ9ImJs
ZW5kaW5nIj4gaXMgY29tcG9zaXRlZCBkdWUgaGF2aW5nIENTUyBibGVuZGluZyBhcHBsaWVkIGFu
ZCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1ibGVuZGluZy1jb21wb3NpdGluZy1yZWFzb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1ibGVu
ZGluZy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMxMDAyYTg1Yzg5NDMz
OTY5YWY5NWVlNTUwZjZmM2QwZGQ0OTFhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWJsZW5kaW5nLWNvbXBvc2l0aW5nLXJl
YXNvbnMuaHRtbApAQCAtMCwwICsxLDE2NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gdGVzdCgpCit7CisKKyAgICB2YXIgbm9kZXMg
PSBbXTsKKyAKKyAgICBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxlclsiRE9NLnNldENoaWxkTm9k
ZXMiXSA9IHNldENoaWxkTm9kZXM7CisKKyAgICBlbmFibGVMYXllclRyZWVBZ2VudCgpOworICAg
IAorICAgIGZ1bmN0aW9uIGVuYWJsZUxheWVyVHJlZUFnZW50KHJlc3VsdCkKKyAgICB7CisgICAg
ICAgIHN0ZXAoeworICAgICAgICAgICAgbmFtZTogIkVuYWJsZSB0aGUgTGF5ZXJUcmVlIGFnZW50
IiwKKyAgICAgICAgICAgIGNvbW1hbmQ6ICJMYXllclRyZWUuZW5hYmxlIiwKKyAgICAgICAgICAg
IHBhcmFtZXRlcnM6IHt9LAorICAgICAgICAgICAgY2FsbGJhY2s6IGdldERvY3VtZW50CisgICAg
ICAgIH0pOworICAgIH07CisKKyAgICBmdW5jdGlvbiBnZXREb2N1bWVudCgpCisgICAgeworICAg
ICAgICAvLyBXZSBtdXN0IGZpcnN0IGdldCB0aGUgZG9jdW1lbnQgc28gdGhhdCBsYXRlciBvbiB3
ZSBtYXkgZ2V0IHNlbnNpYmxlIG5vZGVJZHMuCisgICAgICAgIHN0ZXAoeworICAgICAgICAgICAg
bmFtZTogIkdldCB0aGUgRG9jdW1lbnQiLAorICAgICAgICAgICAgY29tbWFuZDogIkRPTS5nZXRE
b2N1bWVudCIsCisgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7fSwKKyAgICAgICAgICAgIGNhbGxi
YWNrOiBnZXRMYXllclRyZWUKKyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIGdl
dExheWVyVHJlZShyZXN1bHQpCisgICAgeworICAgICAgICBzdGVwKHsKKyAgICAgICAgICAgIG5h
bWU6ICJHZXQgdGhlIGxheWVyIHRyZWUiLAorICAgICAgICAgICAgY29tbWFuZDogIkxheWVyVHJl
ZS5sYXllcnNGb3JOb2RlIiwKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6IHsibm9kZUlkIjogcmVz
dWx0LnJvb3Qubm9kZUlkfSwKKyAgICAgICAgICAgIGNhbGxiYWNrOiBnb3RMYXllclRyZWUKKyAg
ICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIGdvdExheWVyVHJlZShyZXN1bHQpCisg
ICAgeworICAgICAgICBsb2dUZXN0TmFtZSgiQ2hlY2sgbGF5ZXJzJyByZWFzb25zIGZvciBjb21w
b3NpdGluZyIpCisgICAgICAgIAorICAgICAgICB2YXIgbGF5ZXJzID0gcmVzdWx0LmxheWVyczsK
KworICAgICAgICB2YXIgbm9kZXNCeUlkID0ge307CisgICAgICAgIG5vZGVzLmZvckVhY2goZnVu
Y3Rpb24obm9kZSkgeworICAgICAgICAgICAgbm9kZXNCeUlkW25vZGUubm9kZUlkXSA9IG5vZGU7
CisgICAgICAgIH0pOworCisgICAgICAgIHZhciBjb3VudCA9IDA7CisgICAgICAgIAorICAgICAg
ICBmdW5jdGlvbiBoYXNJZChub2RlLCBpZCkgeworICAgICAgICAgICAgcmV0dXJuIG5vZGUgJiYg
bm9kZS5hdHRyaWJ1dGVzICYmIG5vZGUuYXR0cmlidXRlc1swXSA9PT0gImlkIiAmJiBub2RlLmF0
dHJpYnV0ZXNbMV0gPT09IGlkOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlv
biBkdW1wUmVhc29ucyhsYXllciwgY29tcG9zaXRpbmdSZWFzb25zKSB7CisgICAgICAgICAgICB2
YXIgbm9kZSA9IG5vZGVzQnlJZFtsYXllci5ub2RlSWRdOworCisgICAgICAgICAgICBpZiAoaGFz
SWQobm9kZSwgImJsZW5kaW5nIikpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoCisgICAgICAg
ICAgICAgICAgICAgICI8ZGl2IGlkPVwiYmxlbmRpbmdcIj4gaXMgY29tcG9zaXRlZCBkdWUgaGF2
aW5nIENTUyBibGVuZGluZyBhcHBsaWVkIGFuZCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIiwKKyAg
ICAgICAgICAgICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLmJsZW5kaW5nV2l0aENvbXBvc2l0
ZWREZXNjZW5kYW50cywKKyAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7CisgICAgICAgICAgICB9
IGVsc2UgaWYgKGhhc0lkKG5vZGUsICJpc29sYXRpbmciKSkgeworICAgICAgICAgICAgICAgIGFz
c2VydCgKKyAgICAgICAgICAgICAgICAgICAgIjxkaXYgaWQ9XCJpc29sYXRpbmdcIj4gaXMgY29t
cG9zaXRpb24gZHVlIHRvIGlzb2xhdGluZyBjb21wb3NpdGluZyBkZXNjZW5kYW50cyBoYXZpbmcg
Q1NTIGJsZW5kaW5nIGFwcGxpZWQiLAorICAgICAgICAgICAgICAgICAgICBjb21wb3NpdGluZ1Jl
YXNvbnMuaXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cywKKyAgICAgICAgICAg
ICAgICAgICAgdHJ1ZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICgrK2NvdW50
ID09PSBsYXllcnMubGVuZ3RoKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7CisgICAgICAgIH07CisKKyAgICAgICAgbGF5ZXJzLmZvckVhY2goZnVuY3Rpb24g
KGxheWVyKSB7CisgICAgICAgICAgICBydW5Db21tYW5kKHsKKyAgICAgICAgICAgICAgICBjb21t
YW5kOiAiTGF5ZXJUcmVlLnJlYXNvbnNGb3JDb21wb3NpdGluZ0xheWVyIiwKKyAgICAgICAgICAg
ICAgICBwYXJhbWV0ZXJzOiB7ImxheWVySWQiOiBsYXllci5sYXllcklkfSwKKyAgICAgICAgICAg
ICAgICBjYWxsYmFjazogZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAgICAgICAgICAgICAgIGR1
bXBSZWFzb25zKGxheWVyLCByZXN1bHQuY29tcG9zaXRpbmdSZWFzb25zKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0
aW9uIHNldENoaWxkTm9kZXMgKG1lc3NhZ2VPYmplY3QpIHsKKyAgICAgICAgbWVzc2FnZU9iamVj
dC5wYXJhbXMubm9kZXMuZm9yRWFjaChmdW5jdGlvbiAobm9kZSkgeworICAgICAgICAgICAgbm9k
ZXMucHVzaChub2RlKTsKKyAgICAgICAgfSkKKyAgICB9OworCisgICAgZnVuY3Rpb24gc3RlcCh0
ZXN0KQorICAgIHsKKyAgICAgICAgaWYgKHRlc3QuY2FsbGJhY2spCisgICAgICAgICAgICBsb2dU
ZXN0TmFtZSh0ZXN0Lm5hbWUpOworICAgICAgICBydW5Db21tYW5kKHRlc3QpOworICAgIH07CisK
KyAgICBmdW5jdGlvbiBsb2dUZXN0TmFtZShuYW1lKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIlxuPT09ICIgKyBuYW1lICsgIiA9PT1cbiIpOworICAgIH07CisKKyAgICBmdW5j
dGlvbiBydW5Db21tYW5kKGNvbW1hbmQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnNl
bmRDb21tYW5kKGNvbW1hbmQuY29tbWFuZCwgY29tbWFuZC5wYXJhbWV0ZXJzLCBmdW5jdGlvbiht
ZXNzYWdlT2JqZWN0KSB7CisgICAgICAgICAgICBpZiAobWVzc2FnZU9iamVjdC5oYXNPd25Qcm9w
ZXJ0eSgiZXJyb3IiKSkgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJGQUlM
OiAiICsgbWVzc2FnZU9iamVjdC5lcnJvci5tZXNzYWdlICsgIiAoIiArIG1lc3NhZ2VPYmplY3Qu
ZXJyb3IuY29kZSArICIpIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmIChjb21tYW5kLm5hbWUpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlBBU1MiKTsKKworICAgICAgICAgICAgaWYgKGNvbW1hbmQuY2FsbGJhY2spCisgICAgICAg
ICAgICAgICAgY29tbWFuZC5jYWxsYmFjayhtZXNzYWdlT2JqZWN0LnJlc3VsdCk7CisgICAgICAg
IH0pOworICAgIH07CisKKyAgICBmdW5jdGlvbiBhc3NlcnQobmFtZSwgYWN0dWFsLCBleHBlY3Rl
ZCkKKyAgICB7CisgICAgICAgIGlmIChleHBlY3RlZCA9PT0gYWN0dWFsKQorICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIlBBU1M6ICIgKyBuYW1lICsgIi4iKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZBSUw6ICIgKyBuYW1lICsgIi4gRXhwZWN0
ZWQgIiArIGV4cGVjdGVkICsgIiBidXQgZ290ICIgKyBhY3R1YWwpOworICAgIH07CisKK307CisK
K3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKQor
eworICAgIHJ1blRlc3QoKTsKK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgorICAgICAgCisgICAgI2lzb2xhdGluZyB7CisgICAgICAgIC13ZWJraXQtaXNv
bGF0aW9uOiBpc29sYXRlOworICAgIH0KKworICAgICNibGVuZGluZyB7CisgICAgICAgIC13ZWJr
aXQtbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7CisgICAgfQorCisgICAgI2NvbXBvc2l0ZWQg
eworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKKyAgICB9CisKKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJpc29sYXRpbmciPgorICAgICAg
ICA8ZGl2IGlkPSJibGVuZGluZyI+CisgICAgICAgICAgICA8ZGl2IGlkPSJjb21wb3NpdGVkIj48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228589</attachid>
            <date>2014-04-04 06:50:50 -0700</date>
            <delta_ts>2014-04-04 13:34:49 -0700</delta_ts>
            <desc>fixing user facing string &amp; test error check</desc>
            <filename>bug-131153-20140404165027.patch</filename>
            <type>text/plain</type>
            <size>14906</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc2YzAwMzMzOTk5NTU4
YzMwMGUzOGM5MDQ3ZTM2M2ZlZmMyYzQ1MS4uNmM1Yjc5NDliOGI4NTMwZDdhYmI1NTIwMjc0ZjBh
NzVhY2NlNDU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA0LTAzICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQWRkIGNv
bXBvc2l0aW5nIHJlYXNvbiBmb3IgaXNvbGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxMTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIDIgcmVhc29ucyBpbnZvbHZpbmcgYmxl
bmQgbW9kZXMgZm9yIGEgbGF5ZXIgdG8gYmUgY29tcG9zaXRlZDoKKyAgICAgICAgMSkgdGhlIGxh
eWVyIGhhcyBibGVuZCBtb2RlIGFuZCBoYXMgY29tcG9zaXRlZCBkZXNjZW5kYW50czogQ29tcG9z
aXRpbmdSZWFzb25CbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMuCisgICAgICAgIDIp
IHRoZSBsYXllciBoYXMgdG8gaXNvbGF0ZSBjb21wb3NpdGVkIGJsZW5kaW5nIGRlc2NlbmRhbnRz
OiBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMK
KworICAgICAgICBUZXN0OiBpbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1ibGVuZGlu
Zy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRy
ZWVBZ2VudDo6cmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9wcm90b2NvbC9MYXllclRyZWUuanNvbjoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6cmVhc29uc0ZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6bG9nUmVhc29uc0ZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6IGFkZGluZyBDb21wb3NpdGluZ1JlYXNvbklzb2xh
dGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMuCisKIDIwMTQtMDQtMDIgIElvbiBSb3Nj
YSAgPHJvc2NhQGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIEJsZW5kaW5nXSBDb21wb3NpdGlu
ZyByZXF1aXJlbWVudHMgZm9yIGJsZW5kaW5nIGFyZSBub3QgY29tcHV0ZWQgY29ycmVjdGx5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAyMjQwZGZjODJkMDhkYzllOWNmZDFlMjFlMTAyN2M3
ZmM2ZDhlYzc1Li4wNmQ1NGU5NWE1ZmI0MzE4NmMzNzJlYjg2ODg3YTE2NzVlMDRmYmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wNC0wMyAgSW9uIFJv
c2NhICA8cm9zY2FAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgQmxlbmRpbmddIEFkZCBjb21w
b3NpdGluZyByZWFzb24gZm9yIGlzb2xhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTE1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlU2lkZWJh
clBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheWVyVHJlZVNpZGViYXJQYW5lbC5w
cm90b3R5cGUuX3BvcHVsYXRlTGlzdE9mQ29tcG9zaXRpbmdSZWFzb25zKToKKwogMjAxNC0wNC0w
MSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IEhlYXBQcm9maWxlciBmcm9tIHRoZSBXZWIgSW5zcGVjdG9yIHByb3RvY29sLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKaW5k
ZXggMGIyNTkzYjU0ZGI1NDcyNTNjYzU2MmNhZmJlOTJhMGE2MjE3ZThjOS4uYTAzN2ZhOGNjOTcw
Y2NkZmM2MWY4YTg4NjRhOTg5NmFjZjM3ZDlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCkBAIC0yOTgsNiArMjk4LDkg
QEAgdm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6cmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5
ZXIoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW4KICAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21w
b3NpdGluZ1JlYXNvbkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKICAgICAgICAg
Y29tcG9zaXRpbmdSZWFzb25zLT5zZXRCbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMo
dHJ1ZSk7CiAKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3NpdGluZ1JlYXNvbklzb2xh
dGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMpCisgICAgICAgIGNvbXBvc2l0aW5nUmVh
c29ucy0+c2V0SXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyh0cnVlKTsKKwog
ICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUGVyc3BlY3RpdmUpCiAg
ICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0UGVyc3BlY3RpdmUodHJ1ZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9MYXllclRyZWUuanNvbiBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9MYXllclRyZWUuanNvbgppbmRleCAz
M2Y3ZGJmMDM5OGJmMzRhZWQ1ZjRhZTA1MzZiYTQzMTllY2VmNDkyLi5iYzM1Y2U4YTkyY2Q3YzQz
YTM5OTk2Yzk2ZGVhM2FkZDAwNjhiOGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvTGF5ZXJUcmVlLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL0xheWVyVHJlZS5qc29uCkBAIC02Nyw2ICs2Nyw3IEBACiAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJyZWZsZWN0aW9uV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyIsICJ0
eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcG9z
aXRpb24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIGEgcmVmbGVjdGlv
biBhbmQgY29tcG9zaXRlZCBkZXNjZW5kYW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJmaWx0ZXJXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNz
b2NpYXRpb24gd2l0aCBhbiBlbGVtZW50IHdpdGggQ1NTIGZpbHRlcnMgYXBwbGllZCBhbmQgY29t
cG9zaXRlZCBkZXNjZW5kYW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJibGVu
ZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlv
biB3aXRoIGFuIGVsZW1lbnQgd2l0aCBDU1MgYmxlbmRpbmcgYXBwbGllZCBhbmQgY29tcG9zaXRl
ZCBkZXNjZW5kYW50cy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpc29sYXRlc0Nv
bXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24g
d2l0aCBhbiBlbGVtZW50IGlzb2xhdGluZyBjb21wb3NpdGluZyBkZXNjZW5kYW50cyBoYXZpbmcg
Q1NTIGJsZW5kaW5nIGFwcGxpZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGVy
c3BlY3RpdmUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVsZW1lbnQgd2l0
aCBwZXJzcGVjdGl2ZSBhcHBsaWVkLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBy
ZXNlcnZlM0QiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVsZW1lbnQgd2l0
aCBhIFwidHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZFwiIHN0eWxlLiIgfSwKICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInJvb3QiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjog
dHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRo
IHRoZSByb290IGVsZW1lbnQuIiB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBiNTVmNWU0MzE5MWFmOGFlM2VhZjUxZGQ3
Y2Y1NTVlOWQ2NTUzNzQ1Li4yMTc4NzUzYzQ1NDQzNjk0Mzk5NzYwMzM3OTkzMjI3NGY3OTZmZGM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcApAQCAtMjEyNyw2ICsyMTI3LDkgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVhc29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKIAog
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgICAgIGlmIChsYXllci5pc29sYXRlc0Nv
bXBvc2l0ZWRCbGVuZGluZygpKQorICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1Jl
YXNvbklzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHM7CisKKyAgICAgICAgaWYg
KGxheWVyLmhhc0JsZW5kTW9kZSgpKQogICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGlu
Z1JlYXNvbkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50czsKICNlbmRpZgogCkBAIC0y
MjAyLDEwICsyMjA1LDE1IEBAIGNvbnN0IGNoYXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bG9n
UmVhc29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWVyJiBsCiAKICAgICBpZiAocmVh
c29ucyAmIENvbXBvc2l0aW5nUmVhc29uRmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykK
ICAgICAgICAgcmV0dXJuICJmaWx0ZXIgd2l0aCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIjsKLSAg
ICAgICAgICAgIAorCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICBpZiAocmVhc29u
cyAmIENvbXBvc2l0aW5nUmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQog
ICAgICAgICByZXR1cm4gImJsZW5kaW5nIHdpdGggY29tcG9zaXRlZCBkZXNjZW5kYW50cyI7CiAK
KyAgICBpZiAocmVhc29ucyAmIENvbXBvc2l0aW5nUmVhc29uSXNvbGF0ZXNDb21wb3NpdGVkQmxl
bmRpbmdEZXNjZW5kYW50cykKKyAgICAgICAgcmV0dXJuICJpc29sYXRlcyBjb21wb3NpdGVkIGJs
ZW5kaW5nIGRlc2NlbmRhbnRzIjsKKyNlbmRpZgorCiAgICAgaWYgKHJlYXNvbnMgJiBDb21wb3Np
dGluZ1JlYXNvblBlcnNwZWN0aXZlKQogICAgICAgICByZXR1cm4gInBlcnNwZWN0aXZlIjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmlu
ZGV4IGU4NjU2MWMzZjVmMzViNGJkZDJkYjJmZjM2YWUxMDQ2NTFmMmQ5YTAuLjAzOTUyYmNjYjQ1
ZTJkMzg2NTUxMzYwMTFmN2Q5YmU1NDdiMTkzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTgwLDcgKzgwLDggQEAgZW51bSB7
CiAgICAgQ29tcG9zaXRpbmdSZWFzb25CbGVuZGluZ1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMg
ICAgICA9IDEgPDwgMjAsCiAgICAgQ29tcG9zaXRpbmdSZWFzb25QZXJzcGVjdGl2ZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjEsCiAgICAgQ29tcG9zaXRpbmdSZWFzb25QcmVz
ZXJ2ZTNEICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwgMjIsCi0gICAgQ29tcG9z
aXRpbmdSZWFzb25Sb290ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEgPDwg
MjMKKyAgICBDb21wb3NpdGluZ1JlYXNvblJvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMSA8PCAyMywKKyAgICBDb21wb3NpdGluZ1JlYXNvbklzb2xhdGVzQ29tcG9zaXRl
ZEJsZW5kaW5nRGVzY2VuZGFudHMgID0gMSA8PCAyNCwKIH07CiB0eXBlZGVmIHVuc2lnbmVkIENv
bXBvc2l0aW5nUmVhc29uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXgg
NjY1YjI1ZWM2ZTNhNzAzMDhiNGYxMmM5MmJiOTEwM2E1MjY5OTkzMy4uZDdlZDVmNmU1NTk0YmNj
NGYyMTJmNDIyNmViYmMzYzA2MmQzNzQzZSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAx
MDYKemNtWjI5cEx4Un48Xy02cUMraTFzT2lweEM7I1hpdVdYTk1rVk5oVm0wSjRmRjJlfDJURGxu
OFlXSE9YNldLNEUoClUpfUdBa0IxM31lYUY+a0R5ZT9DXzBUfHNKanNPNHYKCmRlbHRhIDE4CmFj
bWRuNmg8VlhgPF8tNnFDKEZDKFpKekJxd0hwOVd6NmVEQwoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZVNpZGViYXJQYW5lbC5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZVNp
ZGViYXJQYW5lbC5qcwppbmRleCA0ZTUwZTNlZGVhMDJiMDhhM2E5MTA3NmNlZGIwZDRhODdlNmFj
YjRiLi5iNWQxZWFlZGUzNDRlNTFiNjlkMTFhMGUyZGY4MjZkMjU2MWM5YTNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVTaWRl
YmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmpzCkBAIC00MzIsNiArNDMyLDggQEAgV2ViSW5zcGVj
dG9yLkxheWVyVHJlZVNpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBhZGRS
ZWFzb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbGVtZW50IGhhcyBDU1MgZmlsdGVycyBhcHBs
aWVkIGFuZCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIikpOwogICAgICAgICBpZiAoY29tcG9zaXRp
bmdSZWFzb25zLmJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cykKICAgICAgICAgICAg
IGFkZFJlYXNvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVsZW1lbnQgaGFzIENTUyBibGVuZGlu
ZyBhcHBsaWVkIGFuZCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIikpOworICAgICAgICBpZiAoY29t
cG9zaXRpbmdSZWFzb25zLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMpCisg
ICAgICAgICAgICBhZGRSZWFzb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbGVtZW50IGlzIGEg
c3RhY2tpbmcgY29udGV4dCBhbmQgaGFzIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMgd2l0aCBDU1Mg
YmxlbmRpbmcgYXBwbGllZCIpKTsKICAgICAgICAgaWYgKGNvbXBvc2l0aW5nUmVhc29ucy5wZXJz
cGVjdGl2ZSkKICAgICAgICAgICAgIGFkZFJlYXNvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVs
ZW1lbnQgaGFzIHBlcnNwZWN0aXZlIGFwcGxpZWQiKSk7CiAgICAgICAgIGlmIChjb21wb3NpdGlu
Z1JlYXNvbnMucHJlc2VydmUzRCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NDc5NmVmODZlMWE0MjhiOGZkZTI5ZmMyOWY1
OTAyYmE2YTY5Mzc3Li5hYTU4MjEzNTU2YWE3OGI1ZDEwY2NmNjY2ZjlmNzk3ODE0NDcyOTliIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDQtMDMgIElvbiBSb3NjYSAgPHJvc2NhQGFkb2Jl
LmNvbT4KKworICAgICAgICBbQ1NTIEJsZW5kaW5nXSBBZGQgY29tcG9zaXRpbmcgcmVhc29uIGZv
ciBpc29sYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzExNTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWJsZW5kaW5nLWNvbXBvc2l0
aW5nLXJlYXNvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJv
dG9jb2wvbGF5ZXJzL2xheWVycy1ibGVuZGluZy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWw6IEFk
ZGVkLgorCiAyMDE0LTA0LTAyICBJb24gUm9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CiAKICAgICAg
ICAgW0NTUyBCbGVuZGluZ10gQ29tcG9zaXRpbmcgcmVxdWlyZW1lbnRzIGZvciBibGVuZGluZyBh
cmUgbm90IGNvbXB1dGVkIGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYmxlbmRpbmctY29tcG9zaXRpbmctcmVhc29ucy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVy
cy1ibGVuZGluZy1jb21wb3NpdGluZy1yZWFzb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZTg3NTg1NTFkMDBhNDBkZmQ0NmI0NGMzNzliYzllMjA2YTgwZjk5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYmxlbmRpbmct
Y29tcG9zaXRpbmctcmVhc29ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorCis9PT0g
RW5hYmxlIHRoZSBMYXllclRyZWUgYWdlbnQgPT09CisKK1BBU1MKKworPT09IEdldCB0aGUgRG9j
dW1lbnQgPT09CisKK1BBU1MKKworPT09IEdldCB0aGUgbGF5ZXIgdHJlZSA9PT0KKworUEFTUwor
Cis9PT0gQ2hlY2sgbGF5ZXJzJyByZWFzb25zIGZvciBjb21wb3NpdGluZyA9PT0KKworUEFTUzog
PGRpdiBpZD0iaXNvbGF0aW5nIj4gaXMgY29tcG9zaXRpb24gZHVlIHRvIGlzb2xhdGluZyBjb21w
b3NpdGluZyBkZXNjZW5kYW50cyBoYXZpbmcgQ1NTIGJsZW5kaW5nIGFwcGxpZWQuCitQQVNTOiA8
ZGl2IGlkPSJibGVuZGluZyI+IGlzIGNvbXBvc2l0ZWQgZHVlIGhhdmluZyBDU1MgYmxlbmRpbmcg
YXBwbGllZCBhbmQgY29tcG9zaXRlZCBkZXNjZW5kYW50cy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtYmxlbmRpbmctY29tcG9zaXRp
bmctcmVhc29ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9s
YXllcnMtYmxlbmRpbmctY29tcG9zaXRpbmctcmVhc29ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwOWU4
NTk2OTc4MGIzNjYyN2MyMDZiMjczMjNiZTc3NDZlOTYyYjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5ZXJzL2xheWVycy1ibGVuZGluZy1jb21w
b3NpdGluZy1yZWFzb25zLmh0bWwKQEAgLTAsMCArMSwxNjMgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworCisgICAg
dmFyIG5vZGVzID0gW107CisgCisgICAgSW5zcGVjdG9yVGVzdC5ldmVudEhhbmRsZXJbIkRPTS5z
ZXRDaGlsZE5vZGVzIl0gPSBzZXRDaGlsZE5vZGVzOworCisgICAgZW5hYmxlTGF5ZXJUcmVlQWdl
bnQoKTsKKyAgICAKKyAgICBmdW5jdGlvbiBlbmFibGVMYXllclRyZWVBZ2VudChyZXN1bHQpCisg
ICAgeworICAgICAgICBzdGVwKHsKKyAgICAgICAgICAgIG5hbWU6ICJFbmFibGUgdGhlIExheWVy
VHJlZSBhZ2VudCIsCisgICAgICAgICAgICBjb21tYW5kOiAiTGF5ZXJUcmVlLmVuYWJsZSIsCisg
ICAgICAgICAgICBwYXJhbWV0ZXJzOiB7fSwKKyAgICAgICAgICAgIGNhbGxiYWNrOiBnZXREb2N1
bWVudAorICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVuY3Rpb24gZ2V0RG9jdW1lbnQoKQor
ICAgIHsKKyAgICAgICAgLy8gV2UgbXVzdCBmaXJzdCBnZXQgdGhlIGRvY3VtZW50IHNvIHRoYXQg
bGF0ZXIgb24gd2UgbWF5IGdldCBzZW5zaWJsZSBub2RlSWRzLgorICAgICAgICBzdGVwKHsKKyAg
ICAgICAgICAgIG5hbWU6ICJHZXQgdGhlIERvY3VtZW50IiwKKyAgICAgICAgICAgIGNvbW1hbmQ6
ICJET00uZ2V0RG9jdW1lbnQiLAorICAgICAgICAgICAgcGFyYW1ldGVyczoge30sCisgICAgICAg
ICAgICBjYWxsYmFjazogZ2V0TGF5ZXJUcmVlCisgICAgICAgIH0pOworICAgIH07CisKKyAgICBm
dW5jdGlvbiBnZXRMYXllclRyZWUocmVzdWx0KQorICAgIHsKKyAgICAgICAgc3RlcCh7CisgICAg
ICAgICAgICBuYW1lOiAiR2V0IHRoZSBsYXllciB0cmVlIiwKKyAgICAgICAgICAgIGNvbW1hbmQ6
ICJMYXllclRyZWUubGF5ZXJzRm9yTm9kZSIsCisgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7Im5v
ZGVJZCI6IHJlc3VsdC5yb290Lm5vZGVJZH0sCisgICAgICAgICAgICBjYWxsYmFjazogZ290TGF5
ZXJUcmVlCisgICAgICAgIH0pOworICAgIH07CisKKyAgICBmdW5jdGlvbiBnb3RMYXllclRyZWUo
cmVzdWx0KQorICAgIHsKKyAgICAgICAgbG9nVGVzdE5hbWUoIkNoZWNrIGxheWVycycgcmVhc29u
cyBmb3IgY29tcG9zaXRpbmciKQorICAgICAgICAKKyAgICAgICAgdmFyIGxheWVycyA9IHJlc3Vs
dC5sYXllcnM7CisKKyAgICAgICAgdmFyIG5vZGVzQnlJZCA9IHt9OworICAgICAgICBub2Rlcy5m
b3JFYWNoKGZ1bmN0aW9uKG5vZGUpIHsKKyAgICAgICAgICAgIG5vZGVzQnlJZFtub2RlLm5vZGVJ
ZF0gPSBub2RlOworICAgICAgICB9KTsKKworICAgICAgICB2YXIgY291bnQgPSAwOworICAgICAg
ICAKKyAgICAgICAgZnVuY3Rpb24gaGFzSWQobm9kZSwgaWQpIHsKKyAgICAgICAgICAgIHJldHVy
biBub2RlICYmIG5vZGUuYXR0cmlidXRlcyAmJiBub2RlLmF0dHJpYnV0ZXNbMF0gPT09ICJpZCIg
JiYgbm9kZS5hdHRyaWJ1dGVzWzFdID09PSBpZDsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgZnVuY3Rpb24gZHVtcFJlYXNvbnMobGF5ZXIsIGNvbXBvc2l0aW5nUmVhc29ucykgeworICAg
ICAgICAgICAgdmFyIG5vZGUgPSBub2Rlc0J5SWRbbGF5ZXIubm9kZUlkXTsKKworICAgICAgICAg
ICAgaWYgKGhhc0lkKG5vZGUsICJibGVuZGluZyIpKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0
KAorICAgICAgICAgICAgICAgICAgICAiPGRpdiBpZD1cImJsZW5kaW5nXCI+IGlzIGNvbXBvc2l0
ZWQgZHVlIGhhdmluZyBDU1MgYmxlbmRpbmcgYXBwbGllZCBhbmQgY29tcG9zaXRlZCBkZXNjZW5k
YW50cyIsCisgICAgICAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy5ibGVuZGluZ1dp
dGhDb21wb3NpdGVkRGVzY2VuZGFudHMsCisgICAgICAgICAgICAgICAgICAgIHRydWUpOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChoYXNJZChub2RlLCAiaXNvbGF0aW5nIikpIHsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQoCisgICAgICAgICAgICAgICAgICAgICI8ZGl2IGlkPVwiaXNvbGF0aW5n
XCI+IGlzIGNvbXBvc2l0aW9uIGR1ZSB0byBpc29sYXRpbmcgY29tcG9zaXRpbmcgZGVzY2VuZGFu
dHMgaGF2aW5nIENTUyBibGVuZGluZyBhcHBsaWVkIiwKKyAgICAgICAgICAgICAgICAgICAgY29t
cG9zaXRpbmdSZWFzb25zLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMsCisg
ICAgICAgICAgICAgICAgICAgIHRydWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAoKytjb3VudCA9PT0gbGF5ZXJzLmxlbmd0aCkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9OworCisgICAgICAgIGxheWVycy5mb3JFYWNo
KGZ1bmN0aW9uIChsYXllcikgeworICAgICAgICAgICAgcnVuQ29tbWFuZCh7CisgICAgICAgICAg
ICAgICAgY29tbWFuZDogIkxheWVyVHJlZS5yZWFzb25zRm9yQ29tcG9zaXRpbmdMYXllciIsCisg
ICAgICAgICAgICAgICAgcGFyYW1ldGVyczogeyJsYXllcklkIjogbGF5ZXIubGF5ZXJJZH0sCisg
ICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKHJlc3VsdCkgeworICAgICAgICAgICAg
ICAgICAgICBkdW1wUmVhc29ucyhsYXllciwgcmVzdWx0LmNvbXBvc2l0aW5nUmVhc29ucyk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH07CisK
KyAgICBmdW5jdGlvbiBzZXRDaGlsZE5vZGVzIChtZXNzYWdlT2JqZWN0KSB7CisgICAgICAgIG1l
c3NhZ2VPYmplY3QucGFyYW1zLm5vZGVzLmZvckVhY2goZnVuY3Rpb24gKG5vZGUpIHsKKyAgICAg
ICAgICAgIG5vZGVzLnB1c2gobm9kZSk7CisgICAgICAgIH0pCisgICAgfTsKKworICAgIGZ1bmN0
aW9uIHN0ZXAodGVzdCkKKyAgICB7CisgICAgICAgIGlmICh0ZXN0LmNhbGxiYWNrKQorICAgICAg
ICAgICAgbG9nVGVzdE5hbWUodGVzdC5uYW1lKTsKKyAgICAgICAgcnVuQ29tbWFuZCh0ZXN0KTsK
KyAgICB9OworCisgICAgZnVuY3Rpb24gbG9nVGVzdE5hbWUobmFtZSkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJcbj09PSAiICsgbmFtZSArICIgPT09XG4iKTsKKyAgICB9Owor
CisgICAgZnVuY3Rpb24gcnVuQ29tbWFuZChjb21tYW5kKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZW5kQ29tbWFuZChjb21tYW5kLmNvbW1hbmQsIGNvbW1hbmQucGFyYW1ldGVycywg
ZnVuY3Rpb24obWVzc2FnZU9iamVjdCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVj
a0ZvckVycm9yKG1lc3NhZ2VPYmplY3QpOworCisgICAgICAgICAgICBpZiAoY29tbWFuZC5uYW1l
KQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTIik7CisKKyAgICAgICAg
ICAgIGlmIChjb21tYW5kLmNhbGxiYWNrKQorICAgICAgICAgICAgICAgIGNvbW1hbmQuY2FsbGJh
Y2sobWVzc2FnZU9iamVjdC5yZXN1bHQpOworICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVu
Y3Rpb24gYXNzZXJ0KG5hbWUsIGFjdHVhbCwgZXhwZWN0ZWQpCisgICAgeworICAgICAgICBpZiAo
ZXhwZWN0ZWQgPT09IGFjdHVhbCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNT
OiAiICsgbmFtZSArICIuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJGQUlMOiAiICsgbmFtZSArICIuIEV4cGVjdGVkICIgKyBleHBlY3RlZCArICIgYnV0
IGdvdCAiICsgYWN0dWFsKTsKKyAgICB9OworCit9OworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkKK3sKKyAgICBydW5UZXN0KCk7Cit9LCBm
YWxzZSk7CisKKzwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIAorICAg
ICNpc29sYXRpbmcgeworICAgICAgICAtd2Via2l0LWlzb2xhdGlvbjogaXNvbGF0ZTsKKyAgICB9
CisKKyAgICAjYmxlbmRpbmcgeworICAgICAgICAtd2Via2l0LW1peC1ibGVuZC1tb2RlOiBkaWZm
ZXJlbmNlOworICAgIH0KKworICAgICNjb21wb3NpdGVkIHsKKyAgICAgICAgLXdlYmtpdC10cmFu
c2Zvcm06IHRyYW5zbGF0ZVooMCk7CisgICAgfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CisgICAgPGRpdiBpZD0iaXNvbGF0aW5nIj4KKyAgICAgICAgPGRpdiBpZD0iYmxlbmRpbmciPgor
ICAgICAgICAgICAgPGRpdiBpZD0iY29tcG9zaXRlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>