<?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>71216</bug_id>
          
          <creation_ts>2011-10-31 04:54:59 -0700</creation_ts>
          <short_desc>Add Media characteristics pseudo classes</short_desc>
          <delta_ts>2012-03-20 08:59:13 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>59867</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Arun Patole">arun.patole</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>peter</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>493254</commentid>
    <comment_count>0</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2011-10-31 04:54:59 -0700</bug_when>
    <thetext>Add following Media characteristics pseudo classes:
  - has-closed-captioning
  - has-audio
  - has-video
  - has-duration

see:
https://bugs.webkit.org/show_bug.cgi?id=59867</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493265</commentid>
    <comment_count>1</comment_count>
      <attachid>113042</attachid>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2011-10-31 05:51:19 -0700</bug_when>
    <thetext>Created attachment 113042
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493266</commentid>
    <comment_count>2</comment_count>
      <attachid>113042</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-10-31 05:57:47 -0700</bug_when>
    <thetext>Comment on attachment 113042
proposed patch

Attachment 113042 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10244612</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493279</commentid>
    <comment_count>3</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2011-10-31 06:33:41 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 113042 [details])
&gt; Attachment 113042 [details] did not pass efl-ews (efl):
&gt; Output: http://queues.webkit.org/results/10244612

forgot to put changes under #if ENABLE(VIDEO), will upload updated patch soon...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493296</commentid>
    <comment_count>4</comment_count>
      <attachid>113046</attachid>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2011-10-31 07:04:59 -0700</bug_when>
    <thetext>Created attachment 113046
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495294</commentid>
    <comment_count>5</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2011-11-03 02:56:49 -0700</bug_when>
    <thetext>Can someone from people on CC list review the patch please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495343</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-11-03 04:34:05 -0700</bug_when>
    <thetext>It is not clear to me what these are good for (even after reading the whatwg thread). CSS is not very good for styling things based on state of another element so these are fairly inflexible to use. A media controller needs scripting anyway. A full implementation of all pseudo classes would require quite a bit of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495663</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-11-03 11:22:54 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; It is not clear to me what these are good for (even after reading the whatwg thread). CSS is not very good for styling things based on state of another element so these are fairly inflexible to use.

What do you mean by this? Styling based on state of an ancestor is a very common pattern in Web development.

&gt; A media controller needs scripting anyway. A full implementation of all pseudo classes would require quite a bit of code.

Yep. That&apos;s certainly a cost. But the benefit is pretty nice too, albeit localized to media controls and those styling them. And yes, you would still need scripting to build a full-blown media controller, but with these pseudo-classes, you could totally get away with just CSS to skin existing controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495842</commentid>
    <comment_count>8</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-11-03 16:06:09 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; It is not clear to me what these are good for (even after reading the whatwg thread). CSS is not very good for styling things based on state of another element so these are fairly inflexible to use.
&gt; 
&gt; What do you mean by this? Styling based on state of an ancestor is a very common pattern in Web development.

Exactly. Ancestors only. Inflexible. Presumably you would occasionally want elements other than ancestors to be affected by the media state.

&gt; &gt; A media controller needs scripting anyway. A full implementation of all pseudo classes would require quite a bit of code.
&gt; 
&gt; Yep. That&apos;s certainly a cost. But the benefit is pretty nice too, albeit localized to media controls and those styling them. And yes, you would still need scripting to build a full-blown media controller, but with these pseudo-classes, you could totally get away with just CSS to skin existing controls.

I think there is a whiff off adding features for the sake of adding features here. I think you should at least get some traction in whatwg first.

I don&apos;t really feel very strongly about this either way. Just asking the potential reviewers to consider if this is really worth doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495845</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-11-03 16:06:59 -0700</bug_when>
    <thetext>I mean &quot;elements other than children&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496213</commentid>
    <comment_count>10</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-11-04 08:59:06 -0700</bug_when>
    <thetext>&gt; I don&apos;t really feel very strongly about this either way. Just asking the potential reviewers to consider if this is really worth doing.

For what it&apos;s worth, I also have a similar doubt (even though I proposed this originally). There&apos;s a delicate cost/benefit balance, and I stand ambivalent in attempt to resolve it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496232</commentid>
    <comment_count>11</comment_count>
    <who name="Arun Patole">arun.patole</who>
    <bug_when>2011-11-04 09:38:20 -0700</bug_when>
    <thetext>I am not an expert but it looked good addition to me and also because it was already discussed on WHATWG. I will cancel adding these classes as the advantages of having it are not clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583051</commentid>
    <comment_count>12</comment_count>
      <attachid>113046</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-03-20 07:28:03 -0700</bug_when>
    <thetext>Comment on attachment 113046
updated patch

Canceling r? as we don&apos;t have consensus that this is a good direction. Please feel free to reopen if you think this is incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583112</commentid>
    <comment_count>13</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-20 08:59:13 -0700</bug_when>
    <thetext>WONTFIX for now based on lack of traction.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113042</attachid>
            <date>2011-10-31 05:51:19 -0700</date>
            <delta_ts>2011-10-31 07:04:59 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>22112</size>
            <attacher name="Arun Patole">arun.patole</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMTAtMzEgIEFydW4gUGF0
