<?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>111703</bug_id>
          
          <creation_ts>2013-03-07 02:55:24 -0800</creation_ts>
          <short_desc>Web Inspector: provide reasons why a layer was composited in the LayerTreeAgent</short_desc>
          <delta_ts>2013-03-08 00:59:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>apavlov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>849922</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-03-07 02:55:24 -0800</bug_when>
    <thetext>The reasons why a layer was composited in the first place would be very useful information to developers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849923</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-03-07 02:55:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/13367507&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850045</commentid>
    <comment_count>2</comment_count>
      <attachid>191987</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-03-07 06:49:53 -0800</bug_when>
    <thetext>Created attachment 191987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850056</commentid>
    <comment_count>3</comment_count>
      <attachid>191987</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-03-07 07:11:14 -0800</bug_when>
    <thetext>Comment on attachment 191987
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:3708
&gt; +                    { &quot;name&quot;: &quot;reasonsMask&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;The reasons why the layer was composited.&quot; }

I don&apos;t think exposing the raw mask is safe and exposes internal WebCore data that might not be stable. There are no guarantees someone won&apos;t add an item in the middle later. Returning an array of values defined in the protocol as an enum is the safest option. That way the clients don&apos;t need internal knowledge of WebCore and everything is defined in the protocol. That would encourage anyone adding reasons in the future to also extend the protocol enums.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850218</commentid>
    <comment_count>4</comment_count>
      <attachid>192038</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-03-07 10:13:20 -0800</bug_when>
    <thetext>Created attachment 192038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850482</commentid>
    <comment_count>5</comment_count>
      <attachid>192038</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 14:23:52 -0800</bug_when>
    <thetext>Comment on attachment 192038
Patch

Clearing flags on attachment: 192038

Committed r145136: &lt;http://trac.webkit.org/changeset/145136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850483</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 14:23:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850523</commentid>
    <comment_count>7</comment_count>
      <attachid>192038</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-03-07 15:18:08 -0800</bug_when>
    <thetext>Comment on attachment 192038
Patch

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

Could you follow-up fix the typos? (My tree isn&apos;t clean)

&gt; Source/WebCore/inspector/Inspector.json:3685
&gt; +                &quot;description&quot;: &quot;An object containg the reasons why the layer was composited as properties.&quot;,

Typo: &quot;containg&quot; =&gt; &quot;containing&quot;

&gt; Source/WebCore/inspector/Inspector.json:3693
&gt; +                    { &quot;name&quot;: &quot;clipsCompositingDescendants&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Composition due to association with an element clippng compositing descendants.&quot; },

Typo: &quot;clippng&quot; =&gt; &quot;clipping&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850972</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-03-08 00:59:07 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 192038 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192038&amp;action=review
&gt; 
&gt; Could you follow-up fix the typos? (My tree isn&apos;t clean)
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector.json:3685
&gt; &gt; +                &quot;description&quot;: &quot;An object containg the reasons why the layer was composited as properties.&quot;,
&gt; 
&gt; Typo: &quot;containg&quot; =&gt; &quot;containing&quot;
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector.json:3693
&gt; &gt; +                    { &quot;name&quot;: &quot;clipsCompositingDescendants&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Composition due to association with an element clippng compositing descendants.&quot; },
&gt; 
&gt; Typo: &quot;clippng&quot; =&gt; &quot;clipping&quot;

I fixed those typos in http://trac.webkit.org/changeset/145191. Thanks for spotting them Joe.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191987</attachid>
            <date>2013-03-07 06:49:53 -0800</date>
            <delta_ts>2013-03-07 10:13:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111703-20130307154554.patch</filename>
            <type>text/plain</type>
            <size>12466</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIwYmFjODEyYmVkMjNj
NzE3MzJhZjZlMTVjMWFkZWM2ZDA3NDlkNy4uMDliNzQ2OWZjMjQwMDlkOWYzOTY3NmY0NGQyMGI5
OTQ4N2VhNjQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEzLTAzLTA3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
cHJvdmlkZSByZWFzb25zIHdoeSBhIGxheWVyIHdhcyBjb21wb3NpdGVkIGluIHRoZSBMYXllclRy
ZWVBZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTExNzAzCisKKyAgICAgICAgSW50cm9kdWNlIGEgbmV3IExheWVyVHJlZS5yZWFzb25zRm9yQ29t
cG9zaXRpbmdMYXllcihsYXllcklkKSBtZXRob2Qgd2hpY2ggcmV0dXJucworICAgICAgICB0aGUg
bGlzdCBvZiByZWFzb25zIHdoeSB0aGUgcHJvdmlkZWQgbGF5ZXIgd2FzIGNvbXBvc2l0ZWQgYXMg
YSBiaXRtYXNrLiBUaGUKKyAgICAgICAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yIGFscmVhZHkga25v
d3MgaG93IHRvIHByb3ZpZGUgdGhpcyBpbmZvcm1hdGlvbiB2aWEgaXRzIG93bgorICAgICAgICBy
ZWFzb25zRm9yQ29tcG9zaXRpbmcoKSBtZXRob2QsIGFuZCB3ZSByZXR1cm4gdGhlIHNhbWUgYml0
bWFzayB0byB0aGUgZnJvbnQtZW5kLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNv
bXBvc2l0aW5nLXJlYXNvbnMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6cmVhc29uc0ZvckNvbXBv
c2l0aW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckxheWVyVHJlZUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dCk6CisKKzIwMTMtMDMtMDcgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKwog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBpZGVudGlmeSBsYXllcnMgZm9yIENTUyBnZW5lcmF0ZWQg
Y29udGVudCBpbiBMYXllclRyZWVBZ2VudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTExNTUxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCA0OGI2ZGMzYjMyZmM2MjZmY2RiYTdhODY0YmU0Zjc1MGZkMjFkZTkzLi43
ODg3ZWYyNzJiNzIyZWRiZDIwYmRkY2I1MjhiYjY0MWQ3NTlhZjViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0zNjk3LDYgKzM2OTcsMTYgQEAKICAgICAgICAg
ICAgICAgICAicmV0dXJucyI6IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYXll
cnMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiTGF5ZXIiIH0sICJkZXNj
cmlwdGlvbiI6ICJDaGlsZCBsYXllcnMuIiB9CiAgICAgICAgICAgICAgICAgXQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWFzb25zRm9y
Q29tcG9zaXRpbmdMYXllciIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGF5ZXJJZCIsICIkcmVmIjogIkxheWVySWQiLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIGlkIG9mIHRoZSBsYXllciBmb3Igd2hpY2ggd2Ugd2FudCB0byBn
ZXQgdGhlIHJlYXNvbnMgaXQgd2FzIGNvbXBvc2l0ZWQuIiB9CisgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUHJvdmlkZXMgdGhlIHJlYXNvbnMgd2h5
IHRoZSBnaXZlbiBsYXllciB3YXMgY29tcG9zaXRlZC4iLAorICAgICAgICAgICAgICAgICJyZXR1
cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlYXNvbnNNYXNrIiwgInR5
cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJUaGUgcmVhc29ucyB3aHkgdGhlIGxheWVy
IHdhcyBjb21wb3NpdGVkLiIgfQorICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAg
ICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCmluZGV4IDk3ZjExZWRlMzU4OTk2
ZGI3ZTRkYTEyMmViNWIxZTM1MDYzZDI0OGQuLjRjYTM3N2RjYTYxYmNmYzBhODJjNWMxNWQ3MmIy
NmVlNDJiZTA0NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIlBzZXVk
b0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyQmFja2luZy5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjIxLDYgKzIyMiwx
NiBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpMYXllclRyZWU6OkludFJlY3Q+IEluc3BlY3Rv
ckxheWVyVHJlZUFnZW50OjpidWlsZE9iamVjdAogICAgICAgICAuc2V0SGVpZ2h0KHJlY3QuaGVp
Z2h0KCkpLnJlbGVhc2UoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JMYXllclRyZWVBZ2VudDo6cmVh
c29uc0ZvckNvbXBvc2l0aW5nTGF5ZXIoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBT
dHJpbmcmIGxheWVySWQsIGludCogcmVhc29uc01hc2spCit7CisgICAgY29uc3QgUmVuZGVyTGF5
ZXIqIHJlbmRlckxheWVyID0gbV9pZFRvTGF5ZXIuZ2V0KGxheWVySWQpOworICAgIAorICAgIGlm
ICghcmVuZGVyTGF5ZXIpCisgICAgICAgICplcnJvclN0cmluZyA9ICJDb3VsZCBub3QgZmluZCBh
IGJvdW5kIGxheWVyIGZvciB0aGUgcHJvdmlkZWQgaWQiOworICAgIGVsc2UKKyAgICAgICAgKnJl
YXNvbnNNYXNrID0gc3RhdGljX2Nhc3Q8aW50PihyZW5kZXJMYXllci0+Y29tcG9zaXRvcigpLT5y
ZWFzb25zRm9yQ29tcG9zaXRpbmcocmVuZGVyTGF5ZXIpKTsKK30KKwogU3RyaW5nIEluc3BlY3Rv
ckxheWVyVHJlZUFnZW50OjpiaW5kKGNvbnN0IFJlbmRlckxheWVyKiBsYXllcikKIHsKICAgICBp
ZiAoIWxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckxheWVyVHJlZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5
ZXJUcmVlQWdlbnQuaAppbmRleCAyZDkxYWZhNDgwZGJkMTMwMzRmMDY2ZGEyOGE0M2JjNDQ5YTY0
Zjk3Li5jZDQ5Mjc4OGJjNzU0NmE2MWM1ODAyMjk4YjJhMDZiNzI5NDI4OWI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaApAQCAt
NjgsNiArNjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmlu
ZyopOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CiAgICAgdmlydHVh
bCB2b2lkIGxheWVyc0Zvck5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBSZWZQdHI8VHlw
ZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpMYXllclRyZWU6OkxheWVyPiA+Jik7CisgICAg
dmlydHVhbCB2b2lkIHJlYXNvbnNGb3JDb21wb3NpdGluZ0xheWVyKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nJiBsYXllcklkLCBpbnQqIHJlYXNvbnNNYXNrKTsKIAogcHJpdmF0ZToKICAgICBJ
bnNwZWN0b3JMYXllclRyZWVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29t
cG9zaXRlU3RhdGUqKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMjEwOTJmNzY1MDY4MmI1MTZlZGM0OTdhODkzZTk3OTI2
YWNkMTM3Li4zYThmNjQwMDc5NmU4YjUzZjM1ZGVkNzAxNjNkYTk3ZTAzZmI5ODYzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMTcgQEAKIDIwMTMtMDMtMDcgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm92aWRlIHJlYXNvbnMgd2h5IGEgbGF5
ZXIgd2FzIGNvbXBvc2l0ZWQgaW4gdGhlIExheWVyVHJlZUFnZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE3MDMKKworICAgICAgICBOZXcgdGVz
dCBmb3IgTGF5ZXJUcmVlLnJlYXNvbnNGb3JDb21wb3NpdGluZ0xheWVyKGxheWVySWQpLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9y
LXByb3RvY29sL2xheWVycy9sYXllcnMtY29tcG9zaXRpbmctcmVhc29ucy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNvbXBv
c2l0aW5nLXJlYXNvbnMuaHRtbDogQWRkZWQuCisKKzIwMTMtMDMtMDcgIEFudG9pbmUgUXVpbnQg
IDxncmFvdXRzQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBpZGVudGlmeSBs
YXllcnMgZm9yIENTUyBnZW5lcmF0ZWQgY29udGVudCBpbiBMYXllclRyZWVBZ2VudAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNTUxCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNvbXBv
c2l0aW5nLXJlYXNvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL2xheWVycy9sYXllcnMtY29tcG9zaXRpbmctcmVhc29ucy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODZmYjY0NDgwZDRkMTA0N2JjM2Y1YjNiMzc5YjhhOWQ2NmY5YTUzYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNv
bXBvc2l0aW5nLXJlYXNvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKKworPT09IEVu
YWJsZSB0aGUgTGF5ZXJUcmVlIGFnZW50ID09PQorCitQQVNTCisKKz09PSBHZXQgdGhlIERvY3Vt
ZW50ID09PQorCitQQVNTCisKKz09PSBHZXQgdGhlIGxheWVyIHRyZWUgPT09CisKK1BBU1MKKwor
PT09IENoZWNrIGxheWVycycgcmVhc29ucyBmb3IgY29tcG9zaXRpbmcgPT09CisKK1BBU1M6IDxk
aXYgaWQ9Im9wYWNpdHktY29udGFpbmVyIj4gaXMgY29tcG9zaXRlZCBkdWUgdG8gaGF2aW5nIGFu
IG9wYWNpdHkgc3R5bGUgYW5kIGEgY29tcG9zaXRlZCBjaGlsZC4KK1BBU1M6IDxkaXYgaWQ9ImNo
aWxkIj4gaXMgY29tcG9zaXRlZCBkdWUgdG8gaGF2aW5nICJiYWNrZmFjZS12aXNpYmlsaXR5OiBo
aWRkZW4iIGFuZCBhIDNEIHRyYW5zZm9ybS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtY29tcG9zaXRpbmctcmVhc29ucy5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtY29tcG9zaXRpbmct
cmVhc29ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3OTk2MGM5ZGFkNmFhNTJlNjFlYjVmYWIzMzIzNTI0
YzJmOWRkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvbGF5ZXJzL2xheWVycy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWwKQEAgLTAsMCArMSwxOTMg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworCisgICAgY29uc3QgQ09NUE9TSVRJTkdfUkVBU09OUyA9IHsKKyAgICAg
ICAgIjNEVHJhbnNmb3JtIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMSA8PCAwLAorICAg
ICAgICAiVmlkZW8iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxIDw8IDEsCisg
ICAgICAgICJDYW52YXMiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEgPDwgMiwK
KyAgICAgICAgIlBsdWdpbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMSA8PCAz
LAorICAgICAgICAiSUZyYW1lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxIDw8
IDQsCisgICAgICAgICJCYWNrZmFjZVZpc2liaWxpdHlIaWRkZW4iICAgICAgICAgICAgICA6IDEg
PDwgNSwKKyAgICAgICAgIkNsaXBzQ29tcG9zaXRpbmdEZXNjZW5kYW50cyIgICAgICAgICAgIDog
MSA8PCA2LAorICAgICAgICAiQW5pbWF0aW9uIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OiAxIDw8IDcsCisgICAgICAgICJGaWx0ZXJzIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6IDEgPDwgOCwKKyAgICAgICAgIlBvc2l0aW9uRml4ZWQiICAgICAgICAgICAgICAgICAgICAg
ICAgIDogMSA8PCA5LAorICAgICAgICAiUG9zaXRpb25TdGlja3kiICAgICAgICAgICAgICAgICAg
ICAgICAgOiAxIDw8IDEwLAorICAgICAgICAiT3ZlcmZsb3dTY3JvbGxpbmdUb3VjaCIgICAgICAg
ICAgICAgICAgOiAxIDw8IDExLAorICAgICAgICAiU3RhY2tpbmciICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAxIDw8IDEyLAorICAgICAgICAiT3ZlcmxhcCIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAxIDw8IDEzLAorICAgICAgICAiTmVnYXRpdmVaSW5kZXhDaGlsZHJl
biIgICAgICAgICAgICAgICAgOiAxIDw8IDE0LAorICAgICAgICAiVHJhbnNmb3JtV2l0aENvbXBv
c2l0ZWREZXNjZW5kYW50cyIgICAgOiAxIDw8IDE1LAorICAgICAgICAiT3BhY2l0eVdpdGhDb21w
b3NpdGVkRGVzY2VuZGFudHMiICAgICAgOiAxIDw8IDE2LAorICAgICAgICAiTWFza1dpdGhDb21w
b3NpdGVkRGVzY2VuZGFudHMiICAgICAgICAgOiAxIDw8IDE3LAorICAgICAgICAiUmVmbGVjdGlv
bldpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMiICAgOiAxIDw8IDE4LAorICAgICAgICAiRmlsdGVy
V2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyIgICAgICAgOiAxIDw8IDE5LAorICAgICAgICAiQmxl
bmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzIiAgICAgOiAxIDw8IDIwLAorICAgICAgICAi
UGVyc3BlY3RpdmUiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxIDw8IDIxLAorICAgICAg
ICAiUHJlc2VydmUzRCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxIDw8IDIyLAorICAg
ICAgICAiUm9vdCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxIDw8IDIzCisg
ICAgfTsKKworICAgIHZhciBub2RlcyA9IFtdOworIAorICAgIEluc3BlY3RvclRlc3QuZXZlbnRI
YW5kbGVyWyJET00uc2V0Q2hpbGROb2RlcyJdID0gc2V0Q2hpbGROb2RlczsKKworICAgIGVuYWJs
ZUxheWVyVHJlZUFnZW50KCk7CisgICAgCisgICAgZnVuY3Rpb24gZW5hYmxlTGF5ZXJUcmVlQWdl
bnQocmVzdWx0KQorICAgIHsKKyAgICAgICAgc3RlcCh7CisgICAgICAgICAgICBuYW1lOiAiRW5h
YmxlIHRoZSBMYXllclRyZWUgYWdlbnQiLAorICAgICAgICAgICAgY29tbWFuZDogIkxheWVyVHJl
ZS5lbmFibGUiLAorICAgICAgICAgICAgcGFyYW1ldGVyczoge30sCisgICAgICAgICAgICBjYWxs
YmFjazogZ2V0RG9jdW1lbnQKKyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIGdl
dERvY3VtZW50KCkKKyAgICB7CisgICAgICAgIC8vIFdlIG11c3QgZmlyc3QgZ2V0IHRoZSBkb2N1
bWVudCBzbyB0aGF0IGxhdGVyIG9uIHdlIG1heSBnZXQgc2Vuc2libGUgbm9kZUlkcy4KKyAgICAg
ICAgc3RlcCh7CisgICAgICAgICAgICBuYW1lOiAiR2V0IHRoZSBEb2N1bWVudCIsCisgICAgICAg
ICAgICBjb21tYW5kOiAiRE9NLmdldERvY3VtZW50IiwKKyAgICAgICAgICAgIHBhcmFtZXRlcnM6
IHt9LAorICAgICAgICAgICAgY2FsbGJhY2s6IGdldExheWVyVHJlZQorICAgICAgICB9KTsKKyAg
ICB9OworCisgICAgZnVuY3Rpb24gZ2V0TGF5ZXJUcmVlKHJlc3VsdCkKKyAgICB7CisgICAgICAg
IHN0ZXAoeworICAgICAgICAgICAgbmFtZTogIkdldCB0aGUgbGF5ZXIgdHJlZSIsCisgICAgICAg
ICAgICBjb21tYW5kOiAiTGF5ZXJUcmVlLmxheWVyc0Zvck5vZGUiLAorICAgICAgICAgICAgcGFy
YW1ldGVyczogeyJub2RlSWQiOiByZXN1bHQucm9vdC5ub2RlSWR9LAorICAgICAgICAgICAgY2Fs
bGJhY2s6IGdvdExheWVyVHJlZQorICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVuY3Rpb24g
Z290TGF5ZXJUcmVlKHJlc3VsdCkKKyAgICB7CisgICAgICAgIGxvZ1Rlc3ROYW1lKCJDaGVjayBs
YXllcnMnIHJlYXNvbnMgZm9yIGNvbXBvc2l0aW5nIikKKyAgICAgICAgCisgICAgICAgIHZhciBs
YXllcnMgPSByZXN1bHQubGF5ZXJzOworCisgICAgICAgIHZhciBub2Rlc0J5SWQgPSB7fTsKKyAg
ICAgICAgbm9kZXMuZm9yRWFjaChmdW5jdGlvbihub2RlKSB7CisgICAgICAgICAgICBub2Rlc0J5
SWRbbm9kZS5ub2RlSWRdID0gbm9kZTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgdmFyIGNvdW50
ID0gMDsKKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGhhc0lkKG5vZGUsIGlkKSB7CisgICAg
ICAgICAgICByZXR1cm4gbm9kZSAmJiBub2RlLmF0dHJpYnV0ZXMgJiYgbm9kZS5hdHRyaWJ1dGVz
WzBdID09PSAiaWQiICYmIG5vZGUuYXR0cmlidXRlc1sxXSA9PT0gaWQ7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGR1bXBSZWFzb24obGF5ZXIsIHJlYXNvbnNNYXNrKSB7
CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzQnlJZFtsYXllci5ub2RlSWRdOworCisgICAg
ICAgICAgICBpZiAoaGFzSWQobm9kZSwgIm9wYWNpdHktY29udGFpbmVyIikpIHsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQoCisgICAgICAgICAgICAgICAgICAgICI8ZGl2IGlkPVwib3BhY2l0eS1j
b250YWluZXJcIj4gaXMgY29tcG9zaXRlZCBkdWUgdG8gaGF2aW5nIGFuIG9wYWNpdHkgc3R5bGUg
YW5kIGEgY29tcG9zaXRlZCBjaGlsZCIsCisgICAgICAgICAgICAgICAgICAgIHJlYXNvbnNNYXNr
LAorICAgICAgICAgICAgICAgICAgICBDT01QT1NJVElOR19SRUFTT05TWyJPcGFjaXR5V2l0aENv
bXBvc2l0ZWREZXNjZW5kYW50cyJdKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaGFzSWQobm9k
ZSwgImNoaWxkIikpIHsKKyAgICAgICAgICAgIGFzc2VydCgKKyAgICAgICAgICAgICAgICAiPGRp
diBpZD1cImNoaWxkXCI+IGlzIGNvbXBvc2l0ZWQgZHVlIHRvIGhhdmluZyBcImJhY2tmYWNlLXZp
c2liaWxpdHk6IGhpZGRlblwiIGFuZCBhIDNEIHRyYW5zZm9ybSIsCisgICAgICAgICAgICAgICAg
cmVhc29uc01hc2ssCisgICAgICAgICAgICAgICAgQ09NUE9TSVRJTkdfUkVBU09OU1siM0RUcmFu
c2Zvcm0iXSB8IENPTVBPU0lUSU5HX1JFQVNPTlNbIkJhY2tmYWNlVmlzaWJpbGl0eUhpZGRlbiJd
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCsrY291bnQgPT09IGxheWVycy5s
ZW5ndGgpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICAgICAgfTsKKworICAgICAgICBsYXllcnMuZm9yRWFjaChmdW5jdGlvbiAobGF5ZXIpIHsKKyAg
ICAgICAgICAgIHJ1bkNvbW1hbmQoeworICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICJMYXllclRy
ZWUucmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5ZXIiLAorICAgICAgICAgICAgICAgIHBhcmFtZXRl
cnM6IHsibGF5ZXJJZCI6IGxheWVyLmxheWVySWR9LAorICAgICAgICAgICAgICAgIGNhbGxiYWNr
OiBmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgICAgICAgICAgICAgZHVtcFJlYXNvbihsYXll
ciwgcmVzdWx0LnJlYXNvbnNNYXNrKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9uIHNldENoaWxkTm9kZXMgKG1l
c3NhZ2VPYmplY3QpIHsKKyAgICAgICAgbWVzc2FnZU9iamVjdC5wYXJhbXMubm9kZXMuZm9yRWFj
aChmdW5jdGlvbiAobm9kZSkgeworICAgICAgICAgICAgbm9kZXMucHVzaChub2RlKTsKKyAgICAg
ICAgfSkKKyAgICB9OworCisgICAgZnVuY3Rpb24gc3RlcCh0ZXN0KQorICAgIHsKKyAgICAgICAg
aWYgKHRlc3QuY2FsbGJhY2spCisgICAgICAgICAgICBsb2dUZXN0TmFtZSh0ZXN0Lm5hbWUpOwor
ICAgICAgICBydW5Db21tYW5kKHRlc3QpOworICAgIH07CisKKyAgICBmdW5jdGlvbiBsb2dUZXN0
TmFtZShuYW1lKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuPT09ICIgKyBu
YW1lICsgIiA9PT1cbiIpOworICAgIH07CisKKyAgICBmdW5jdGlvbiBydW5Db21tYW5kKGNvbW1h
bmQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKGNvbW1hbmQuY29t
bWFuZCwgY29tbWFuZC5wYXJhbWV0ZXJzLCBmdW5jdGlvbihtZXNzYWdlT2JqZWN0KSB7CisgICAg
ICAgICAgICBpZiAobWVzc2FnZU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZXJyb3IiKSkgeworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJGQUlMOiAiICsgbWVzc2FnZU9iamVjdC5l
cnJvci5tZXNzYWdlICsgIiAoIiArIG1lc3NhZ2VPYmplY3QuZXJyb3IuY29kZSArICIpIik7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChjb21tYW5kLm5h
bWUpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBBU1MiKTsKKworICAgICAg
ICAgICAgaWYgKGNvbW1hbmQuY2FsbGJhY2spCisgICAgICAgICAgICAgICAgY29tbWFuZC5jYWxs
YmFjayhtZXNzYWdlT2JqZWN0LnJlc3VsdCk7CisgICAgICAgIH0pOworICAgIH07CisKKyAgICBm
dW5jdGlvbiBhc3NlcnQobmFtZSwgYWN0dWFsLCBleHBlY3RlZCkKKyAgICB7CisgICAgICAgIGlm
IChleHBlY3RlZCA9PT0gYWN0dWFsKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlBB
U1M6ICIgKyBuYW1lICsgIi4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIkZBSUw6ICIgKyBuYW1lICsgIi4gRXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIiBi
dXQgZ290ICIgKyBhY3R1YWwpOworICAgIH07CisKK307CisKK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKQoreworICAgIHJ1blRlc3QoKTsKK30s
IGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgCisg
ICAgI29wYWNpdHktY29udGFpbmVyIHsKKyAgICAgICAgb3BhY2l0eTogMC41OworICAgIH0KKwor
ICAgICNjaGlsZCB7CisgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVu
OworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKKyAgICB9CisKKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKwor
ICAgIDxkaXYgaWQ9Im9wYWNpdHktY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBpZD0iY2hpbGQi
PjwvZGl2PgorICAgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192038</attachid>
            <date>2013-03-07 10:13:20 -0800</date>
            <delta_ts>2013-03-07 15:18:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111703-20130307190920.patch</filename>
            <type>text/plain</type>
            <size>19451</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIwYmFjODEyYmVkMjNj
NzE3MzJhZjZlMTVjMWFkZWM2ZDA3NDlkNy4uMjQ2Mjg4NGZlODc4Mzg5NTI5MTU5MGU0Y2RjMDc4
NDlkM2M3NjdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEzLTAzLTA3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
cHJvdmlkZSByZWFzb25zIHdoeSBhIGxheWVyIHdhcyBjb21wb3NpdGVkIGluIHRoZSBMYXllclRy
ZWVBZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTExNzAzCisKKyAgICAgICAgSW50cm9kdWNlIGEgbmV3IExheWVyVHJlZS5yZWFzb25zRm9yQ29t
cG9zaXRpbmdMYXllcihsYXllcklkKSBtZXRob2Qgd2hpY2ggcmV0dXJucworICAgICAgICB0aGUg
bGlzdCBvZiByZWFzb25zIHdoeSB0aGUgcHJvdmlkZWQgbGF5ZXIgd2FzIGNvbXBvc2l0ZWQgYXMg
YW4gb2JqZWN0IHdpdGggYW4KKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydHkgZm9yIGVhY2ggcG9z
c2libGUgcmVhc29uLiBUaGUgUmVuZGVyTGF5ZXJDb21wb3NpdG9yIGFscmVhZHkga25vd3MKKyAg
ICAgICAgaG93IHRvIHByb3ZpZGUgdGhpcyBpbmZvcm1hdGlvbiB2aWEgaXRzIG93biByZWFzb25z
Rm9yQ29tcG9zaXRpbmcoKSBtZXRob2QsIGFuZCB3ZQorICAgICAgICBwcm9jZXNzIHRoZSByZXR1
cm5lZCBiaXRtYXNrIHRvIHBvcHVsYXRlIHRoZSBvYmplY3Qgc2VudCB0byB0aGUgZnJvbnQtZW5k
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNvbXBvc2l0aW5nLXJlYXNvbnMuaHRt
bAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JMYXllclRyZWVBZ2VudDo6cmVhc29uc0ZvckNvbXBvc2l0aW5nTGF5ZXIpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50
Lmg6CisgICAgICAgIChJbnNwZWN0b3JMYXllclRyZWVBZ2VudCk6CisKKzIwMTMtMDMtMDcgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBpZGVudGlmeSBsYXllcnMgZm9yIENTUyBnZW5lcmF0ZWQgY29udGVudCBpbiBMYXllclRyZWVB
Z2VudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEx
NTUxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA0OGI2ZGMz
YjMyZmM2MjZmY2RiYTdhODY0YmU0Zjc1MGZkMjFkZTkzLi4xNGE4ZTllZjc2OTc2MTcxZjgwNDIx
YmE1YjBlZTE2NTVjOTUyYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCkBAIC0zNjc4LDYgKzM2NzgsMzcgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJwc2V1ZG9FbGVtZW50SWQiLCAiJHJlZiI6ICJQc2V1ZG9FbGVtZW50SWQiLCAib3B0aW9uYWwi
OiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIGlkIGZvciB0aGUgcHNldWRvIGVsZW1lbnQgYXNz
b2NpYXRlZCB3aXRoIHRoaXMgbGF5ZXIuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInBzZXVkb0NsYXNzIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBDU1MgcHNldWRvLWNsYXNzIHRoYXQgcHJvbXB0
ZWQgdGhlIGxheWVyJ3MgY29udGVudCB0byBiZSBnZW5lcmF0ZWQuIiB9CiAgICAgICAgICAgICAg
ICAgXQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAiaWQi
OiAiQ29tcG9zaXRpbmdSZWFzb25zIiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3Qi
LAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbiBvYmplY3QgY29udGFpbmcgdGhl
IHJlYXNvbnMgd2h5IHRoZSBsYXllciB3YXMgY29tcG9zaXRlZCBhcyBwcm9wZXJ0aWVzLiIsCisg
ICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAidHJhbnNmb3JtM0QiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVs
ZW1lbnQgd2l0aCBhIENTUyAzRCB0cmFuc2Zvcm0uIiB9LAorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInZpZGVvIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhIDx2aWRl
bz4gZWxlbWVudC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2FudmFzIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21w
b3NpdGlvbiBkdWUgdG8gdGhlIGVsZW1lbnQgYmVpbmcgYSA8Y2FudmFzPiBlbGVtZW50LiIgfSwK
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwbHVnaW4iLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBh
c3NvY2lhdGlvbiB3aXRoIGEgcGx1Z2luLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJpRnJhbWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIDxpZnJhbWU+
IGVsZW1lbnQuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImJhY2tmYWNlVmlz
aWJpbGl0eUhpZGRlbiIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiQ29tcG9zaXRpb24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVu
dCB3aXRoIGEgXCJiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW5cIiBzdHlsZS4iIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21w
b3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhbiBlbGVtZW50IGNsaXBwbmcgY29tcG9z
aXRpbmcgZGVzY2VuZGFudHMuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFu
aW1hdGlvbiIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiQ29tcG9zaXRpb24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gYW5pbWF0ZWQgZWxl
bWVudC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZmlsdGVycyIsICJ0eXBl
IjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcG9zaXRp
b24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIENTUyBmaWx0ZXJzIGFw
cGxpZWQuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBvc2l0aW9uRml4ZWQi
LCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNv
bXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVsZW1lbnQgd2l0aCBhIFwicG9z
aXRpb246IGZpeGVkXCIgc3R5bGUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InBvc2l0aW9uU3RpY2t5IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhbiBlbGVt
ZW50IHdpdGggYSBcInBvc2l0aW9uOiBzdGlja3lcIiBzdHlsZS4iIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAib3ZlcmZsb3dTY3JvbGxpbmdUb3VjaCIsICJ0eXBlIjogImJvb2xl
YW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcG9zaXRpb24gZHVlIHRv
IGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIGEgXCJvdmVyZmxvdy1zY3JvbGxpbmc6
IHRvdWNoXCIgc3R5bGUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN0YWNr
aW5nIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhbiBlbGVtZW50IGVzdGFibGlz
aGluZyBhIHN0YWNraW5nIGNvbnRleHQuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm92ZXJsYXAiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGFuIGVsZW1lbnQg
b3ZlcmxhcHBpbmcgb3RoZXIgY29tcG9zaXRlZCBlbGVtZW50cy4iIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibmVnYXRpdmVaSW5kZXhDaGlsZHJlbiIsICJ0eXBlIjogImJvb2xl
YW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcG9zaXRpb24gZHVlIHRv
IGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIGRlc2NlbmRhbnRzIHRoYXQgaGF2ZSBh
IG5lZ2F0aXZlIHotaW5kZXguIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRy
YW5zZm9ybVdpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMiLCAidHlwZSI6ICJib29sZWFuIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lh
dGlvbiB3aXRoIGFuIGVsZW1lbnQgd2l0aCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzLiIgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvcGFjaXR5V2l0aENvbXBvc2l0ZWREZXNjZW5k
YW50cyIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiQ29tcG9zaXRpb24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIG9w
YWNpdHkgYXBwbGllZCBhbmQgY29tcG9zaXRlZCBkZXNjZW5kYW50cy4iIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAibWFza1dpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMiLCAidHlw
ZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbXBvc2l0
aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIGEgbWFza2VkIGVsZW1lbnQgYW5kIGNvbXBvc2l0
ZWQgZGVzY2VuZGFudHMuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlZmxl
Y3Rpb25XaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRp
b25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRp
b24gd2l0aCBhbiBlbGVtZW50IHdpdGggYSByZWZsZWN0aW9uIGFuZCBjb21wb3NpdGVkIGRlc2Nl
bmRhbnRzLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmaWx0ZXJXaXRoQ29t
cG9zaXRlZERlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhbiBl
bGVtZW50IHdpdGggQ1NTIGZpbHRlcnMgYXBwbGllZCBhbmQgY29tcG9zaXRlZCBkZXNjZW5kYW50
cy4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmxlbmRpbmdXaXRoQ29tcG9z
aXRlZERlc2NlbmRhbnRzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlvbiBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhbiBlbGVt
ZW50IHdpdGggQ1NTIGJsZW5kaW5nIGFwcGxpZWQgYW5kIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMu
IiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInBlcnNwZWN0aXZlIiwgInR5cGUi
OiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wb3NpdGlv
biBkdWUgdG8gYXNzb2NpYXRpb24gd2l0aCBhbiBlbGVtZW50IHdpdGggcGVyc3BlY3RpdmUgYXBw
bGllZC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicHJlc2VydmUzRCIsICJ0
eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcG9z
aXRpb24gZHVlIHRvIGFzc29jaWF0aW9uIHdpdGggYW4gZWxlbWVudCB3aXRoIGEgXCJ0cmFuc2Zv
cm0tc3R5bGU6IHByZXNlcnZlLTNkXCIgc3R5bGUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInJvb3QiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIkNvbXBvc2l0aW9uIGR1ZSB0byBhc3NvY2lhdGlvbiB3aXRoIHRoZSByb290
IGVsZW1lbnQuIiB9CisgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQogICAgICAgICBd
LAogICAgICAgICAiY29tbWFuZHMiOiBbCkBAIC0zNjk3LDYgKzM3MjgsMTYgQEAKICAgICAgICAg
ICAgICAgICAicmV0dXJucyI6IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYXll
cnMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiTGF5ZXIiIH0sICJkZXNj
cmlwdGlvbiI6ICJDaGlsZCBsYXllcnMuIiB9CiAgICAgICAgICAgICAgICAgXQorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJyZWFzb25zRm9y
Q29tcG9zaXRpbmdMYXllciIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGF5ZXJJZCIsICIkcmVmIjogIkxheWVySWQiLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIGlkIG9mIHRoZSBsYXllciBmb3Igd2hpY2ggd2Ugd2FudCB0byBn
ZXQgdGhlIHJlYXNvbnMgaXQgd2FzIGNvbXBvc2l0ZWQuIiB9CisgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUHJvdmlkZXMgdGhlIHJlYXNvbnMgd2h5
IHRoZSBnaXZlbiBsYXllciB3YXMgY29tcG9zaXRlZC4iLAorICAgICAgICAgICAgICAgICJyZXR1
cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNvbXBvc2l0aW5nUmVhc29u
cyIsICIkcmVmIjogIkNvbXBvc2l0aW5nUmVhc29ucyIsICJkZXNjcmlwdGlvbiI6ICJBbiBvYmpl
Y3QgY29udGFpbmluZyB0aGUgcmVhc29ucyB3aHkgdGhlIGxheWVyIHdhcyBjb21wb3NpdGVkIGFz
IHByb3BlcnRpZXMuIiB9CisgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQogICAgICAg
ICBdLAogICAgICAgICAiZXZlbnRzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKaW5kZXggOTdmMTFlZGUzNTg5OTZkYjdl
NGRhMTIyZWI1YjFlMzUwNjNkMjQ4ZC4uY2NmNTQ0ZTYyYTE4MjBhOWI4MWFmOGI4YjgxNjhhZmRh
ZTIwZTE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TGF5ZXJUcmVlQWdlbnQuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiUHNldWRvRWxl
bWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJC
YWNraW5nLmgiCisjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMjEsNiArMjIyLDkxIEBA
IFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkxheWVyVHJlZTo6SW50UmVjdD4gSW5zcGVjdG9yTGF5
ZXJUcmVlQWdlbnQ6OmJ1aWxkT2JqZWN0CiAgICAgICAgIC5zZXRIZWlnaHQocmVjdC5oZWlnaHQo
KSkucmVsZWFzZSgpOwogfQogCit2b2lkIEluc3BlY3RvckxheWVyVHJlZUFnZW50OjpyZWFzb25z
Rm9yQ29tcG9zaXRpbmdMYXllcihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmlu
ZyYgbGF5ZXJJZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpMYXllclRyZWU6OkNvbXBvc2l0aW5nUmVh
c29ucz4mIGNvbXBvc2l0aW5nUmVhc29ucykKK3sKKyAgICBjb25zdCBSZW5kZXJMYXllciogcmVu
ZGVyTGF5ZXIgPSBtX2lkVG9MYXllci5nZXQobGF5ZXJJZCk7CisKKyAgICBpZiAoIXJlbmRlckxh
eWVyKSB7CisgICAgICAgICplcnJvclN0cmluZyA9ICJDb3VsZCBub3QgZmluZCBhIGJvdW5kIGxh
eWVyIGZvciB0aGUgcHJvdmlkZWQgaWQiOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Q29tcG9zaXRpbmdSZWFzb25zIHJlYXNvbnNCaXRtYXNrID0gcmVuZGVyTGF5ZXItPmNvbXBvc2l0
b3IoKS0+cmVhc29uc0ZvckNvbXBvc2l0aW5nKHJlbmRlckxheWVyKTsKKyAgICBjb21wb3NpdGlu
Z1JlYXNvbnMgPSBUeXBlQnVpbGRlcjo6TGF5ZXJUcmVlOjpDb21wb3NpdGluZ1JlYXNvbnM6OmNy
ZWF0ZSgpOworCisgICAgaWYgKHJlYXNvbnNCaXRtYXNrICYgQ29tcG9zaXRpbmdSZWFzb24zRFRy
YW5zZm9ybSkKKyAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRUcmFuc2Zvcm0zRCh0cnVl
KTsKKworICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uVmlkZW8pCisg
ICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0VmlkZW8odHJ1ZSk7CisKKyAgICBpZiAocmVh
c29uc0JpdG1hc2sgJiBDb21wb3NpdGluZ1JlYXNvbkNhbnZhcykKKyAgICAgICAgY29tcG9zaXRp
bmdSZWFzb25zLT5zZXRDYW52YXModHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBD
b21wb3NpdGluZ1JlYXNvblBsdWdpbikKKyAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRQ
bHVnaW4odHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3NpdGluZ1JlYXNv
bklGcmFtZSkKKyAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRJRnJhbWUodHJ1ZSk7Cisg
ICAgCisgICAgaWYgKHJlYXNvbnNCaXRtYXNrICYgQ29tcG9zaXRpbmdSZWFzb25CYWNrZmFjZVZp
c2liaWxpdHlIaWRkZW4pCisgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0QmFja2ZhY2VW
aXNpYmlsaXR5SGlkZGVuKHRydWUpOworCisgICAgaWYgKHJlYXNvbnNCaXRtYXNrICYgQ29tcG9z
aXRpbmdSZWFzb25DbGlwc0NvbXBvc2l0aW5nRGVzY2VuZGFudHMpCisgICAgICAgIGNvbXBvc2l0
aW5nUmVhc29ucy0+c2V0Q2xpcHNDb21wb3NpdGluZ0Rlc2NlbmRhbnRzKHRydWUpOworCisgICAg
aWYgKHJlYXNvbnNCaXRtYXNrICYgQ29tcG9zaXRpbmdSZWFzb25BbmltYXRpb24pCisgICAgICAg
IGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0QW5pbWF0aW9uKHRydWUpOworCisgICAgaWYgKHJlYXNv
bnNCaXRtYXNrICYgQ29tcG9zaXRpbmdSZWFzb25GaWx0ZXJzKQorICAgICAgICBjb21wb3NpdGlu
Z1JlYXNvbnMtPnNldEZpbHRlcnModHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBD
b21wb3NpdGluZ1JlYXNvblBvc2l0aW9uRml4ZWQpCisgICAgICAgIGNvbXBvc2l0aW5nUmVhc29u
cy0+c2V0UG9zaXRpb25GaXhlZCh0cnVlKTsKKworICAgIGlmIChyZWFzb25zQml0bWFzayAmIENv
bXBvc2l0aW5nUmVhc29uUG9zaXRpb25TdGlja3kpCisgICAgICAgIGNvbXBvc2l0aW5nUmVhc29u
cy0+c2V0UG9zaXRpb25TdGlja3kodHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBD
b21wb3NpdGluZ1JlYXNvbk92ZXJmbG93U2Nyb2xsaW5nVG91Y2gpCisgICAgICAgIGNvbXBvc2l0
aW5nUmVhc29ucy0+c2V0T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaCh0cnVlKTsKKworICAgIGlmIChy
ZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uU3RhY2tpbmcpCisgICAgICAgIGNvbXBv
c2l0aW5nUmVhc29ucy0+c2V0U3RhY2tpbmcodHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1h
c2sgJiBDb21wb3NpdGluZ1JlYXNvbk92ZXJsYXApCisgICAgICAgIGNvbXBvc2l0aW5nUmVhc29u
cy0+c2V0T3ZlcmxhcCh0cnVlKTsKKworICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0
aW5nUmVhc29uTmVnYXRpdmVaSW5kZXhDaGlsZHJlbikKKyAgICAgICAgY29tcG9zaXRpbmdSZWFz
b25zLT5zZXROZWdhdGl2ZVpJbmRleENoaWxkcmVuKHRydWUpOworCisgICAgaWYgKHJlYXNvbnNC
aXRtYXNrICYgQ29tcG9zaXRpbmdSZWFzb25UcmFuc2Zvcm1XaXRoQ29tcG9zaXRlZERlc2NlbmRh
bnRzKQorICAgICAgICBjb21wb3NpdGluZ1JlYXNvbnMtPnNldFRyYW5zZm9ybVdpdGhDb21wb3Np
dGVkRGVzY2VuZGFudHModHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3Np
dGluZ1JlYXNvbk9wYWNpdHlXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQorICAgICAgICBjb21w
b3NpdGluZ1JlYXNvbnMtPnNldE9wYWNpdHlXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKHRydWUp
OworCisgICAgaWYgKHJlYXNvbnNCaXRtYXNrICYgQ29tcG9zaXRpbmdSZWFzb25NYXNrV2l0aENv
bXBvc2l0ZWREZXNjZW5kYW50cykKKyAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLT5zZXRNYXNr
V2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyh0cnVlKTsKKworICAgIGlmIChyZWFzb25zQml0bWFz
ayAmIENvbXBvc2l0aW5nUmVhc29uUmVmbGVjdGlvbldpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMp
CisgICAgICAgIGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0UmVmbGVjdGlvbldpdGhDb21wb3NpdGVk
RGVzY2VuZGFudHModHJ1ZSk7CisKKyAgICBpZiAocmVhc29uc0JpdG1hc2sgJiBDb21wb3NpdGlu
Z1JlYXNvbkZpbHRlcldpdGhDb21wb3NpdGVkRGVzY2VuZGFudHMpCisgICAgICAgIGNvbXBvc2l0
aW5nUmVhc29ucy0+c2V0RmlsdGVyV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyh0cnVlKTsKKyAg
ICAgICAgICAgIAorICAgIGlmIChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uQmxl
bmRpbmdXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzKQorICAgICAgICBjb21wb3NpdGluZ1JlYXNv
bnMtPnNldEJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50cyh0cnVlKTsKKworICAgIGlm
IChyZWFzb25zQml0bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUGVyc3BlY3RpdmUpCisgICAgICAg
IGNvbXBvc2l0aW5nUmVhc29ucy0+c2V0UGVyc3BlY3RpdmUodHJ1ZSk7CisKKyAgICBpZiAocmVh
c29uc0JpdG1hc2sgJiBDb21wb3NpdGluZ1JlYXNvblByZXNlcnZlM0QpCisgICAgICAgIGNvbXBv
c2l0aW5nUmVhc29ucy0+c2V0UHJlc2VydmUzRCh0cnVlKTsKKworICAgIGlmIChyZWFzb25zQml0
bWFzayAmIENvbXBvc2l0aW5nUmVhc29uUm9vdCkKKyAgICAgICAgY29tcG9zaXRpbmdSZWFzb25z
LT5zZXRSb290KHRydWUpOworfQorCiBTdHJpbmcgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQ6OmJp
bmQoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKQogewogICAgIGlmICghbGF5ZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCmluZGV4
IDJkOTFhZmE0ODBkYmQxMzAzNGYwNjZkYTI4YTQzYmM0NDlhNjRmOTcuLmVjNzkxODc3ZDMzMzlh
ZGZmYjIwNDdlNGI1ZTQ4ZmFkNTI4ODcyMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCkBAIC02OCw2ICs2OCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CiAgICAgdmlydHVhbCB2
b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5ZXJzRm9yTm9k
ZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlw
ZUJ1aWxkZXI6OkxheWVyVHJlZTo6TGF5ZXI+ID4mKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVhc29u
c0ZvckNvbXBvc2l0aW5nTGF5ZXIoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIGxheWVySWQs
IFJlZlB0cjxUeXBlQnVpbGRlcjo6TGF5ZXJUcmVlOjpDb21wb3NpdGluZ1JlYXNvbnM+Jik7CiAK
IHByaXZhdGU6CiAgICAgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEluc3BlY3RvckNvbXBvc2l0ZVN0YXRlKik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDIxMDkyZjc2NTA2ODJiNTE2
ZWRjNDk3YTg5M2U5NzkyNmFjZDEzNy4uM2E4ZjY0MDA3OTZlOGI1M2YzNWRlZDcwMTYzZGE5N2Uw
M2ZiOTg2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEzLTAzLTA3ICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcHJvdmlkZSBy
ZWFzb25zIHdoeSBhIGxheWVyIHdhcyBjb21wb3NpdGVkIGluIHRoZSBMYXllclRyZWVBZ2VudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzAzCisK
KyAgICAgICAgTmV3IHRlc3QgZm9yIExheWVyVHJlZS5yZWFzb25zRm9yQ29tcG9zaXRpbmdMYXll
cihsYXllcklkKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNvbXBvc2l0aW5nLXJlYXNv
bnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvbGF5
ZXJzL2xheWVycy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWw6IEFkZGVkLgorCisyMDEzLTAzLTA3
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogaWRlbnRpZnkgbGF5ZXJzIGZvciBDU1MgZ2VuZXJhdGVkIGNvbnRlbnQgaW4gTGF5ZXJU
cmVlQWdlbnQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMTU1MQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvbGF5
ZXJzL2xheWVycy1jb21wb3NpdGluZy1yZWFzb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNvbXBvc2l0aW5nLXJlYXNvbnMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ZmI2NDQ4MGQ0ZDEwNDdiYzNmNWIzYjM3OWI4YTlkNjZm
OWE1M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
bGF5ZXJzL2xheWVycy1jb21wb3NpdGluZy1yZWFzb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE4IEBACisKKz09PSBFbmFibGUgdGhlIExheWVyVHJlZSBhZ2VudCA9PT0KKworUEFTUworCis9
PT0gR2V0IHRoZSBEb2N1bWVudCA9PT0KKworUEFTUworCis9PT0gR2V0IHRoZSBsYXllciB0cmVl
ID09PQorCitQQVNTCisKKz09PSBDaGVjayBsYXllcnMnIHJlYXNvbnMgZm9yIGNvbXBvc2l0aW5n
ID09PQorCitQQVNTOiA8ZGl2IGlkPSJvcGFjaXR5LWNvbnRhaW5lciI+IGlzIGNvbXBvc2l0ZWQg
ZHVlIHRvIGhhdmluZyBhbiBvcGFjaXR5IHN0eWxlIGFuZCBhIGNvbXBvc2l0ZWQgY2hpbGQuCitQ
QVNTOiA8ZGl2IGlkPSJjaGlsZCI+IGlzIGNvbXBvc2l0ZWQgZHVlIHRvIGhhdmluZyAiYmFja2Zh
Y2UtdmlzaWJpbGl0eTogaGlkZGVuIiBhbmQgYSAzRCB0cmFuc2Zvcm0uCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5ZXJzLWNvbXBvc2l0aW5n
LXJlYXNvbnMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9sYXllcnMvbGF5
ZXJzLWNvbXBvc2l0aW5nLXJlYXNvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMmI1YmY1MzdlNzIwYmYx
OWUyNjIwNTgzYzQ5ODgzNjYxOTJmZjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2xheWVycy9sYXllcnMtY29tcG9zaXRpbmctcmVhc29ucy5odG1s
CkBAIC0wLDAgKzEsMTY2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3Vy
Y2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKworICAgIHZhciBub2RlcyA9IFtdOworIAor
ICAgIEluc3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyWyJET00uc2V0Q2hpbGROb2RlcyJdID0gc2V0
Q2hpbGROb2RlczsKKworICAgIGVuYWJsZUxheWVyVHJlZUFnZW50KCk7CisgICAgCisgICAgZnVu
Y3Rpb24gZW5hYmxlTGF5ZXJUcmVlQWdlbnQocmVzdWx0KQorICAgIHsKKyAgICAgICAgc3RlcCh7
CisgICAgICAgICAgICBuYW1lOiAiRW5hYmxlIHRoZSBMYXllclRyZWUgYWdlbnQiLAorICAgICAg
ICAgICAgY29tbWFuZDogIkxheWVyVHJlZS5lbmFibGUiLAorICAgICAgICAgICAgcGFyYW1ldGVy
czoge30sCisgICAgICAgICAgICBjYWxsYmFjazogZ2V0RG9jdW1lbnQKKyAgICAgICAgfSk7Cisg
ICAgfTsKKworICAgIGZ1bmN0aW9uIGdldERvY3VtZW50KCkKKyAgICB7CisgICAgICAgIC8vIFdl
IG11c3QgZmlyc3QgZ2V0IHRoZSBkb2N1bWVudCBzbyB0aGF0IGxhdGVyIG9uIHdlIG1heSBnZXQg
c2Vuc2libGUgbm9kZUlkcy4KKyAgICAgICAgc3RlcCh7CisgICAgICAgICAgICBuYW1lOiAiR2V0
IHRoZSBEb2N1bWVudCIsCisgICAgICAgICAgICBjb21tYW5kOiAiRE9NLmdldERvY3VtZW50IiwK
KyAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt9LAorICAgICAgICAgICAgY2FsbGJhY2s6IGdldExh
eWVyVHJlZQorICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVuY3Rpb24gZ2V0TGF5ZXJUcmVl
KHJlc3VsdCkKKyAgICB7CisgICAgICAgIHN0ZXAoeworICAgICAgICAgICAgbmFtZTogIkdldCB0
aGUgbGF5ZXIgdHJlZSIsCisgICAgICAgICAgICBjb21tYW5kOiAiTGF5ZXJUcmVlLmxheWVyc0Zv
ck5vZGUiLAorICAgICAgICAgICAgcGFyYW1ldGVyczogeyJub2RlSWQiOiByZXN1bHQucm9vdC5u
b2RlSWR9LAorICAgICAgICAgICAgY2FsbGJhY2s6IGdvdExheWVyVHJlZQorICAgICAgICB9KTsK
KyAgICB9OworCisgICAgZnVuY3Rpb24gZ290TGF5ZXJUcmVlKHJlc3VsdCkKKyAgICB7CisgICAg
ICAgIGxvZ1Rlc3ROYW1lKCJDaGVjayBsYXllcnMnIHJlYXNvbnMgZm9yIGNvbXBvc2l0aW5nIikK
KyAgICAgICAgCisgICAgICAgIHZhciBsYXllcnMgPSByZXN1bHQubGF5ZXJzOworCisgICAgICAg
IHZhciBub2Rlc0J5SWQgPSB7fTsKKyAgICAgICAgbm9kZXMuZm9yRWFjaChmdW5jdGlvbihub2Rl
KSB7CisgICAgICAgICAgICBub2Rlc0J5SWRbbm9kZS5ub2RlSWRdID0gbm9kZTsKKyAgICAgICAg
fSk7CisKKyAgICAgICAgdmFyIGNvdW50ID0gMDsKKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9u
IGhhc0lkKG5vZGUsIGlkKSB7CisgICAgICAgICAgICByZXR1cm4gbm9kZSAmJiBub2RlLmF0dHJp
YnV0ZXMgJiYgbm9kZS5hdHRyaWJ1dGVzWzBdID09PSAiaWQiICYmIG5vZGUuYXR0cmlidXRlc1sx
XSA9PT0gaWQ7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGR1bXBSZWFz
b25zKGxheWVyLCBjb21wb3NpdGluZ1JlYXNvbnMpIHsKKyAgICAgICAgICAgIHZhciBub2RlID0g
bm9kZXNCeUlkW2xheWVyLm5vZGVJZF07CisKKyAgICAgICAgICAgIGlmIChoYXNJZChub2RlLCAi
b3BhY2l0eS1jb250YWluZXIiKSkgeworICAgICAgICAgICAgICAgIGFzc2VydCgKKyAgICAgICAg
ICAgICAgICAgICAgIjxkaXYgaWQ9XCJvcGFjaXR5LWNvbnRhaW5lclwiPiBpcyBjb21wb3NpdGVk
IGR1ZSB0byBoYXZpbmcgYW4gb3BhY2l0eSBzdHlsZSBhbmQgYSBjb21wb3NpdGVkIGNoaWxkIiwK
KyAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLm9wYWNpdHlXaXRoQ29tcG9z
aXRlZERlc2NlbmRhbnRzLAorICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAgICAgICAgICAg
IH0gZWxzZSBpZiAoaGFzSWQobm9kZSwgImNoaWxkIikpIHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnQoCisgICAgICAgICAgICAgICAgICAgICI8ZGl2IGlkPVwiY2hpbGRcIj4gaXMgY29tcG9zaXRl
ZCBkdWUgdG8gaGF2aW5nIFwiYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuXCIgYW5kIGEgM0Qg
dHJhbnNmb3JtIiwKKyAgICAgICAgICAgICAgICAgICAgY29tcG9zaXRpbmdSZWFzb25zLnRyYW5z
Zm9ybTNEICYmIGNvbXBvc2l0aW5nUmVhc29ucy5iYWNrZmFjZVZpc2liaWxpdHlIaWRkZW4sCisg
ICAgICAgICAgICAgICAgICAgIHRydWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAoKytjb3VudCA9PT0gbGF5ZXJzLmxlbmd0aCkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9OworCisgICAgICAgIGxheWVycy5mb3JFYWNo
KGZ1bmN0aW9uIChsYXllcikgeworICAgICAgICAgICAgcnVuQ29tbWFuZCh7CisgICAgICAgICAg
ICAgICAgY29tbWFuZDogIkxheWVyVHJlZS5yZWFzb25zRm9yQ29tcG9zaXRpbmdMYXllciIsCisg
ICAgICAgICAgICAgICAgcGFyYW1ldGVyczogeyJsYXllcklkIjogbGF5ZXIubGF5ZXJJZH0sCisg
ICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKHJlc3VsdCkgeworICAgICAgICAgICAg
ICAgICAgICBkdW1wUmVhc29ucyhsYXllciwgcmVzdWx0LmNvbXBvc2l0aW5nUmVhc29ucyk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH07CisK
KyAgICBmdW5jdGlvbiBzZXRDaGlsZE5vZGVzIChtZXNzYWdlT2JqZWN0KSB7CisgICAgICAgIG1l
c3NhZ2VPYmplY3QucGFyYW1zLm5vZGVzLmZvckVhY2goZnVuY3Rpb24gKG5vZGUpIHsKKyAgICAg
ICAgICAgIG5vZGVzLnB1c2gobm9kZSk7CisgICAgICAgIH0pCisgICAgfTsKKworICAgIGZ1bmN0
aW9uIHN0ZXAodGVzdCkKKyAgICB7CisgICAgICAgIGlmICh0ZXN0LmNhbGxiYWNrKQorICAgICAg
ICAgICAgbG9nVGVzdE5hbWUodGVzdC5uYW1lKTsKKyAgICAgICAgcnVuQ29tbWFuZCh0ZXN0KTsK
KyAgICB9OworCisgICAgZnVuY3Rpb24gbG9nVGVzdE5hbWUobmFtZSkKKyAgICB7CisgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJcbj09PSAiICsgbmFtZSArICIgPT09XG4iKTsKKyAgICB9Owor
CisgICAgZnVuY3Rpb24gcnVuQ29tbWFuZChjb21tYW5kKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZW5kQ29tbWFuZChjb21tYW5kLmNvbW1hbmQsIGNvbW1hbmQucGFyYW1ldGVycywg
ZnVuY3Rpb24obWVzc2FnZU9iamVjdCkgeworICAgICAgICAgICAgaWYgKG1lc3NhZ2VPYmplY3Qu
aGFzT3duUHJvcGVydHkoImVycm9yIikpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmxvZygiRkFJTDogIiArIG1lc3NhZ2VPYmplY3QuZXJyb3IubWVzc2FnZSArICIgKCIgKyBtZXNz
YWdlT2JqZWN0LmVycm9yLmNvZGUgKyAiKSIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAoY29tbWFuZC5uYW1lKQorICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJQQVNTIik7CisKKyAgICAgICAgICAgIGlmIChjb21tYW5kLmNhbGxiYWNr
KQorICAgICAgICAgICAgICAgIGNvbW1hbmQuY2FsbGJhY2sobWVzc2FnZU9iamVjdC5yZXN1bHQp
OworICAgICAgICB9KTsKKyAgICB9OworCisgICAgZnVuY3Rpb24gYXNzZXJ0KG5hbWUsIGFjdHVh
bCwgZXhwZWN0ZWQpCisgICAgeworICAgICAgICBpZiAoZXhwZWN0ZWQgPT09IGFjdHVhbCkKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJQQVNTOiAiICsgbmFtZSArICIuIik7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJGQUlMOiAiICsgbmFtZSAr
ICIuIEV4cGVjdGVkICIgKyBleHBlY3RlZCArICIgYnV0IGdvdCAiICsgYWN0dWFsKTsKKyAgICB9
OworCit9OworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1
bmN0aW9uKCkKK3sKKyAgICBydW5UZXN0KCk7Cit9LCBmYWxzZSk7CisKKzwvc2NyaXB0PgorPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIAorICAgICNvcGFjaXR5LWNvbnRhaW5lciB7Cisg
ICAgICAgIG9wYWNpdHk6IDAuNTsKKyAgICB9CisKKyAgICAjY2hpbGQgeworICAgICAgICAtd2Vi
a2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgLXdlYmtpdC10cmFuc2Zv
cm06IHRyYW5zbGF0ZVooMCk7CisgICAgfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisK
KyAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisKKyAgICA8ZGl2IGlkPSJvcGFjaXR5LWNvbnRh
aW5lciI+CisgICAgICAgIDxkaXYgaWQ9ImNoaWxkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>