b2xlICA8Qk1GODM0QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBBZGQgTWVkaWEgY2hhcmFjdGVy
aXN0aWNzIHBzZXVkbyBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzEyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBmb2xsb3dpbmcgbWVkaWEgcHNldWRvIGNsYXNzZXM6CisgICAg
ICAgICAgLXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmcKKyAgICAgICAgICAtd2Vi
a2l0LW1lZGlhLWhhcy1hdWRpbworICAgICAgICAgIC13ZWJraXQtbWVkaWEtaGFzLXZpZGVvCisg
ICAgICAgICAgLXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24KKworICAgICAgICBUZXN0czogbWVk
aWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sCisgICAgICAgICAgICAgICBtZWRp
YS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIG1lZGlhL3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtZHVyYXRpb24uaHRtbAorICAgICAg
ICAgICAgICAgbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy12aWRlby5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6
OnBzZXVkb0lkKToKKyAgICAgICAgKFdlYkNvcmU6Om5hbWVUb1BzZXVkb1R5cGVNYXApOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKToKKyAgICAgICAg
KiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6Cisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1hdGNoZXNNZWRpYVBzZXVkb1R5cGUpOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5oOgorCiAyMDExLTEwLTMxICBBbnR0aSBLb2l2aXN0byAgPGFudHRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEwMTIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24g
OTgzMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTAsNiArMjEwLDEwIEBAIFBzZXVkb0lkIENTU1NlbGVjdG9yOjpwc2V1ZG9JZChQ
c2V1ZG9UeXAKICAgICBjYXNlIFBzZXVkb1JpZ2h0UGFnZToKICAgICBjYXNlIFBzZXVkb0luUmFu
Z2U6CiAgICAgY2FzZSBQc2V1ZG9PdXRPZlJhbmdlOgorICAgIGNhc2UgUHNldWRvTWVkaWFIYXND
bG9zZWRDYXB0aW9uaW5nOgorICAgIGNhc2UgUHNldWRvTWVkaWFIYXNBdWRpbzoKKyAgICBjYXNl
IFBzZXVkb01lZGlhSGFzVmlkZW86CisgICAgY2FzZSBQc2V1ZG9NZWRpYUhhc0R1cmF0aW9uOgog
ICAgICAgICByZXR1cm4gTk9QU0VVRE87CiAgICAgY2FzZSBQc2V1ZG9Ob3RQYXJzZWQ6CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjk3LDYgKzMwMSwxMSBAQCBzdGF0aWMgSGFz
aE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2VsCiAjZW5kaWYKICAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgaW5SYW5nZSwgKCJpbi1yYW5nZSIpKTsKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgb3V0T2ZSYW5nZSwgKCJvdXQtb2YtcmFuZ2UiKSk7
CisgICAgLy8gbWVkaWEgcHNldWRvIGNsYXNzZXMKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgbWVkaWFIYXNDbG9zZWRDYXB0aW9uaW5nLCAoIi13ZWJraXQtbWVkaWEtaGFz
LWNsb3NlZC1jYXB0aW9uaW5nIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBtZWRpYUhhc0F1ZGlvLCAoIi13ZWJraXQtbWVkaWEtaGFzLWF1ZGlvIikpOworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYUhhc1ZpZGVvLCAoIi13ZWJraXQt
bWVkaWEtaGFzLXZpZGVvIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5n
LCBtZWRpYUhhc0R1cmF0aW9uLCAoIi13ZWJraXQtbWVkaWEtaGFzLWR1cmF0aW9uIikpOwogCiAg
ICAgc3RhdGljIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1NlbGVjdG9yOjpQc2V1ZG9U
eXBlPiogbmFtZVRvUHNldWRvVHlwZSA9IDA7CiAgICAgaWYgKCFuYW1lVG9Qc2V1ZG9UeXBlKSB7
CkBAIC0zNzUsNiArMzg0LDEwIEBAIHN0YXRpYyBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBD
U1NTZWwKICNlbmRpZgogICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQoaW5SYW5nZS5pbXBs
KCksIENTU1NlbGVjdG9yOjpQc2V1ZG9JblJhbmdlKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlw
ZS0+c2V0KG91dE9mUmFuZ2UuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvT3V0T2ZSYW5nZSk7
CisgICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUhhc0Nsb3NlZENhcHRpb25pbmcu
aW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNDbG9zZWRDYXB0aW9uaW5nKTsKKyAg
ICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhSGFzQXVkaW8uaW1wbCgpLCBDU1NTZWxl
Y3Rvcjo6UHNldWRvTWVkaWFIYXNBdWRpbyk7CisgICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNl
dChtZWRpYUhhc1ZpZGVvLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhSGFzVmlkZW8p
OworICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFIYXNEdXJhdGlvbi5pbXBsKCks
IENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUhhc0R1cmF0aW9uKTsKICAgICB9CiAgICAgcmV0dXJu
IG5hbWVUb1BzZXVkb1R5cGU7CiB9CkBAIC00ODAsNiArNDkzLDEwIEBAIHZvaWQgQ1NTU2VsZWN0
b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY28KICNlbmRpZgogICAgIGNhc2UgUHNldWRvSW5SYW5n
ZToKICAgICBjYXNlIFBzZXVkb091dE9mUmFuZ2U6CisgICAgY2FzZSBQc2V1ZG9NZWRpYUhhc0Ns
b3NlZENhcHRpb25pbmc6CisgICAgY2FzZSBQc2V1ZG9NZWRpYUhhc0F1ZGlvOgorICAgIGNhc2Ug
UHNldWRvTWVkaWFIYXNWaWRlbzoKKyAgICBjYXNlIFBzZXVkb01lZGlhSGFzRHVyYXRpb246CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHNldWRvRmlyc3RQYWdlOgogICAgIGNhc2UgUHNldWRv
TGVmdFBhZ2U6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAkocmV2aXNpb24gOTgzMjQp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
MTgzLDYgKzE4MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICAgICAgICAgICAg
IFBzZXVkb0luUmFuZ2UsCiAgICAgICAgICAgICBQc2V1ZG9PdXRPZlJhbmdlLAorICAgICAgICAg
ICAgUHNldWRvTWVkaWFIYXNDbG9zZWRDYXB0aW9uaW5nLAorICAgICAgICAgICAgUHNldWRvTWVk
aWFIYXNBdWRpbywKKyAgICAgICAgICAgIFBzZXVkb01lZGlhSGFzVmlkZW8sCisgICAgICAgICAg
ICBQc2V1ZG9NZWRpYUhhc0R1cmF0aW9uLAogICAgICAgICB9OwogCiAgICAgICAgIGVudW0gTWFy
Z2luQm94VHlwZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAko
cmV2aXNpb24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkZyYW1lU2VsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lRWxlbWVudEJhc2UuaCIKICNpbmNsdWRlICJIVE1M
SW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTFByb2dyZXNzRWxlbWVudC5oIgpAQCAtMTE4Myw2ICsxMTg0LDE1IEBAIGJvb2wgU2VsZWN0
b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKEMKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICBlLT5kb2N1bWVudCgpLT5zZXRDb250YWluc1ZhbGlkaXR5U3R5bGVS
dWxlcygpOwogICAgICAgICAgICAgcmV0dXJuIGUtPmlzT3V0T2ZSYW5nZSgpOworICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUhhc0Nsb3NlZENhcHRpb25pbmc6CisgICAgICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhSGFzQXVkaW86CisgICAgICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb01lZGlhSGFzVmlkZW86CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb01lZGlhSGFzRHVyYXRpb246CisgICAgICAgICAgICBpZiAoZSAmJiBlLT5pc01lZGlh
RWxlbWVudCgpKSB7CisgICAgICAgICAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KGUpOworICAgICAgICAgICAgICAg
IHJldHVybiBtZWRpYUVsZW1lbnQtPm1hdGNoZXNNZWRpYVBzZXVkb1R5cGUoc2VsLT5wc2V1ZG9U
eXBlKCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd246CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb05vdFBhcnNlZDoKICAgICAgICAgZGVmYXVsdDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDgwLDYgKzMw
ODAsMjcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRJdGVtVmFsdWVUZXh0KAogfQogI2Vu
ZGlmCiAKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6bWF0Y2hlc01lZGlhUHNldWRvVHlwZShDU1NT
ZWxlY3Rvcjo6UHNldWRvVHlwZSB0eXBlKSBjb25zdAoreworICAgIHN3aXRjaCAodHlwZSkgewor
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhSGFzQ2xvc2VkQ2FwdGlvbmluZzoKKyAg
ICAgICAgcmV0dXJuIGhhc0Nsb3NlZENhcHRpb25zKCk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvTWVkaWFIYXNBdWRpbzoKKyAgICAgICAgcmV0dXJuIGhhc0F1ZGlvKCk7CisgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNWaWRlbzoKKyAgICAgICAgcmV0dXJuIGhhc1Zp
ZGVvKCk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNEdXJhdGlvbjoKKyAg
ICAgICAgeworICAgICAgICAgICAgZmxvYXQgZHVyID0gZHVyYXRpb24oKTsKKyAgICAgICAgICAg
IHJldHVybiAoIWlzbmFuKGR1cikgJiYgZHVyKTsKKyAgICAgICAgfQorICAgIGRlZmF1bHQ6Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsK
K30KKwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCShyZXZpc2lvbiA5ODMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJIVE1M
RWxlbWVudC5oIgogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkNTU1Nl
bGVjdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFDYW5TdGFydExpc3RlbmVyLmgiCiAjaW5jbHVkZSAi
TWVkaWFQbGF5ZXIuaCIKIApAQCAtMjI2LDYgKzIyNyw4IEBAIHB1YmxpYzoKICAgICBBdWRpb1Nv
dXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKCk7CiAjZW5kaWYKIAorICAgIGJvb2wg
bWF0Y2hlc01lZGlhUHNldWRvVHlwZShDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSkgY29uc3Q7CisK
IHByb3RlY3RlZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCopOwogICAgIHZpcnR1YWwgfkhUTUxNZWRpYUVsZW1lbnQoKTsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk4ODQ1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTEtMTAtMzEgIEFydW4gUGF0b2xlICA8Qk1GODM0QG1vdG9yb2xh
LmNvbT4KKworICAgICAgICBBZGQgTWVkaWEgY2hhcmFjdGVyaXN0aWNzIHBzZXVkbyBjbGFzc2Vz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBs
YXlvdXQgdGVzdHMgZm9yIGZvbGxvd2luZyBtZWRpYSBwc2V1ZG8gY2xhc3NlczoKKyAgICAgICAg
ICAtd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZworICAgICAgICAgIC13ZWJraXQt
bWVkaWEtaGFzLWF1ZGlvCisgICAgICAgICAgLXdlYmtpdC1tZWRpYS1oYXMtdmlkZW8KKyAgICAg
ICAgICAtd2Via2l0LW1lZGlhLWhhcy1kdXJhdGlvbgorCisgICAgICAgIENsb3NlZCBjYXB0aW9u
aW5nIHN1cHBvcnQgaXMgb25seSBhdmFpbGFibGUgaW4gc2FmYXJpLAorICAgICAgICBzbyBza2lw
cGVkIGxheW91dCB0ZXN0IG9mIC13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nCisg
ICAgICAgIGZvciBhbGwgb3RoZXIgcG9ydHMuCisKKyAgICAgICAgKiBtZWRpYS9wc2V1ZG8tY2xh
c3MtbWVkaWEtaGFzLWF1ZGlvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEv
cHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRp
YS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1jbG9zZWQtY2Fw
dGlvbmluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEt
aGFzLWR1cmF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvcHNldWRv
LWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9w
c2V1ZG8tY2xhc3MtbWVkaWEtaGFzLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy12aWRlby5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vZWZsL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMS0xMC0zMSAgQW5kcmV5IEtvc3lh
a292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBM
YXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWF1ZGlvLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFz
LWF1ZGlvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3Bz
ZXVkby1jbGFzcy1tZWRpYS1oYXMtYXVkaW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE4IEBACitUZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRlbycgcHNldWRvIGNsYXNz
CisKK1Rlc3Qgd2hlbiBubyBzb3VyY2VzIGhhdmUgbG9hZGVkOgorRVhQRUNURUQgKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCA9PSAn
MCcpIE9LCisKK1Rlc3Qgd2l0aCBhdWRpbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VWRU5U
KGNhbnBsYXl0aHJvdWdoKQorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjot
d2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5pZCA9
PSAndGVzdCcpIE9LCisKK1Rlc3Qgd2l0aCB2aWRlbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkK
K0VWRU5UKGNhbnBsYXl0aHJvdWdoKQorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIjotd2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RF
RCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8i
KS5pZCA9PSAndGVzdCcpIE9LCitFTkQgT0YgVEVTVAorCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRp
YS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWF1ZGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0PgorICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKKworICAgICAgICAgICAgZnVuY3Rpb24g
c3RhcnQoKSB7CisgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHdoZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoi
KTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIjotd2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCcsIDApOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCBhdWRpbyBm
aWxlOiIpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoImF1ZGlv
IiwgImNvbnRlbnQvdGVzdCIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ubG9hZCgpIik7
CisKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxh
eXRocm91Z2gpOworICAgICAgICAgICAgfSAgICAKKyAgICAgICAgICAgICAgICAKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkgeworICAgICAgICAgICAgICAgIGlmICgrK2Nv
dW50ID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5sZW5ndGgnLCAxKTsK
KyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCJ2aWRlbzotd2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmlkJywgInRlc3QiKTsKKyAgICAgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qg
d2l0aCB2aWRlbyBmaWxlOiIpOworICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5k
TWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgICAgICAgICAg
cnVuKCJ2aWRlby5sb2FkKCkiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgICAgIH0KKyAgCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5sZW5ndGgnLCAxKTsK
KyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZp
ZGVvOi13ZWJraXQtbWVkaWEtaGFzLWF1ZGlvIikuaWQnLCAidGVzdCIpOworICAgICAgICAgICAg
ICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9o
ZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ0
ZXN0IiBjb250cm9scz48L3ZpZGVvPgorICAgICAgICA8cD5UZXN0ICctd2Via2l0LW1lZGlhLWhh
cy12aWRlbycgcHNldWRvIGNsYXNzPHA+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNz
LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9u
aW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCAnLXdl
YmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmcnIHBzZXVkbyBjbGFzcworCitUZXN0IHdo
ZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmciKS5sZW5ndGggPT0g
JzAnKSBPSworCit0ZXN0IHdpdGggYXVkaW8gZmlsZToKK1JVTih2aWRlby5sb2FkKCkpCitFVkVO
VChjYW5wbGF5dGhyb3VnaCkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6
LXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmciKS5sZW5ndGggPT0gJzAnKSBPSwor
CitUZXN0IHdpdGggdmlkZW8gZmlsZSBoYXZpbmcgY2FwdGlvbnM6CitSVU4odmlkZW8ubG9hZCgp
KQorRVZFTlQoY2FucGxheXRocm91Z2gpCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiOi13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nIikubGVuZ3RoID09ICcx
JykgT0sKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzotd2Via2l0LW1l
ZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZyIpLmlkID09ICd0ZXN0JykgT0sKK0VORCBPRiBURVNU
CisKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtY2xvc2Vk
LWNhcHRpb25pbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8t
Y2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5n
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgY291bnQgPSAwOworCisgICAgICAgICAgICBmdW5j
dGlvbiBzdGFydCgpIHsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAg
ICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgd2hlbiBubyBzb3VyY2VzIGhhdmUgbG9h
ZGVkOiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgiOi13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nIikubGVuZ3RoJywg
MCk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4gdGVzdCB3aXRoIGF1ZGlv
IGZpbGU6Iik7CisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgiYXVk
aW8iLCAiY29udGVudC90ZXN0Iik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby5sb2FkKCki
KTsKKworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgiY2FucGxheXRocm91Z2giLCBjYW5w
bGF5dGhyb3VnaCk7CisgICAgICAgICAgICB9ICAgIAorICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKSB7CisgICAgICAgICAgICAgICAgaWYgKCsr
Y291bnQgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZyIp
Lmxlbmd0aCcsIDApOworCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPiBU
ZXN0IHdpdGggdmlkZW8gZmlsZSBoYXZpbmcgY2FwdGlvbnM6Iik7CisgICAgICAgICAgICAgICAg
ICAgIHZpZGVvLnNyYyA9ICJjb250ZW50L2NvdW50aW5nLWNhcHRpb25lZC5tb3YiOworICAgICAg
ICAgICAgICAgICAgICBydW4oInZpZGVvLmxvYWQoKSIpOworICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNh
cHRpb25pbmciKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2Rv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0
aW9uaW5nIikuaWQnLCAidGVzdCIpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJvZHkgb25s
b2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ0ZXN0IiBjb250cm9scz48L3ZpZGVv
PgorICAgICAgICA8cD5UZXN0ICctd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZycg
cHNldWRvIGNsYXNzPHA+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
bWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlv
bi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8t
Y2xhc3MtbWVkaWEtaGFzLWR1cmF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxOCBAQAorVGVzdCAnLXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24nIHBzZXVkbyBjbGFz
cworCitUZXN0IHdoZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoKK0VYUEVDVEVEIChkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5ndGgg
PT0gJzAnKSBPSworCitUZXN0IHdpdGggYXVkaW8gZmlsZToKK1JVTih2aWRlby5sb2FkKCkpCitF
VkVOVChsb2FkZWRtZXRhZGF0YSkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5ndGggPT0gJzEnKSBPSworRVhQRUNU
RUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVkaWEtaGFzLWR1cmF0
aW9uIikuaWQgPT0gJ3Rlc3QnKSBPSworCitUZXN0IHdpdGggdmlkZW8gZmlsZToKK1JVTih2aWRl
by5sb2FkKCkpCitFVkVOVChsb2FkZWRtZXRhZGF0YSkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5ndGggPT0gJzEn
KSBPSworRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVk
aWEtaGFzLWR1cmF0aW9uIikuaWQgPT0gJ3Rlc3QnKSBPSworRU5EIE9GIFRFU1QKKwpJbmRleDog
TGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtZHVy
YXRpb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3BzZXVkby1jbGFz
cy1tZWRpYS1oYXMtZHVyYXRpb24uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
bWVkaWEtZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5q
cz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBjb3VudCA9IDA7
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkgeworICAgICAgICAgICAgICAgIGZpbmRN
ZWRpYUVsZW1lbnQoKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB3aGVu
IG5vIHNvdXJjZXMgaGF2ZSBsb2FkZWQ6Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24i
KS5sZW5ndGgnLCAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qg
d2l0aCBhdWRpbyBmaWxlOiIpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRp
YUZpbGUoImF1ZGlvIiwgImNvbnRlbnQvdGVzdCIpOworICAgICAgICAgICAgICAgIHJ1bigidmlk
ZW8ubG9hZCgpIik7CisKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImxvYWRlZG1ldGFk
YXRhIiwgY2FucGxheXRocm91Z2gpOworICAgICAgICAgICAgfSAgICAKKyAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkgeworICAgICAgICAgICAg
ICAgIGlmICgrK2NvdW50ID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24i
KS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzotd2Via2l0LW1lZGlhLWhhcy1kdXJhdGlvbiIpLmlkJywg
InRlc3QiKTsKKworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5UZXN0IHdp
dGggdmlkZW8gZmlsZToiKTsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1l
ZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0Iik7CisgICAgICAgICAgICAgICAgICAgIHJ1
bigidmlkZW8ubG9hZCgpIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy1kdXJhdGlvbiIpLmxlbmd0aCcsIDEpOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigidmlk
ZW86LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5pZCcsICJ0ZXN0Iik7CisgICAgICAgICAg
ICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisKKyAgICA8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgorICAgICAgICA8dmlkZW8gaWQ9
InRlc3QiIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3QgJy13ZWJraXQtbWVkaWEt
aGFzLWR1cmF0aW9uJyBwc2V1ZG8gY2xhc3M8cD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLXZpZGVvLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEt
aGFzLXZpZGVvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlh
L3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtdmlkZW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE3IEBACitUZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRlbycgcHNldWRvIGNs
YXNzCisKK1Rlc3Qgd2hlbiBubyBzb3VyY2VzIGhhdmUgbG9hZGVkOgorRVhQRUNURUQgKGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy12aWRlbyIpLmxlbmd0aCA9
PSAnMCcpIE9LCisKK1Rlc3Qgd2l0aCBhdWRpbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VW
RU5UKGNhbnBsYXl0aHJvdWdoKQorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
Ijotd2Via2l0LW1lZGlhLWhhcy12aWRlbyIpLmxlbmd0aCA9PSAnMCcpIE9LCisKK1Rlc3Qgd2l0
aCB2aWRlbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQor
RVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy12
aWRlbyIpLmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigidmlkZW86LXdlYmtpdC1tZWRpYS1oYXMtdmlkZW8iKS5pZCA9PSAndGVzdCcpIE9LCitFTkQg
T0YgVEVTVAorCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFz
LXZpZGVvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNz
LW1lZGlhLWhhcy12aWRlby5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvbWVkaWEv
cHNldWRvLWNsYXNzLW1lZGlhLWhhcy12aWRlby5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2Ny
aXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz12aWRl
by10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFyIGNv
dW50ID0gMDsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgICAgICAgICAg
ICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJU
ZXN0IHdoZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoiKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy12
aWRlbyIpLmxlbmd0aCcsIDApOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCBhdWRpbyBmaWxlOiIpOworICAgICAgICAgICAgICAg
IHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoImF1ZGlvIiwgImNvbnRlbnQvdGVzdCIpOworICAg
ICAgICAgICAgICAgIHJ1bigidmlkZW8ubG9hZCgpIik7CisKKyAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOworICAgICAgICAgICAg
fSAgICAKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJv
dWdoKCkgeworICAgICAgICAgICAgICAgIGlmICgrK2NvdW50ID09IDEpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtp
dC1tZWRpYS1oYXMtdmlkZW8iKS5sZW5ndGgnLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCB2aWRlbyBmaWxl
OiIpOworICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRl
byIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby5sb2Fk
KCkiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAg
CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KCI6LXdlYmtpdC1tZWRpYS1oYXMtdmlkZW8iKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVk
aWEtaGFzLXZpZGVvIikuaWQnLCAidGVzdCIpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJv
ZHkgb25sb2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ0ZXN0IiBjb250cm9scz48
L3ZpZGVvPgorICAgICAgICA8cD5UZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRlbycgcHNldWRv
IGNsYXNzPHA+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gOTgz
MjQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTc2Nyw2ICs3NjcsNyBAQCBCVUdDUjEwMDc5OCBTTk9XTEVP
UEFSRCA6IGZ1bGxzY3JlZW4vZnVsCiAvLyBXZSBoYXZlbid0IGltcGxlbWVudGVkIHRoZSBXZWJL
aXQgY2FwdGlvbmluZyBleHRlbnNpb24uCiAvLyBVTklNUExFTUVOVEVECiBCVUdDUjI4MzAxIFNL
SVAgOiBtZWRpYS9tZWRpYS1jYXB0aW9ucy5odG1sID0gVElNRU9VVAorQlVHV0s3MTIxNiBTS0lQ
IDogbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZy5odG1sID0g
VElNRU9VVAogCiAvLyBXZSBoYXZlbid0IGltcGxlbWVudGVkIHJldmVyc2UgYXVkaW8vdmlkZW8g
cGxheWJhY2suCiAvLyBVTklNUExFTUVOVEVEIEJVR0NSMzMwOTkgSW1wbGVtZW50IHJldmVyc2Ug
YXVkaW8vdmlkZW8gcGxheWJhY2sKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lw
cGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCShyZXZp
c2lvbiA5ODMyNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjMzLDYgKzE2MzMsNyBAQCBtZWRpYS92aWRlby1wb3N0ZXItYmxvY2tlZC1i
eS13aWxsc2VuZHJlCiAKICMgQlVHOiBDYXB0aW9ucyBzdXBwb3J0IG5lZWRlZCBpbiB0aGUgbWVk
aWEgZW5naW5lICh2aWEgR1RLKykKIG1lZGlhL21lZGlhLWNhcHRpb25zLmh0bWwKK21lZGlhL3Bz
ZXVkby1jbGFzcy1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmcuaHRtbAogCiAjIEJVRzogaWZy
YW1lIHdpdGggc3JjPSJjb250ZW50L2NvdW50aW5nLm1wNCIgaXMgbm90IG9wZW5lZCBpbiBhIE1l
ZGlhRG9jdW1lbnQKIG1lZGlhL3ZpZGVvLWRvY3VtZW50LXR5cGVzLmh0bWwKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCShyZXZpc2lvbiA5ODMyNCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0zOTgsNiArMzk4LDcgQEAgZmFzdC9h
bmltYXRpb24KIAogIyBSZXF1aXJlcyBtZWRpYSBlbmdpbmUgY2xvc2VkIGNhcHRpb24gc3VwcG9y
dAogbWVkaWEvbWVkaWEtY2FwdGlvbnMuaHRtbAorbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhh
cy1jbG9zZWQtY2FwdGlvbmluZy5odG1sCiAKICMgRGF0YVRyYW5zZmVySXRlbXMgaXMgbm90IHll
dCBpbXBsZW1lbnRlZC4KIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW1zLmh0
bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24gOTgzMjQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC02MjcsNiArNjI3
LDcgQEAgbWVkaWEvY29udHJvbHMtc3RyaWN0Lmh0bWwKIG1lZGlhL2NvbnRyb2xzLXN0eWxpbmcu
aHRtbAogbWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sCiBtZWRpYS9tZWRpYS1jYXB0aW9ucy5o
dG1sCittZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwK
IG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0bWwKIG1lZGlhL21lZGlhLWZ1bGxzY3Jl
ZW4tbm90LWluLWRvY3VtZW50Lmh0bWwKIG1lZGlhL21lZGlhLWxvYWQtZXZlbnQuaHRtbAo=
</data>
<flag name="commit-queue"
          id="111270"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113046</attachid>
            <date>2011-10-31 07:04:59 -0700</date>
            <delta_ts>2012-03-20 07:28:03 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>22334</size>
            <attacher name="Arun Patole">arun.patole</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4ODUwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMTAtMzEgIEFydW4gUGF0
b2xlICA8Qk1GODM0QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBBZGQgTWVkaWEgY2hhcmFjdGVy
aXN0aWNzIHBzZXVkbyBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzEyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBmb2xsb3dpbmcgbWVkaWEgcHNldWRvIGNsYXNzZXM6CisgICAg
ICAgICAgLXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmcKKyAgICAgICAgICAtd2Vi
a2l0LW1lZGlhLWhhcy1hdWRpbworICAgICAgICAgIC13ZWJraXQtbWVkaWEtaGFzLXZpZGVvCisg
ICAgICAgICAgLXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24KKworICAgICAgICBUZXN0czogbWVk
aWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sCisgICAgICAgICAgICAgICBtZWRp
YS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIG1lZGlhL3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtZHVyYXRpb24uaHRtbAorICAgICAg
ICAgICAgICAgbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy12aWRlby5odG1sCisKKyAgICAg
ICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6
OnBzZXVkb0lkKToKKyAgICAgICAgKFdlYkNvcmU6Om5hbWVUb1BzZXVkb1R5cGVNYXApOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKToKKyAgICAgICAg
KiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6Cisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6Om1hdGNoZXNNZWRpYVBzZXVkb1R5cGUpOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5oOgorCiAyMDExLTEwLTMxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEFkZCBSZXNvdXJjZVByZXZp
ZXdWaWV3LmpzIHRvIHRoZSBsaXN0IG9mIGluc3BlY3RvciBmcm9udC1lbmQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsNiArMjEwLDEyIEBA
IFBzZXVkb0lkIENTU1NlbGVjdG9yOjpwc2V1ZG9JZChQc2V1ZG9UeXAKICAgICBjYXNlIFBzZXVk
b1JpZ2h0UGFnZToKICAgICBjYXNlIFBzZXVkb0luUmFuZ2U6CiAgICAgY2FzZSBQc2V1ZG9PdXRP
ZlJhbmdlOgorI2lmIEVOQUJMRShWSURFTykKKyAgICBjYXNlIFBzZXVkb01lZGlhSGFzQ2xvc2Vk
Q2FwdGlvbmluZzoKKyAgICBjYXNlIFBzZXVkb01lZGlhSGFzQXVkaW86CisgICAgY2FzZSBQc2V1
ZG9NZWRpYUhhc1ZpZGVvOgorICAgIGNhc2UgUHNldWRvTWVkaWFIYXNEdXJhdGlvbjoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gTk9QU0VVRE87CiAgICAgY2FzZSBQc2V1ZG9Ob3RQYXJzZWQ6CiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjk3LDYgKzMwMywxMyBAQCBzdGF0aWMg
SGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2VsCiAjZW5kaWYKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgaW5SYW5nZSwgKCJpbi1yYW5nZSIpKTsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgb3V0T2ZSYW5nZSwgKCJvdXQtb2YtcmFuZ2Ui
KSk7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIC8vIG1lZGlhIHBzZXVkbyBjbGFzc2VzCisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhSGFzQ2xvc2VkQ2FwdGlvbmlu
ZywgKCItd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZyIpKTsKKyAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFIYXNBdWRpbywgKCItd2Via2l0LW1lZGlh
LWhhcy1hdWRpbyIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVk
aWFIYXNWaWRlbywgKCItd2Via2l0LW1lZGlhLWhhcy12aWRlbyIpKTsKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFIYXNEdXJhdGlvbiwgKCItd2Via2l0LW1lZGlh
LWhhcy1kdXJhdGlvbiIpKTsKKyNlbmRpZgogCiAgICAgc3RhdGljIEhhc2hNYXA8QXRvbWljU3Ry
aW5nSW1wbCosIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlPiogbmFtZVRvUHNldWRvVHlwZSA9IDA7
CiAgICAgaWYgKCFuYW1lVG9Qc2V1ZG9UeXBlKSB7CkBAIC0zNzUsNiArMzg4LDEyIEBAIHN0YXRp
YyBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NTZWwKICNlbmRpZgogICAgICAgICBuYW1l
VG9Qc2V1ZG9UeXBlLT5zZXQoaW5SYW5nZS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9JblJh
bmdlKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG91dE9mUmFuZ2UuaW1wbCgpLCBD
U1NTZWxlY3Rvcjo6UHNldWRvT3V0T2ZSYW5nZSk7CisjaWYgRU5BQkxFKFZJREVPKQorICAgICAg
ICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFIYXNDbG9zZWRDYXB0aW9uaW5nLmltcGwoKSwg
Q1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhSGFzQ2xvc2VkQ2FwdGlvbmluZyk7CisgICAgICAgIG5h
bWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUhhc0F1ZGlvLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBz
ZXVkb01lZGlhSGFzQXVkaW8pOworICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFI
YXNWaWRlby5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUhhc1ZpZGVvKTsKKyAgICAg
ICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhSGFzRHVyYXRpb24uaW1wbCgpLCBDU1NTZWxl
Y3Rvcjo6UHNldWRvTWVkaWFIYXNEdXJhdGlvbik7CisjZW5kaWYKICAgICB9CiAgICAgcmV0dXJu
IG5hbWVUb1BzZXVkb1R5cGU7CiB9CkBAIC00ODAsNiArNDk5LDEyIEBAIHZvaWQgQ1NTU2VsZWN0
b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY28KICNlbmRpZgogICAgIGNhc2UgUHNldWRvSW5SYW5n
ZToKICAgICBjYXNlIFBzZXVkb091dE9mUmFuZ2U6CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGNh
c2UgUHNldWRvTWVkaWFIYXNDbG9zZWRDYXB0aW9uaW5nOgorICAgIGNhc2UgUHNldWRvTWVkaWFI
YXNBdWRpbzoKKyAgICBjYXNlIFBzZXVkb01lZGlhSGFzVmlkZW86CisgICAgY2FzZSBQc2V1ZG9N
ZWRpYUhhc0R1cmF0aW9uOgorI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUHNldWRv
Rmlyc3RQYWdlOgogICAgIGNhc2UgUHNldWRvTGVmdFBhZ2U6CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaAkocmV2aXNpb24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTgzLDYgKzE4MywxMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKICAgICAgICAgICAgIFBzZXVkb0luUmFuZ2UsCiAgICAgICAgICAgICBQ
c2V1ZG9PdXRPZlJhbmdlLAorI2lmIEVOQUJMRShWSURFTykKKyAgICAgICAgICAgIFBzZXVkb01l
ZGlhSGFzQ2xvc2VkQ2FwdGlvbmluZywKKyAgICAgICAgICAgIFBzZXVkb01lZGlhSGFzQXVkaW8s
CisgICAgICAgICAgICBQc2V1ZG9NZWRpYUhhc1ZpZGVvLAorICAgICAgICAgICAgUHNldWRvTWVk
aWFIYXNEdXJhdGlvbiwKKyNlbmRpZgogICAgICAgICB9OwogCiAgICAgICAgIGVudW0gTWFyZ2lu
Qm94VHlwZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2
aXNpb24gOTgzMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsMTAgQEAKICNpbmNsdWRlICJYTGlua05hbWVzLmgi
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShWSURFTykKKyNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50
LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwpAQCAtMTE4Myw2ICsxMTg3LDE3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVj
a09uZVNlbGVjdG9yKEMKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAg
ICBlLT5kb2N1bWVudCgpLT5zZXRDb250YWluc1ZhbGlkaXR5U3R5bGVSdWxlcygpOwogICAgICAg
ICAgICAgcmV0dXJuIGUtPmlzT3V0T2ZSYW5nZSgpOworI2lmIEVOQUJMRShWSURFTykKKyAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNDbG9zZWRDYXB0aW9uaW5nOgorICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUhhc0F1ZGlvOgorICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUhhc1ZpZGVvOgorICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9NZWRpYUhhc0R1cmF0aW9uOgorICAgICAgICAgICAgaWYgKGUgJiYgZS0+aXNN
ZWRpYUVsZW1lbnQoKSkgeworICAgICAgICAgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlh
RWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihlKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbWVkaWFFbGVtZW50LT5tYXRjaGVzTWVkaWFQc2V1ZG9UeXBlKHNlbC0+cHNl
dWRvVHlwZSgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Vua25vd246CiAgICAgICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb05vdFBhcnNlZDoKICAgICAgICAgZGVmYXVsdDoKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gOTgzMjQpCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMDgwLDYgKzMwODAsMjcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRJdGVtVmFsdWVU
ZXh0KAogfQogI2VuZGlmCiAKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6bWF0Y2hlc01lZGlhUHNl
dWRvVHlwZShDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSB0eXBlKSBjb25zdAoreworICAgIHN3aXRj
aCAodHlwZSkgeworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhSGFzQ2xvc2VkQ2Fw
dGlvbmluZzoKKyAgICAgICAgcmV0dXJuIGhhc0Nsb3NlZENhcHRpb25zKCk7CisgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNBdWRpbzoKKyAgICAgICAgcmV0dXJuIGhhc0F1ZGlv
KCk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNWaWRlbzoKKyAgICAgICAg
cmV0dXJuIGhhc1ZpZGVvKCk7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFIYXNE
dXJhdGlvbjoKKyAgICAgICAgeworICAgICAgICAgICAgZmxvYXQgZHVyID0gZHVyYXRpb24oKTsK
KyAgICAgICAgICAgIHJldHVybiAoIWlzbmFuKGR1cikgJiYgZHVyKTsKKyAgICAgICAgfQorICAg
IGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCShyZXZpc2lvbiA5ODMyNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2lu
Y2x1ZGUgIkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFDYW5TdGFydExpc3RlbmVyLmgi
CiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKIApAQCAtMjI2LDYgKzIyNyw4IEBAIHB1YmxpYzoK
ICAgICBBdWRpb1NvdXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKCk7CiAjZW5kaWYK
IAorICAgIGJvb2wgbWF0Y2hlc01lZGlhUHNldWRvVHlwZShDU1NTZWxlY3Rvcjo6UHNldWRvVHlw
ZSkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCopOwogICAgIHZpcnR1YWwgfkhUTUxNZWRpYUVsZW1lbnQoKTsK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDk4ODUwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMTAtMzEgIEFydW4gUGF0b2xlICA8Qk1G
ODM0QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBBZGQgTWVkaWEgY2hhcmFjdGVyaXN0aWNzIHBz
ZXVkbyBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzEyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBsYXlvdXQgdGVzdHMgZm9yIGZvbGxvd2luZyBtZWRpYSBwc2V1ZG8gY2xhc3Nl
czoKKyAgICAgICAgICAtd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZworICAgICAg
ICAgIC13ZWJraXQtbWVkaWEtaGFzLWF1ZGlvCisgICAgICAgICAgLXdlYmtpdC1tZWRpYS1oYXMt
dmlkZW8KKyAgICAgICAgICAtd2Via2l0LW1lZGlhLWhhcy1kdXJhdGlvbgorCisgICAgICAgIENs
b3NlZCBjYXB0aW9uaW5nIHN1cHBvcnQgaXMgb25seSBhdmFpbGFibGUgaW4gc2FmYXJpLAorICAg
ICAgICBzbyBza2lwcGVkIGxheW91dCB0ZXN0IG9mIC13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1j
YXB0aW9uaW5nCisgICAgICAgIGZvciBhbGwgb3RoZXIgcG9ydHMuCisKKyAgICAgICAgKiBtZWRp
YS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWF1ZGlvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBtZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhh
cy1jbG9zZWQtY2FwdGlvbmluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9wc2V1ZG8t
Y2xhc3MtbWVkaWEtaGFzLWR1cmF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
bWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBtZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLXZpZGVvLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy12aWRlby5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMS0xMC0zMSAg
VnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCBza2lwZWQgZmFpbGluZyB0ZXN0IGluc3BlY3Rvci9kZWJ1Z2dlci9zZWxlY3RlZC1jYWxs
LWZyYW1lLWFmdGVyLWZvcm1hdHRpbmctc291cmNlLmh0bWwgb24gUVQuCkluZGV4OiBMYXlvdXRU
ZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWF1ZGlvLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWF1ZGlv
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3BzZXVkby1j
bGFzcy1tZWRpYS1oYXMtYXVkaW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE4IEBACitUZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRlbycgcHNldWRvIGNsYXNzCisKK1Rl
c3Qgd2hlbiBubyBzb3VyY2VzIGhhdmUgbG9hZGVkOgorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCA9PSAnMCcpIE9L
CisKK1Rlc3Qgd2l0aCBhdWRpbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VWRU5UKGNhbnBs
YXl0aHJvdWdoKQorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0
LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigidmlkZW86LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5pZCA9PSAndGVz
dCcpIE9LCisKK1Rlc3Qgd2l0aCB2aWRlbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VWRU5U
KGNhbnBsYXl0aHJvdWdoKQorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjot
d2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5pZCA9
PSAndGVzdCcpIE9LCitFTkQgT0YgVEVTVAorCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1
ZG8tY2xhc3MtbWVkaWEtaGFzLWF1ZGlvLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
bWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1hdWRpby5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnQo
KSB7CisgICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJUZXN0IHdoZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoiKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjot
d2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmxlbmd0aCcsIDApOworICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCBhdWRpbyBmaWxlOiIp
OworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoImF1ZGlvIiwgImNv
bnRlbnQvdGVzdCIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ubG9hZCgpIik7CisKKyAg
ICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91
Z2gpOworICAgICAgICAgICAgfSAgICAKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkgeworICAgICAgICAgICAgICAgIGlmICgrK2NvdW50ID09
IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5sZW5ndGgnLCAxKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRl
bzotd2Via2l0LW1lZGlhLWhhcy1hdWRpbyIpLmlkJywgInRlc3QiKTsKKyAgICAgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCB2
aWRlbyBmaWxlOiIpOworICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFG
aWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJ2
aWRlby5sb2FkKCkiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKyAgCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtYXVkaW8iKS5sZW5ndGgnLCAxKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13
ZWJraXQtbWVkaWEtaGFzLWF1ZGlvIikuaWQnLCAidGVzdCIpOworICAgICAgICAgICAgICAgIGVu
ZFRlc3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
CisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ0ZXN0IiBj
b250cm9scz48L3ZpZGVvPgorICAgICAgICA8cD5UZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRl
bycgcHNldWRvIGNsYXNzPHA+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlh
LWhhcy1jbG9zZWQtY2FwdGlvbmluZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCAnLXdlYmtpdC1t
ZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmcnIHBzZXVkbyBjbGFzcworCitUZXN0IHdoZW4gbm8g
c291cmNlcyBoYXZlIGxvYWRlZDoKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KCI6LXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmciKS5sZW5ndGggPT0gJzAnKSBP
SworCit0ZXN0IHdpdGggYXVkaW8gZmlsZToKK1JVTih2aWRlby5sb2FkKCkpCitFVkVOVChjYW5w
bGF5dGhyb3VnaCkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtp
dC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmciKS5sZW5ndGggPT0gJzAnKSBPSworCitUZXN0
IHdpdGggdmlkZW8gZmlsZSBoYXZpbmcgY2FwdGlvbnM6CitSVU4odmlkZW8ubG9hZCgpKQorRVZF
TlQoY2FucGxheXRocm91Z2gpCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
Oi13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nIikubGVuZ3RoID09ICcxJykgT0sK
K0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbzotd2Via2l0LW1lZGlhLWhh
cy1jbG9zZWQtY2FwdGlvbmluZyIpLmlkID09ICd0ZXN0JykgT0sKK0VORCBPRiBURVNUCisKSW5k
ZXg6IExheW91dFRlc3RzL21lZGlhL3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtY2xvc2VkLWNhcHRp
b25pbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3Mt
bWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICB2YXIgY291bnQgPSAwOworCisgICAgICAgICAgICBmdW5jdGlvbiBz
dGFydCgpIHsKKyAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIlRlc3Qgd2hlbiBubyBzb3VyY2VzIGhhdmUgbG9hZGVkOiIp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiOi13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nIikubGVuZ3RoJywgMCk7CisK
KyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4gdGVzdCB3aXRoIGF1ZGlvIGZpbGU6
Iik7CisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgiYXVkaW8iLCAi
Y29udGVudC90ZXN0Iik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby5sb2FkKCkiKTsKKwor
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgiY2FucGxheXRocm91Z2giLCBjYW5wbGF5dGhy
b3VnaCk7CisgICAgICAgICAgICB9ICAgIAorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAg
ZnVuY3Rpb24gY2FucGxheXRocm91Z2goKSB7CisgICAgICAgICAgICAgICAgaWYgKCsrY291bnQg
PT0gMSkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZyIpLmxlbmd0
aCcsIDApOworCisgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPiBUZXN0IHdp
dGggdmlkZW8gZmlsZSBoYXZpbmcgY2FwdGlvbnM6Iik7CisgICAgICAgICAgICAgICAgICAgIHZp
ZGVvLnNyYyA9ICJjb250ZW50L2NvdW50aW5nLWNhcHRpb25lZC5tb3YiOworICAgICAgICAgICAg
ICAgICAgICBydW4oInZpZGVvLmxvYWQoKSIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25p
bmciKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5n
IikuaWQnLCAidGVzdCIpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJvZHkgb25sb2FkPSJz
dGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ0ZXN0IiBjb250cm9scz48L3ZpZGVvPgorICAg
ICAgICA8cD5UZXN0ICctd2Via2l0LW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZycgcHNldWRv
IGNsYXNzPHA+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEv
cHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3Mt
bWVkaWEtaGFzLWR1cmF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
OCBAQAorVGVzdCAnLXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24nIHBzZXVkbyBjbGFzcworCitU
ZXN0IHdoZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5ndGggPT0gJzAn
KSBPSworCitUZXN0IHdpdGggYXVkaW8gZmlsZToKK1JVTih2aWRlby5sb2FkKCkpCitFVkVOVChs
b2FkZWRtZXRhZGF0YSkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdl
YmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5ndGggPT0gJzEnKSBPSworRVhQRUNURUQgKGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVkaWEtaGFzLWR1cmF0aW9uIiku
aWQgPT0gJ3Rlc3QnKSBPSworCitUZXN0IHdpdGggdmlkZW8gZmlsZToKK1JVTih2aWRlby5sb2Fk
KCkpCitFVkVOVChsb2FkZWRtZXRhZGF0YSkKK0VYUEVDVEVEIChkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5ndGggPT0gJzEnKSBPSwor
RVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVkaWEtaGFz
LWR1cmF0aW9uIikuaWQgPT0gJ3Rlc3QnKSBPSworRU5EIE9GIFRFU1QKKwpJbmRleDogTGF5b3V0
VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1kdXJhdGlvbi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3BzZXVkby1jbGFzcy1tZWRpYS1oYXMtZHVyYXRpb24u
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3BzZXVkby1jbGFzcy1tZWRp
YS1oYXMtZHVyYXRpb24uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9bWVkaWEt
ZmlsZS5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBjb3VudCA9IDA7CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkgeworICAgICAgICAgICAgICAgIGZpbmRNZWRpYUVs
ZW1lbnQoKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiVGVzdCB3aGVuIG5vIHNv
dXJjZXMgaGF2ZSBsb2FkZWQ6Iik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5n
dGgnLCAwKTsKKworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCBh
dWRpbyBmaWxlOiIpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUo
ImF1ZGlvIiwgImNvbnRlbnQvdGVzdCIpOworICAgICAgICAgICAgICAgIHJ1bigidmlkZW8ubG9h
ZCgpIik7CisKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImxvYWRlZG1ldGFkYXRhIiwg
Y2FucGxheXRocm91Z2gpOworICAgICAgICAgICAgfSAgICAKKyAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkgeworICAgICAgICAgICAgICAgIGlm
ICgrK2NvdW50ID09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5sZW5n
dGgnLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJ2aWRlbzotd2Via2l0LW1lZGlhLWhhcy1kdXJhdGlvbiIpLmlkJywgInRlc3Qi
KTsKKworICAgICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5UZXN0IHdpdGggdmlk
ZW8gZmlsZToiKTsKKyAgICAgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmls
ZSgidmlkZW8iLCAiY29udGVudC90ZXN0Iik7CisgICAgICAgICAgICAgICAgICAgIHJ1bigidmlk
ZW8ubG9hZCgpIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy1kdXJhdGlvbiIpLmxlbmd0aCcsIDEpOworICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgnZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW86LXdl
YmtpdC1tZWRpYS1oYXMtZHVyYXRpb24iKS5pZCcsICJ0ZXN0Iik7CisgICAgICAgICAgICAgICAg
ZW5kVGVzdCgpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisKKyAgICA8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgorICAgICAgICA8dmlkZW8gaWQ9InRlc3Qi
IGNvbnRyb2xzPjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3QgJy13ZWJraXQtbWVkaWEtaGFzLWR1
cmF0aW9uJyBwc2V1ZG8gY2xhc3M8cD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLXZpZGVvLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLXZp
ZGVvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21lZGlhL3BzZXVk
by1jbGFzcy1tZWRpYS1oYXMtdmlkZW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE3IEBACitUZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRlbycgcHNldWRvIGNsYXNzCisK
K1Rlc3Qgd2hlbiBubyBzb3VyY2VzIGhhdmUgbG9hZGVkOgorRVhQRUNURUQgKGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy12aWRlbyIpLmxlbmd0aCA9PSAnMCcp
IE9LCisKK1Rlc3Qgd2l0aCBhdWRpbyBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VWRU5UKGNh
bnBsYXl0aHJvdWdoKQorRVhQRUNURUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Vi
a2l0LW1lZGlhLWhhcy12aWRlbyIpLmxlbmd0aCA9PSAnMCcpIE9LCisKK1Rlc3Qgd2l0aCB2aWRl
byBmaWxlOgorUlVOKHZpZGVvLmxvYWQoKSkKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQorRVhQRUNU
RUQgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy12aWRlbyIp
Lmxlbmd0aCA9PSAnMScpIE9LCitFWFBFQ1RFRCAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigidmlk
ZW86LXdlYmtpdC1tZWRpYS1oYXMtdmlkZW8iKS5pZCA9PSAndGVzdCcpIE9LCitFTkQgT0YgVEVT
VAorCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLXZpZGVv
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlh
LWhhcy12aWRlby5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvcHNldWRv
LWNsYXNzLW1lZGlhLWhhcy12aWRlby5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNy
Yz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0
LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFyIGNvdW50ID0g
MDsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgICAgICAgICAgICAgZmlu
ZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJUZXN0IHdo
ZW4gbm8gc291cmNlcyBoYXZlIGxvYWRlZDoiKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LW1lZGlhLWhhcy12aWRlbyIp
Lmxlbmd0aCcsIDApOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiPGJyPlRlc3Qgd2l0aCBhdWRpbyBmaWxlOiIpOworICAgICAgICAgICAgICAgIHZpZGVv
LnNyYyA9IGZpbmRNZWRpYUZpbGUoImF1ZGlvIiwgImNvbnRlbnQvdGVzdCIpOworICAgICAgICAg
ICAgICAgIHJ1bigidmlkZW8ubG9hZCgpIik7CisKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOworICAgICAgICAgICAgfSAgICAK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkg
eworICAgICAgICAgICAgICAgIGlmICgrK2NvdW50ID09IDEpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1tZWRp
YS1oYXMtdmlkZW8iKS5sZW5ndGgnLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPlRlc3Qgd2l0aCB2aWRlbyBmaWxlOiIpOwor
ICAgICAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJj
b250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby5sb2FkKCkiKTsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgCisgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdl
YmtpdC1tZWRpYS1oYXMtdmlkZW8iKS5sZW5ndGgnLCAxKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvOi13ZWJraXQtbWVkaWEtaGFz
LXZpZGVvIikuaWQnLCAidGVzdCIpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorCisgICAgPGJvZHkgb25s
b2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGlkPSJ0ZXN0IiBjb250cm9scz48L3ZpZGVv
PgorICAgICAgICA8cD5UZXN0ICctd2Via2l0LW1lZGlhLWhhcy12aWRlbycgcHNldWRvIGNsYXNz
PHA+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gOTgzMjQpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTc2Nyw2ICs3NjcsNyBAQCBCVUdDUjEwMDc5OCBTTk9XTEVPUEFSRCA6
IGZ1bGxzY3JlZW4vZnVsCiAvLyBXZSBoYXZlbid0IGltcGxlbWVudGVkIHRoZSBXZWJLaXQgY2Fw
dGlvbmluZyBleHRlbnNpb24uCiAvLyBVTklNUExFTUVOVEVECiBCVUdDUjI4MzAxIFNLSVAgOiBt
ZWRpYS9tZWRpYS1jYXB0aW9ucy5odG1sID0gVElNRU9VVAorQlVHV0s3MTIxNiBTS0lQIDogbWVk
aWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1jbG9zZWQtY2FwdGlvbmluZy5odG1sID0gVElNRU9V
VAogCiAvLyBXZSBoYXZlbid0IGltcGxlbWVudGVkIHJldmVyc2UgYXVkaW8vdmlkZW8gcGxheWJh
Y2suCiAvLyBVTklNUExFTUVOVEVEIEJVR0NSMzMwOTkgSW1wbGVtZW50IHJldmVyc2UgYXVkaW8v
dmlkZW8gcGxheWJhY2sKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCShyZXZpc2lvbiA5
ODMyNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjMzLDYgKzE2MzMsNyBAQCBtZWRpYS92aWRlby1wb3N0ZXItYmxvY2tlZC1ieS13aWxs
c2VuZHJlCiAKICMgQlVHOiBDYXB0aW9ucyBzdXBwb3J0IG5lZWRlZCBpbiB0aGUgbWVkaWEgZW5n
aW5lICh2aWEgR1RLKykKIG1lZGlhL21lZGlhLWNhcHRpb25zLmh0bWwKK21lZGlhL3BzZXVkby1j
bGFzcy1tZWRpYS1oYXMtY2xvc2VkLWNhcHRpb25pbmcuaHRtbAogCiAjIEJVRzogaWZyYW1lIHdp
dGggc3JjPSJjb250ZW50L2NvdW50aW5nLm1wNCIgaXMgbm90IG9wZW5lZCBpbiBhIE1lZGlhRG9j
dW1lbnQKIG1lZGlhL3ZpZGVvLWRvY3VtZW50LXR5cGVzLmh0bWwKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCShyZXZpc2lvbiA5ODMyNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0zOTgsNiArMzk4LDcgQEAgZmFzdC9hbmltYXRp
b24KIAogIyBSZXF1aXJlcyBtZWRpYSBlbmdpbmUgY2xvc2VkIGNhcHRpb24gc3VwcG9ydAogbWVk
aWEvbWVkaWEtY2FwdGlvbnMuaHRtbAorbWVkaWEvcHNldWRvLWNsYXNzLW1lZGlhLWhhcy1jbG9z
ZWQtY2FwdGlvbmluZy5odG1sCiAKICMgRGF0YVRyYW5zZmVySXRlbXMgaXMgbm90IHlldCBpbXBs
ZW1lbnRlZC4KIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW1zLmh0bWwKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24gOTgzMjQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC02MjcsNiArNjI3LDcgQEAg
bWVkaWEvY29udHJvbHMtc3RyaWN0Lmh0bWwKIG1lZGlhL2NvbnRyb2xzLXN0eWxpbmcuaHRtbAog
bWVkaWEvZXZlbnQtYXR0cmlidXRlcy5odG1sCiBtZWRpYS9tZWRpYS1jYXB0aW9ucy5odG1sCitt
ZWRpYS9wc2V1ZG8tY2xhc3MtbWVkaWEtaGFzLWNsb3NlZC1jYXB0aW9uaW5nLmh0bWwKIG1lZGlh
L21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0bWwKIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbm90
LWluLWRvY3VtZW50Lmh0bWwKIG1lZGlhL21lZGlhLWxvYWQtZXZlbnQuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>