<?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>50751</bug_id>
          
          <creation_ts>2010-12-09 05:18:10 -0800</creation_ts>
          <short_desc>Change the --multi-load test option to --stress-opt</short_desc>
          <delta_ts>2011-01-04 18:09:51 -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>Tools / Tests</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Søren Gjesse">sgjesse</reporter>
          <assigned_to name="Søren Gjesse">sgjesse</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>319409</commentid>
    <comment_count>0</comment_count>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2010-12-09 05:18:10 -0800</bug_when>
    <thetext>The V8 shell has the option --stress-opt which does multiple loads together with changing JavaScript flags for stressing V8 optimizations. This provides a simpler way for stressing than the --multi-load together with --js-flags holding an array of JavaScript flags. As the stressing is exposed in a V8 API the means stressing can be controlled from a single place.

Therefore when running the WebKit tests with the chromium DumpRenderTree the --stress-opt option should be used as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319425</commentid>
    <comment_count>1</comment_count>
      <attachid>76054</attachid>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2010-12-09 05:41:28 -0800</bug_when>
    <thetext>Created attachment 76054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319428</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-09 05:56:23 -0800</bug_when>
    <thetext>Attachment 76054 did not build on chromium:
Build output: http://queues.webkit.org/results/6919017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328567</commentid>
    <comment_count>3</comment_count>
      <attachid>77811</attachid>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2011-01-03 07:46:21 -0800</bug_when>
    <thetext>Created attachment 77811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328582</commentid>
    <comment_count>4</comment_count>
      <attachid>77811</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-03 08:55:24 -0800</bug_when>
    <thetext>Comment on attachment 77811
Patch

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

LGTM if you fix the typo mentioned.

&gt; Tools/DumpRenderTree/chromium/DumpRenderTree.cpp:92
&gt; +        v8::Testing::SetStressRunType(v8::Testing::kStressTypeOpt);

This should be kStressTypeDepot, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328909</commentid>
    <comment_count>5</comment_count>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2011-01-04 00:21:25 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 77811 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77811&amp;action=review
&gt; 
&gt; LGTM if you fix the typo mentioned.
&gt; 
&gt; &gt; Tools/DumpRenderTree/chromium/DumpRenderTree.cpp:92
&gt; &gt; +        v8::Testing::SetStressRunType(v8::Testing::kStressTypeOpt);
&gt; 
&gt; This should be kStressTypeDepot, right?

It sure should, good catch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328910</commentid>
    <comment_count>6</comment_count>
      <attachid>77868</attachid>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2011-01-04 00:23:33 -0800</bug_when>
    <thetext>Created attachment 77868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329211</commentid>
    <comment_count>7</comment_count>
      <attachid>77868</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-04 14:19:19 -0800</bug_when>
    <thetext>Comment on attachment 77868
Patch

Rejecting attachment 77868 from commit-queue.

sgjesse@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329215</commentid>
    <comment_count>8</comment_count>
      <attachid>77868</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-04 14:20:33 -0800</bug_when>
    <thetext>Comment on attachment 77868
Patch

let me try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329350</commentid>
    <comment_count>9</comment_count>
      <attachid>77868</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-04 18:09:44 -0800</bug_when>
    <thetext>Comment on attachment 77868
Patch

Clearing flags on attachment: 77868

Committed r75036: &lt;http://trac.webkit.org/changeset/75036&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329351</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-04 18:09:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76054</attachid>
            <date>2010-12-09 05:41:28 -0800</date>
            <delta_ts>2011-01-03 07:46:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50751-20101209144126.patch</filename>
            <type>text/plain</type>
            <size>11945</size>
            <attacher name="Søren Gjesse">sgjesse</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDczNjA3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTAtMTItMDkgIFPDuHJlbiBHamVzc2UgIDxz
Z2plc3NlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgdGhlIC0tbXVsdGktbG9hZCB0ZXN0IG9wdGlvbiB0byAtLXN0
cmVzcy1vcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUwNzUxCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6
OlRlc3RTaGVsbCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
Lmg6CisgICAgICAgIChUZXN0U2hlbGw6OnN0cmVzc09wdCk6CisgICAgICAgIChUZXN0U2hlbGw6
OnNldFN0cmVzc09wdCk6CisgICAgICAgIChUZXN0U2hlbGw6OnN0cmVzc0Rlb3B0KToKKyAgICAg
ICAgKFRlc3RTaGVsbDo6c2V0U3RyZXNzRGVvcHQpOgorICAgICAgICAoVGVzdFNoZWxsOjpqYXZh
U2NyaXB0RmxhZ3MpOgorICAgICAgICAoVGVzdFNoZWxsOjpzZXRKYXZhU2NyaXB0RmxhZ3MpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weToKKwogMjAxMC0xMi0wOCAgV2lsbGlhbSBTaWVncmlzdCA8d3NpZWdyaXN0QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAJ
KHJldmlzaW9uIDczNjA0KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAKICNp
bmNsdWRlICJUZXN0U2hlbGwuaCIKICNpbmNsdWRlICJ3ZWJraXQvc3VwcG9ydC93ZWJraXRfc3Vw
cG9ydC5oIgorI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjgtdGVzdGluZy5oPgogI2luY2x1ZGUgPHY4
L2luY2x1ZGUvdjguaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUyLDcgKzUzLDgg
QEAgc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uQ2hlY2tMYXlvdXRUZXN0Uwogc3RhdGljIGNvbnN0
IGNoYXIgb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ1tdID0gIi0tZW5hYmxlLWFj
Y2VsZXJhdGVkLWNvbXBvc2l0aW5nIjsKIHN0YXRpYyBjb25zdCBjaGFyIG9wdGlvbkVuYWJsZUFj
Y2VsZXJhdGVkMkRDYW52YXNbXSA9ICItLWVuYWJsZS1hY2NlbGVyYXRlZC0yZC1jYW52YXMiOwog
Ci1zdGF0aWMgY29uc3QgY2hhciBvcHRpb25NdWx0aXBsZUxvYWRzW10gPSAiLS1tdWx0aXBsZS1s
b2Fkcz0iOworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uU3RyZXNzT3B0W10gPSAiLS1zdHJlc3Mt
b3B0IjsKK3N0YXRpYyBjb25zdCBjaGFyIG9wdGlvblN0cmVzc0Rlb3B0W10gPSAiLS1zdHJlc3Mt
ZGVvcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uSmF2YVNjcmlwdEZsYWdzW10gPSAiLS1q
cy1mbGFncz0iOwogCiBzdGF0aWMgdm9pZCBydW5UZXN0KFRlc3RTaGVsbCYgc2hlbGwsIFRlc3RQ
YXJhbXMmIHBhcmFtcywgY29uc3Qgc3RyaW5nJiB0ZXN0TmFtZSwgYm9vbCB0ZXN0U2hlbGxNb2Rl
KQpAQCAtODIsMTMgKzg0LDIyIEBAIHN0YXRpYyB2b2lkIHJ1blRlc3QoVGVzdFNoZWxsJiBzaGVs
bCwgVGUKICAgICB9CiAgICAgcGFyYW1zLnRlc3RVcmwgPSB3ZWJraXRfc3VwcG9ydDo6Q3JlYXRl
VVJMRm9yUGF0aE9yVVJMKHBhdGhPclVSTCk7CiAgICAgd2Via2l0X3N1cHBvcnQ6OlNldEN1cnJl
bnREaXJlY3RvcnlGb3JGaWxlVVJMKHBhcmFtcy50ZXN0VXJsKTsKLSAgICBmb3IgKGludCBpID0g
MDsgaSA8IHNoZWxsLmxvYWRDb3VudCgpOyBpKyspIHsKLSAgICAgICAgc3RyaW5nIGphdmFTY3Jp
cHRGbGFncyA9IHNoZWxsLmphdmFTY3JpcHRGbGFnc0ZvckxvYWQoaSk7Ci0gICAgICAgIHY4OjpW
ODo6U2V0RmxhZ3NGcm9tU3RyaW5nKGphdmFTY3JpcHRGbGFncy5kYXRhKCksIHN0YXRpY19jYXN0
PGludD4oamF2YVNjcmlwdEZsYWdzLnNpemUoKSkpOwotICAgICAgICBib29sIGlzTGFzdExvYWQg
PSAoaSA9PSAoc2hlbGwubG9hZENvdW50KCkgLSAxKSk7Ci0gICAgICAgIHNoZWxsLnNldER1bXBX
aGVuRmluaXNoZWQoaXNMYXN0TG9hZCk7Ci0gICAgICAgIHNoZWxsLnJlc2V0VGVzdENvbnRyb2xs
ZXIoKTsKLSAgICAgICAgc2hlbGwucnVuRmlsZVRlc3QocGFyYW1zKTsKKyAgICB2ODo6Vjg6OlNl
dEZsYWdzRnJvbVN0cmluZyhzaGVsbC5qYXZhU2NyaXB0RmxhZ3MoKS5jX3N0cigpLCBzaGVsbC5q
YXZhU2NyaXB0RmxhZ3MoKS5sZW5ndGgoKSk7CisgICAgaWYgKHNoZWxsLnN0cmVzc09wdCgpIHx8
IHNoZWxsLnN0cmVzc0Rlb3B0KCkpIHsKKyAgICAgIGlmIChzaGVsbC5zdHJlc3NPcHQoKSkKKyAg
ICAgICAgdjg6OlRlc3Rpbmc6OlNldFN0cmVzc1J1blR5cGUodjg6OlRlc3Rpbmc6OmtTdHJlc3NU
eXBlT3B0KTsKKyAgICAgIGVsc2UKKyAgICAgICAgdjg6OlRlc3Rpbmc6OlNldFN0cmVzc1J1blR5
cGUodjg6OlRlc3Rpbmc6OmtTdHJlc3NUeXBlT3B0KTsKKyAgICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgdjg6OlRlc3Rpbmc6OkdldFN0cmVzc1J1bnMoKTsgaSsrKSB7CisgICAgICAgICAgdjg6OlRl
c3Rpbmc6OlByZXBhcmVTdHJlc3NSdW4oaSk7CisgICAgICAgICAgYm9vbCBpc0xhc3RMb2FkID0g
KGkgPT0gKHY4OjpUZXN0aW5nOjpHZXRTdHJlc3NSdW5zKCkgLSAxKSk7CisgICAgICAgICAgc2hl
bGwuc2V0RHVtcFdoZW5GaW5pc2hlZChpc0xhc3RMb2FkKTsKKyAgICAgICAgICBzaGVsbC5yZXNl
dFRlc3RDb250cm9sbGVyKCk7CisgICAgICAgICAgc2hlbGwucnVuRmlsZVRlc3QocGFyYW1zKTsK
KyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgc2hlbGwucmVzZXRUZXN0Q29udHJvbGxlcigp
OworICAgICAgc2hlbGwucnVuRmlsZVRlc3QocGFyYW1zKTsKICAgICB9CiAgICAgc2hlbGwuc2V0
TGF5b3V0VGVzdFRpbWVvdXQob2xkVGltZW91dE1zZWMpOwogfQpAQCAtMTA2LDcgKzExNyw4IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgYm9vbCBzdGFydHVwRGlhbG9n
ID0gZmFsc2U7CiAgICAgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9IGZhbHNl
OwogICAgIGJvb2wgYWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQgPSBmYWxzZTsKLSAgICBpbnQg
bG9hZENvdW50ID0gMTsKKyAgICBib29sIHN0cmVzc09wdCA9IGZhbHNlOworICAgIGJvb2wgc3Ry
ZXNzRGVvcHQgPSBmYWxzZTsKICAgICBzdHJpbmcgamF2YVNjcmlwdEZsYWdzOwogICAgIGZvciAo
aW50IGkgPSAxOyBpIDwgYXJnYzsgKytpKSB7CiAgICAgICAgIHN0cmluZyBhcmd1bWVudChhcmd2
W2ldKTsKQEAgLTEzMiwxMiArMTQ0LDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2
W10pCiAgICAgICAgICAgICBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9IHRydWU7CiAg
ICAgICAgIGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkMkRDYW52
YXMpCiAgICAgICAgICAgICBhY2NlbGVyYXRlZDJEQ2FudmFzRW5hYmxlZCA9IHRydWU7Ci0gICAg
ICAgIGVsc2UgaWYgKCFhcmd1bWVudC5maW5kKG9wdGlvbk11bHRpcGxlTG9hZHMpKSB7Ci0gICAg
ICAgICAgICBzdHJpbmcgbXVsdGlwbGVMb2Fkc1N0ciA9IGFyZ3VtZW50LnN1YnN0cihzdHJsZW4o
b3B0aW9uTXVsdGlwbGVMb2FkcykpOwotICAgICAgICAgICAgbG9hZENvdW50ID0gYXRvaShtdWx0
aXBsZUxvYWRzU3RyLmNfc3RyKCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFhcmd1bWVudC5maW5k
KG9wdGlvbkphdmFTY3JpcHRGbGFncykpIHsKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0g
b3B0aW9uU3RyZXNzT3B0KQorICAgICAgICAgICAgc3RyZXNzT3B0ID0gdHJ1ZTsKKyAgICAgICAg
ZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uU3RyZXNzRGVvcHQpCisgICAgICAgICAgICBzdHJl
c3NEZW9wdCA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKCFhcmd1bWVudC5maW5kKG9wdGlvbkph
dmFTY3JpcHRGbGFncykpCiAgICAgICAgICAgICBqYXZhU2NyaXB0RmxhZ3MgPSBhcmd1bWVudC5z
dWJzdHIoc3RybGVuKG9wdGlvbkphdmFTY3JpcHRGbGFncykpOwotICAgICAgICB9IGVsc2UgaWYg
KGFyZ3VtZW50LnNpemUoKSAmJiBhcmd1bWVudFswXSA9PSAnLScpCisgICAgICAgIGVsc2UgaWYg
KGFyZ3VtZW50LnNpemUoKSAmJiBhcmd1bWVudFswXSA9PSAnLScpCiAgICAgICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIlVua25vd24gb3B0aW9uOiAlc1xuIiwgYXJndltpXSk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHRlc3RzLmFwcGVuZChhcmd1bWVudCk7CkBAIC0xNDYsMzEgKzE1OSwx
MSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIi0tcGl4ZWwtdGVzdHMgd2l0aCAtLXRlc3Qtc2hlbGwgcmVxdWlyZXMgYSBmaWxlIG5h
bWUuXG4iKTsKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgICB9Ci0gICAgaWYgKGxv
YWRDb3VudCA8IDEpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICItLW11bHRpcGxlLWxvYWRz
IHJlcXVpcmVzIGEgcG9zaXRpdmUgbnVtZXJpYyBhcmd1bWVudC5cbiIpOworICAgIGlmIChzdHJl
c3NPcHQgJiYgc3RyZXNzRGVvcHQpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICItLXN0cmVz
cy1vcHQgYW5kIC0tc3RyZXNzLWRlb3B0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUuXG4iKTsKICAg
ICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgICB9CiAKLSAgICAvLyBUaGUgdGVzdCBydW5u
ZXIgbWlnaHQgc2VuZCBhIHF1b3RlZCBzdHJpbmcgd2hpY2ggbmVlZHMgdG8gYmUgdW5xdW90ZWQg
YmVmb3JlIGZ1cnRoZXIgcHJvY2Vzc2luZy4KLSAgICBpZiAoamF2YVNjcmlwdEZsYWdzLmxlbmd0
aCgpID4gMSAmJiBqYXZhU2NyaXB0RmxhZ3NbMF0gPT0gJyInICYmIGphdmFTY3JpcHRGbGFnc1tq
YXZhU2NyaXB0RmxhZ3MubGVuZ3RoKCkgLSAxXSA9PSAnIicpCi0gICAgICAgIGphdmFTY3JpcHRG
bGFncyA9IGphdmFTY3JpcHRGbGFncy5zdWJzdHIoMSwgamF2YVNjcmlwdEZsYWdzLmxlbmd0aCgp
IC0gMik7Ci0gICAgLy8gU3BsaXQgdGhlIEphdmFTY3JpcHQgZmxhZ3MgaW50byBhIGxpc3QuCi0g
ICAgVmVjdG9yPHN0cmluZz4gZmxhZ3NMaXN0OwotICAgIHNpemVfdCBzdGFydCA9IDA7Ci0gICAg
d2hpbGUgKHRydWUpIHsKLSAgICAgICAgc2l6ZV90IGNvbW1hUG9zID0gamF2YVNjcmlwdEZsYWdz
LmZpbmRfZmlyc3Rfb2YoJywnLCBzdGFydCk7Ci0gICAgICAgIHN0cmluZyBmbGFnczsKLSAgICAg
ICAgaWYgKGNvbW1hUG9zID09IHN0cmluZzo6bnBvcykKLSAgICAgICAgICAgIGZsYWdzID0gamF2
YVNjcmlwdEZsYWdzLnN1YnN0cihzdGFydCwgamF2YVNjcmlwdEZsYWdzLmxlbmd0aCgpIC0gc3Rh
cnQpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGZsYWdzID0gamF2YVNjcmlwdEZsYWdz
LnN1YnN0cihzdGFydCwgY29tbWFQb3MgLSBzdGFydCk7Ci0gICAgICAgICAgICBzdGFydCA9IGNv
bW1hUG9zICsgMTsKLSAgICAgICAgfQotICAgICAgICBmbGFnc0xpc3QuYXBwZW5kKGZsYWdzKTsK
LSAgICAgICAgaWYgKGNvbW1hUG9zID09IHN0cmluZzo6bnBvcykKLSAgICAgICAgICAgIGJyZWFr
OwotICAgIH0KLQogICAgIGlmIChzdGFydHVwRGlhbG9nKQogICAgICAgICBvcGVuU3RhcnR1cERp
YWxvZygpOwogCkBAIC0xNzksOCArMTcyLDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFy
Z3ZbXSkKICAgICAgICAgc2hlbGwuc2V0QWxsb3dFeHRlcm5hbFBhZ2VzKGFsbG93RXh0ZXJuYWxQ
YWdlcyk7CiAgICAgICAgIHNoZWxsLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKTsKICAgICAgICAgc2hlbGwuc2V0QWNjZWxlcmF0
ZWQyZENhbnZhc0VuYWJsZWQoYWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQpOwotICAgICAgICBz
aGVsbC5zZXRMb2FkQ291bnQobG9hZENvdW50KTsKLSAgICAgICAgc2hlbGwuc2V0SmF2YVNjcmlw
dEZsYWdzKGZsYWdzTGlzdCk7CisgICAgICAgIHNoZWxsLnNldEphdmFTY3JpcHRGbGFncyhqYXZh
U2NyaXB0RmxhZ3MpOworICAgICAgICBzaGVsbC5zZXRTdHJlc3NPcHQoc3RyZXNzT3B0KTsKKyAg
ICAgICAgc2hlbGwuc2V0U3RyZXNzRGVvcHQoc3RyZXNzRGVvcHQpOwogICAgICAgICBpZiAoc2Vy
dmVyTW9kZSAmJiAhdGVzdHMuc2l6ZSgpKSB7CiAgICAgICAgICAgICBwYXJhbXMucHJpbnRTZXBh
cmF0b3JzID0gdHJ1ZTsKICAgICAgICAgICAgIGNoYXIgdGVzdFN0cmluZ1syMDQ4XTsgLy8gMjA0
OCBpcyB0aGUgc2FtZSBhcyB0aGUgc2l6ZXMgb2Ygb3RoZXIgcGxhdGZvcm1zLgpJbmRleDogV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCShy
ZXZpc2lvbiA3MzYwNCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDcgKzg2LDggQEAgVGVzdFNoZWxsOjpU
ZXN0U2hlbGwoYm9vbCB0ZXN0U2hlbGxNb2RlKQogICAgICwgbV9hbGxvd0V4dGVybmFsUGFnZXMo
ZmFsc2UpCiAgICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKQogICAg
ICwgbV9hY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fbG9hZENvdW50
KDEpCisgICAgLCBtX3N0cmVzc09wdChmYWxzZSkKKyAgICAsIG1fc3RyZXNzRGVvcHQoZmFsc2Up
CiAgICAgLCBtX2R1bXBXaGVuRmluaXNoZWQodHJ1ZSkKIHsKICAgICBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZUdlb2xvY2F0aW9uKHRydWUpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgJKHJldmlzaW9uIDczNjA0KQorKysgV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNywxNSArMTM3LDE1IEBAIHB1YmxpYzoKICAgICBpbnQgbGF5b3V0VGVzdFRpbWVv
dXRGb3JXYXRjaERvZygpIHsgcmV0dXJuIGxheW91dFRlc3RUaW1lb3V0KCkgKyAxMDAwOyB9CiAg
ICAgdm9pZCBzZXRMYXlvdXRUZXN0VGltZW91dChpbnQgdGltZW91dCkgeyBtX3RpbWVvdXQgPSB0
aW1lb3V0OyB9CiAKLSAgICAvLyBOdW1iZXIgb2YgdGltZXMgdG8gbG9hZCBlYWNoIFVSTC4KLSAg
ICBpbnQgbG9hZENvdW50KCkgeyByZXR1cm4gbV9sb2FkQ291bnQ7IH0KLSAgICB2b2lkIHNldExv
YWRDb3VudChpbnQgbG9hZENvdW50KSB7IG1fbG9hZENvdW50ID0gbG9hZENvdW50OyB9Ci0KLSAg
ICAvLyBUaGUgSmF2YVNjcmlwdCBmbGFncyBhcmUgc3BlY2lmaWVkIGFzIGEgdmVjdG9yIG9mIHN0
cmluZ3MuIEVhY2ggZWxlbWVudCBvZiB0aGUgdmVjdG9yIGlzIGZ1bGwgZmxhZ3Mgc3RyaW5nCi0g
ICAgLy8gd2hpY2ggY2FuIGNvbnRhaW4gbXVsdGlwbGUgZmxhZ3MgKGUuZy4gIi0teHh4IC0teXl5
IikuIFdpdGggbXVsdGlwbGUgbG9hZCB0ZXN0aW5nIGl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkK
LSAgICAvLyBzZXBhcmF0ZSBzZXRzIG9mIGZsYWdzIHRvIGVhY2ggbG9hZC4KLSAgICBzdGQ6OnN0
cmluZyBqYXZhU2NyaXB0RmxhZ3NGb3JMb2FkKHNpemVfdCBsb2FkKSB7IHJldHVybiAobG9hZCA8
IG1famF2YVNjcmlwdEZsYWdzLnNpemUoKSkgPyBtX2phdmFTY3JpcHRGbGFnc1tsb2FkXSA6ICIi
OyB9Ci0gICAgdm9pZCBzZXRKYXZhU2NyaXB0RmxhZ3MoVmVjdG9yPHN0ZDo6c3RyaW5nPiBqYXZh
U2NyaXB0RmxhZ3MpIHsgbV9qYXZhU2NyaXB0RmxhZ3MgPSBqYXZhU2NyaXB0RmxhZ3M7IH0KKyAg
ICAvLyBWOCBKYXZhU2NyaXB0IHN0cmVzcyB0ZXN0IG9wdGlvbnMuCisgICAgaW50IHN0cmVzc09w
dCgpIHsgcmV0dXJuIG1fc3RyZXNzT3B0OyB9CisgICAgdm9pZCBzZXRTdHJlc3NPcHQoYm9vbCBz
dHJlc3NPcHQpIHsgbV9zdHJlc3NPcHQgPSBzdHJlc3NPcHQ7IH0KKyAgICBpbnQgc3RyZXNzRGVv
cHQoKSB7IHJldHVybiBtX3N0cmVzc0Rlb3B0OyB9CisgICAgdm9pZCBzZXRTdHJlc3NEZW9wdChp
bnQgc3RyZXNzRGVvcHQpIHsgbV9zdHJlc3NEZW9wdCA9IHN0cmVzc0Rlb3B0OyB9CisKKyAgICAv
LyBUaGUgSmF2YVNjcmlwdCBmbGFncyBzcGVjaWZpZWQgYXMgYSBzdHJpbmdzLgorICAgIHN0ZDo6
c3RyaW5nIGphdmFTY3JpcHRGbGFncygpIHsgcmV0dXJuIG1famF2YVNjcmlwdEZsYWdzOyB9Cisg
ICAgdm9pZCBzZXRKYXZhU2NyaXB0RmxhZ3Moc3RkOjpzdHJpbmcgamF2YVNjcmlwdEZsYWdzKSB7
IG1famF2YVNjcmlwdEZsYWdzID0gamF2YVNjcmlwdEZsYWdzOyB9CiAKICAgICAvLyBTZXQgd2hl
dGhlciB0byBkdW1wIHdoZW4gdGhlIGxvYWRlZCBwYWdlIGhhcyBmaW5pc2hlZCBwcm9jZXNzaW5n
LiBUaGlzIGlzIHVzZWQgd2l0aCBtdWx0aXBsZSBsb2FkCiAgICAgLy8gdGVzdGluZyB3aGVyZSB3
ZSBvbmx5IHdhbnQgdG8gaGF2ZSB0aGUgb3V0cHV0IGZyb20gdGhlIGxhc3QgbG9hZC4KQEAgLTE5
OCw4ICsxOTgsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5n
RW5hYmxlZDsKICAgICBib29sIG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAgICAgV2Vi
UHJlZmVyZW5jZXMgbV9wcmVmczsKLSAgICBpbnQgbV9sb2FkQ291bnQ7Ci0gICAgVmVjdG9yPHN0
ZDo6c3RyaW5nPiBtX2phdmFTY3JpcHRGbGFnczsKKyAgICBib29sIG1fc3RyZXNzT3B0OworICAg
IGJvb2wgbV9zdHJlc3NEZW9wdDsKKyAgICBzdGQ6OnN0cmluZyBtX2phdmFTY3JpcHRGbGFnczsK
ICAgICBib29sIG1fZHVtcFdoZW5GaW5pc2hlZDsKIAogCkluZGV4OiBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHMucHkJKHJldmlzaW9uIDczNjA0KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMTQy
NCwxMCArMTQyNCwxNCBAQCBkZWYgcGFyc2VfYXJncyhhcmdzPU5vbmUpOgogICAgICAgICAgICAg
ZGVmYXVsdD1GYWxzZSwgaGVscD0iY3JlYXRlIGEgZGlhbG9nIG9uIER1bXBSZW5kZXJUcmVlIHN0
YXJ0dXAiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tZ3AtZmF1bHQtZXJyb3It
Ym94IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhl
bHA9ImVuYWJsZSBXaW5kb3dzIEdQIGZhdWx0IGVycm9yIGJveCIpLAotICAgICAgICBvcHRwYXJz
ZS5tYWtlX29wdGlvbigiLS1tdWx0aXBsZS1sb2FkcyIsCi0gICAgICAgICAgICB0eXBlPSJpbnQi
LCBoZWxwPSJ0dXJuIG9uIG11bHRpcGxlIGxvYWRzIG9mIGVhY2ggdGVzdCIpLAogICAgICAgICBv
cHRwYXJzZS5tYWtlX29wdGlvbigiLS1qcy1mbGFncyIsCiAgICAgICAgICAgICB0eXBlPSJzdHJp
bmciLCBoZWxwPSJKYXZhU2NyaXB0IGZsYWdzIHRvIHBhc3MgdG8gdGVzdHMiKSwKKyAgICAgICAg
b3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc3RyZXNzLW9wdCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
CisgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgaGVscD0iRW5hYmxlIGFk
ZGl0aW9uYWwgc3RyZXNzIHRlc3QgdG8gSmF2YVNjcmlwdCBvcHRpbWl6YXRpb24iKSwKKyAgICAg
ICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc3RyZXNzLWRlb3B0IiwgYWN0aW9uPSJzdG9yZV90
cnVlIiwKKyAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICBoZWxwPSJFbmFi
bGUgYWRkaXRpb25hbCBzdHJlc3MgdGVzdCB0byBKYXZhU2NyaXB0IG9wdGltaXphdGlvbiIpLAog
ICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1ub2NoZWNrLXN5cy1kZXBzIiwgYWN0aW9u
PSJzdG9yZV90cnVlIiwKICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICBo
ZWxwPSJEb24ndCBjaGVjayB0aGUgc3lzdGVtIGRlcGVuZGVuY2llcyAodGhlbWVzKSIpLApJbmRl
eDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiA3MzYwNCkKKysrIFdlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTM5MCw4ICszOTAsMTEgQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIoYmFzZS5Ecml2ZXIp
OgogICAgICAgICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24oJ2pzX2ZsYWdzJykgaXMgbm90IE5v
bmU6CiAgICAgICAgICAgICBjbWQuYXBwZW5kKCctLWpzLWZsYWdzPSInICsgc2VsZi5fcG9ydC5n
ZXRfb3B0aW9uKCdqc19mbGFncycpICsgJyInKQogCi0gICAgICAgIGlmIHNlbGYuX3BvcnQuZ2V0
X29wdGlvbignbXVsdGlwbGVfbG9hZHMnKSA+IDA6Ci0gICAgICAgICAgICBjbWQuYXBwZW5kKCct
LW11bHRpcGxlLWxvYWRzPScgKyBzdHIoc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdtdWx0aXBsZV9s
b2FkcycpKSkKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdzdHJlc3Nfb3B0Jyk6
CisgICAgICAgICAgICBjbWQuYXBwZW5kKCctLXN0cmVzcy1vcHQnKQorCisgICAgICAgIGlmIHNl
bGYuX3BvcnQuZ2V0X29wdGlvbignc3RyZXNzX2Rlb3B0Jyk6CisgICAgICAgICAgICBjbWQuYXBw
ZW5kKCctLXN0cmVzcy1kZW9wdCcpCiAKICAgICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9u
KCdhY2NlbGVyYXRlZF9jb21wb3NpdGluZycpOgogICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1l
bmFibGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRpbmcnKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77811</attachid>
            <date>2011-01-03 07:46:21 -0800</date>
            <delta_ts>2011-01-04 00:23:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50751-20110103164620.patch</filename>
            <type>text/plain</type>
            <size>11831</size>
            <attacher name="Søren Gjesse">sgjesse</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc0ODg5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjUgQEAKKzIwMTEtMDEtMDMgIFPDuHJlbiBHamVzc2UgIDxzZ2plc3NlQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFu
Z2UgdGhlIC0tbXVsdGktbG9hZCB0ZXN0IG9wdGlvbiB0byAtLXN0cmVzcy1vcHQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNzUxCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChy
dW5UZXN0KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0
U2hlbGw6OnN0cmVzc09wdCk6CisgICAgICAgIChUZXN0U2hlbGw6OnNldFN0cmVzc09wdCk6Cisg
ICAgICAgIChUZXN0U2hlbGw6OnN0cmVzc0Rlb3B0KToKKyAgICAgICAgKFRlc3RTaGVsbDo6c2V0
U3RyZXNzRGVvcHQpOgorICAgICAgICAoVGVzdFNoZWxsOjpqYXZhU2NyaXB0RmxhZ3MpOgorICAg
ICAgICAoVGVzdFNoZWxsOjpzZXRKYXZhU2NyaXB0RmxhZ3MpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKwogMjAxMS0wMS0w
MyAgS29hbi1TaW4gVGFuICA8a29hbnNpbi50YW5AZ21haWwuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFhhbiBMb3Blei4KSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1
bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDc0ODg5KQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Miw2ICszMiw3IEBACiAKICNpbmNsdWRlICJUZXN0U2hlbGwuaCIKICNpbmNsdWRlICJ3ZWJraXQv
c3VwcG9ydC93ZWJraXRfc3VwcG9ydC5oIgorI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjgtdGVzdGlu
Zy5oPgogI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjguaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTUyLDcgKzUzLDggQEAgc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uQ2hlY2tMYXlvdXRU
ZXN0Uwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nIjsKIHN0YXRpYyBjb25zdCBj
aGFyIG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkMkRDYW52YXNbXSA9ICItLWVuYWJsZS1hY2NlbGVy
YXRlZC0yZC1jYW52YXMiOwogCi1zdGF0aWMgY29uc3QgY2hhciBvcHRpb25NdWx0aXBsZUxvYWRz
W10gPSAiLS1tdWx0aXBsZS1sb2Fkcz0iOworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uU3RyZXNz
T3B0W10gPSAiLS1zdHJlc3Mtb3B0IjsKK3N0YXRpYyBjb25zdCBjaGFyIG9wdGlvblN0cmVzc0Rl
b3B0W10gPSAiLS1zdHJlc3MtZGVvcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uSmF2YVNj
cmlwdEZsYWdzW10gPSAiLS1qcy1mbGFncz0iOwogCiBzdGF0aWMgdm9pZCBydW5UZXN0KFRlc3RT
aGVsbCYgc2hlbGwsIFRlc3RQYXJhbXMmIHBhcmFtcywgY29uc3Qgc3RyaW5nJiB0ZXN0TmFtZSwg
Ym9vbCB0ZXN0U2hlbGxNb2RlKQpAQCAtODIsMTMgKzg0LDIyIEBAIHN0YXRpYyB2b2lkIHJ1blRl
c3QoVGVzdFNoZWxsJiBzaGVsbCwgVGUKICAgICB9CiAgICAgcGFyYW1zLnRlc3RVcmwgPSB3ZWJr
aXRfc3VwcG9ydDo6Q3JlYXRlVVJMRm9yUGF0aE9yVVJMKHBhdGhPclVSTCk7CiAgICAgd2Via2l0
X3N1cHBvcnQ6OlNldEN1cnJlbnREaXJlY3RvcnlGb3JGaWxlVVJMKHBhcmFtcy50ZXN0VXJsKTsK
LSAgICBmb3IgKGludCBpID0gMDsgaSA8IHNoZWxsLmxvYWRDb3VudCgpOyBpKyspIHsKLSAgICAg
ICAgc3RyaW5nIGphdmFTY3JpcHRGbGFncyA9IHNoZWxsLmphdmFTY3JpcHRGbGFnc0ZvckxvYWQo
aSk7Ci0gICAgICAgIHY4OjpWODo6U2V0RmxhZ3NGcm9tU3RyaW5nKGphdmFTY3JpcHRGbGFncy5k
YXRhKCksIHN0YXRpY19jYXN0PGludD4oamF2YVNjcmlwdEZsYWdzLnNpemUoKSkpOwotICAgICAg
ICBib29sIGlzTGFzdExvYWQgPSAoaSA9PSAoc2hlbGwubG9hZENvdW50KCkgLSAxKSk7Ci0gICAg
ICAgIHNoZWxsLnNldER1bXBXaGVuRmluaXNoZWQoaXNMYXN0TG9hZCk7Ci0gICAgICAgIHNoZWxs
LnJlc2V0VGVzdENvbnRyb2xsZXIoKTsKLSAgICAgICAgc2hlbGwucnVuRmlsZVRlc3QocGFyYW1z
KTsKKyAgICB2ODo6Vjg6OlNldEZsYWdzRnJvbVN0cmluZyhzaGVsbC5qYXZhU2NyaXB0RmxhZ3Mo
KS5jX3N0cigpLCBzaGVsbC5qYXZhU2NyaXB0RmxhZ3MoKS5sZW5ndGgoKSk7CisgICAgaWYgKHNo
ZWxsLnN0cmVzc09wdCgpIHx8IHNoZWxsLnN0cmVzc0Rlb3B0KCkpIHsKKyAgICAgIGlmIChzaGVs
bC5zdHJlc3NPcHQoKSkKKyAgICAgICAgdjg6OlRlc3Rpbmc6OlNldFN0cmVzc1J1blR5cGUodjg6
OlRlc3Rpbmc6OmtTdHJlc3NUeXBlT3B0KTsKKyAgICAgIGVsc2UKKyAgICAgICAgdjg6OlRlc3Rp
bmc6OlNldFN0cmVzc1J1blR5cGUodjg6OlRlc3Rpbmc6OmtTdHJlc3NUeXBlT3B0KTsKKyAgICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgdjg6OlRlc3Rpbmc6OkdldFN0cmVzc1J1bnMoKTsgaSsrKSB7
CisgICAgICAgICAgdjg6OlRlc3Rpbmc6OlByZXBhcmVTdHJlc3NSdW4oaSk7CisgICAgICAgICAg
Ym9vbCBpc0xhc3RMb2FkID0gKGkgPT0gKHY4OjpUZXN0aW5nOjpHZXRTdHJlc3NSdW5zKCkgLSAx
KSk7CisgICAgICAgICAgc2hlbGwuc2V0RHVtcFdoZW5GaW5pc2hlZChpc0xhc3RMb2FkKTsKKyAg
ICAgICAgICBzaGVsbC5yZXNldFRlc3RDb250cm9sbGVyKCk7CisgICAgICAgICAgc2hlbGwucnVu
RmlsZVRlc3QocGFyYW1zKTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgc2hlbGwucmVz
ZXRUZXN0Q29udHJvbGxlcigpOworICAgICAgc2hlbGwucnVuRmlsZVRlc3QocGFyYW1zKTsKICAg
ICB9CiAgICAgc2hlbGwuc2V0TGF5b3V0VGVzdFRpbWVvdXQob2xkVGltZW91dE1zZWMpOwogfQpA
QCAtMTA2LDcgKzExNyw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAg
Ym9vbCBzdGFydHVwRGlhbG9nID0gZmFsc2U7CiAgICAgYm9vbCBhY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCA9IGZhbHNlOwogICAgIGJvb2wgYWNjZWxlcmF0ZWQyRENhbnZhc0VuYWJsZWQg
PSBmYWxzZTsKLSAgICBpbnQgbG9hZENvdW50ID0gMTsKKyAgICBib29sIHN0cmVzc09wdCA9IGZh
bHNlOworICAgIGJvb2wgc3RyZXNzRGVvcHQgPSBmYWxzZTsKICAgICBzdHJpbmcgamF2YVNjcmlw
dEZsYWdzOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgYXJnYzsgKytpKSB7CiAgICAgICAgIHN0
cmluZyBhcmd1bWVudChhcmd2W2ldKTsKQEAgLTEzMiwxMiArMTQ0LDEzIEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICBhY2NlbGVyYXRlZENvbXBvc2l0aW5n
RW5hYmxlZCA9IHRydWU7CiAgICAgICAgIGVsc2UgaWYgKGFyZ3VtZW50ID09IG9wdGlvbkVuYWJs
ZUFjY2VsZXJhdGVkMkRDYW52YXMpCiAgICAgICAgICAgICBhY2NlbGVyYXRlZDJEQ2FudmFzRW5h
YmxlZCA9IHRydWU7Ci0gICAgICAgIGVsc2UgaWYgKCFhcmd1bWVudC5maW5kKG9wdGlvbk11bHRp
cGxlTG9hZHMpKSB7Ci0gICAgICAgICAgICBzdHJpbmcgbXVsdGlwbGVMb2Fkc1N0ciA9IGFyZ3Vt
ZW50LnN1YnN0cihzdHJsZW4ob3B0aW9uTXVsdGlwbGVMb2FkcykpOwotICAgICAgICAgICAgbG9h
ZENvdW50ID0gYXRvaShtdWx0aXBsZUxvYWRzU3RyLmNfc3RyKCkpOwotICAgICAgICB9IGVsc2Ug
aWYgKCFhcmd1bWVudC5maW5kKG9wdGlvbkphdmFTY3JpcHRGbGFncykpIHsKKyAgICAgICAgZWxz
ZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uU3RyZXNzT3B0KQorICAgICAgICAgICAgc3RyZXNzT3B0
ID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uU3RyZXNzRGVvcHQp
CisgICAgICAgICAgICBzdHJlc3NEZW9wdCA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKCFhcmd1
bWVudC5maW5kKG9wdGlvbkphdmFTY3JpcHRGbGFncykpCiAgICAgICAgICAgICBqYXZhU2NyaXB0
RmxhZ3MgPSBhcmd1bWVudC5zdWJzdHIoc3RybGVuKG9wdGlvbkphdmFTY3JpcHRGbGFncykpOwot
ICAgICAgICB9IGVsc2UgaWYgKGFyZ3VtZW50LnNpemUoKSAmJiBhcmd1bWVudFswXSA9PSAnLScp
CisgICAgICAgIGVsc2UgaWYgKGFyZ3VtZW50LnNpemUoKSAmJiBhcmd1bWVudFswXSA9PSAnLScp
CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVua25vd24gb3B0aW9uOiAlc1xuIiwgYXJn
dltpXSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RzLmFwcGVuZChhcmd1bWVudCk7
CkBAIC0xNDYsMzEgKzE1OSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQog
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIi0tcGl4ZWwtdGVzdHMgd2l0aCAtLXRlc3Qtc2hlbGwg
cmVxdWlyZXMgYSBmaWxlIG5hbWUuXG4iKTsKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsK
ICAgICB9Ci0gICAgaWYgKGxvYWRDb3VudCA8IDEpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIs
ICItLW11bHRpcGxlLWxvYWRzIHJlcXVpcmVzIGEgcG9zaXRpdmUgbnVtZXJpYyBhcmd1bWVudC5c
biIpOworICAgIGlmIChzdHJlc3NPcHQgJiYgc3RyZXNzRGVvcHQpIHsKKyAgICAgICAgZnByaW50
ZihzdGRlcnIsICItLXN0cmVzcy1vcHQgYW5kIC0tc3RyZXNzLWRlb3B0IGFyZSBtdXR1YWxseSBl
eGNsdXNpdmUuXG4iKTsKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgICB9CiAKLSAg
ICAvLyBUaGUgdGVzdCBydW5uZXIgbWlnaHQgc2VuZCBhIHF1b3RlZCBzdHJpbmcgd2hpY2ggbmVl
ZHMgdG8gYmUgdW5xdW90ZWQgYmVmb3JlIGZ1cnRoZXIgcHJvY2Vzc2luZy4KLSAgICBpZiAoamF2
YVNjcmlwdEZsYWdzLmxlbmd0aCgpID4gMSAmJiBqYXZhU2NyaXB0RmxhZ3NbMF0gPT0gJyInICYm
IGphdmFTY3JpcHRGbGFnc1tqYXZhU2NyaXB0RmxhZ3MubGVuZ3RoKCkgLSAxXSA9PSAnIicpCi0g
ICAgICAgIGphdmFTY3JpcHRGbGFncyA9IGphdmFTY3JpcHRGbGFncy5zdWJzdHIoMSwgamF2YVNj
cmlwdEZsYWdzLmxlbmd0aCgpIC0gMik7Ci0gICAgLy8gU3BsaXQgdGhlIEphdmFTY3JpcHQgZmxh
Z3MgaW50byBhIGxpc3QuCi0gICAgVmVjdG9yPHN0cmluZz4gZmxhZ3NMaXN0OwotICAgIHNpemVf
dCBzdGFydCA9IDA7Ci0gICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgc2l6ZV90IGNvbW1hUG9z
ID0gamF2YVNjcmlwdEZsYWdzLmZpbmRfZmlyc3Rfb2YoJywnLCBzdGFydCk7Ci0gICAgICAgIHN0
cmluZyBmbGFnczsKLSAgICAgICAgaWYgKGNvbW1hUG9zID09IHN0cmluZzo6bnBvcykKLSAgICAg
ICAgICAgIGZsYWdzID0gamF2YVNjcmlwdEZsYWdzLnN1YnN0cihzdGFydCwgamF2YVNjcmlwdEZs
YWdzLmxlbmd0aCgpIC0gc3RhcnQpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGZsYWdz
ID0gamF2YVNjcmlwdEZsYWdzLnN1YnN0cihzdGFydCwgY29tbWFQb3MgLSBzdGFydCk7Ci0gICAg
ICAgICAgICBzdGFydCA9IGNvbW1hUG9zICsgMTsKLSAgICAgICAgfQotICAgICAgICBmbGFnc0xp
c3QuYXBwZW5kKGZsYWdzKTsKLSAgICAgICAgaWYgKGNvbW1hUG9zID09IHN0cmluZzo6bnBvcykK
LSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLQogICAgIGlmIChzdGFydHVwRGlhbG9nKQogICAg
ICAgICBvcGVuU3RhcnR1cERpYWxvZygpOwogCkBAIC0xNzksOCArMTcyLDkgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgc2hlbGwuc2V0QWxsb3dFeHRlcm5hbFBh
Z2VzKGFsbG93RXh0ZXJuYWxQYWdlcyk7CiAgICAgICAgIHNoZWxsLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkKGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKTsKICAgICAgICAg
c2hlbGwuc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYWNjZWxlcmF0ZWQyRENhbnZhc0Vu
YWJsZWQpOwotICAgICAgICBzaGVsbC5zZXRMb2FkQ291bnQobG9hZENvdW50KTsKLSAgICAgICAg
c2hlbGwuc2V0SmF2YVNjcmlwdEZsYWdzKGZsYWdzTGlzdCk7CisgICAgICAgIHNoZWxsLnNldEph
dmFTY3JpcHRGbGFncyhqYXZhU2NyaXB0RmxhZ3MpOworICAgICAgICBzaGVsbC5zZXRTdHJlc3NP
cHQoc3RyZXNzT3B0KTsKKyAgICAgICAgc2hlbGwuc2V0U3RyZXNzRGVvcHQoc3RyZXNzRGVvcHQp
OwogICAgICAgICBpZiAoc2VydmVyTW9kZSAmJiAhdGVzdHMuc2l6ZSgpKSB7CiAgICAgICAgICAg
ICBwYXJhbXMucHJpbnRTZXBhcmF0b3JzID0gdHJ1ZTsKICAgICAgICAgICAgIGNoYXIgdGVzdFN0
cmluZ1syMDQ4XTsgLy8gMjA0OCBpcyB0aGUgc2FtZSBhcyB0aGUgc2l6ZXMgb2Ygb3RoZXIgcGxh
dGZvcm1zLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwCShyZXZpc2lvbiA3NDg4OSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDcgKzg2LDggQEAgVGVzdFNoZWxsOjpU
ZXN0U2hlbGwoYm9vbCB0ZXN0U2hlbGxNb2RlKQogICAgICwgbV9hbGxvd0V4dGVybmFsUGFnZXMo
ZmFsc2UpCiAgICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKQogICAg
ICwgbV9hY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fbG9hZENvdW50
KDEpCisgICAgLCBtX3N0cmVzc09wdChmYWxzZSkKKyAgICAsIG1fc3RyZXNzRGVvcHQoZmFsc2Up
CiAgICAgLCBtX2R1bXBXaGVuRmluaXNoZWQodHJ1ZSkKIHsKICAgICBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZUdlb2xvY2F0aW9uKHRydWUpOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFNoZWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFNoZWxsLmgJKHJldmlzaW9uIDc0ODg5KQorKysgVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNywxNSArMTM3
LDE1IEBAIHB1YmxpYzoKICAgICBpbnQgbGF5b3V0VGVzdFRpbWVvdXRGb3JXYXRjaERvZygpIHsg
cmV0dXJuIGxheW91dFRlc3RUaW1lb3V0KCkgKyAxMDAwOyB9CiAgICAgdm9pZCBzZXRMYXlvdXRU
ZXN0VGltZW91dChpbnQgdGltZW91dCkgeyBtX3RpbWVvdXQgPSB0aW1lb3V0OyB9CiAKLSAgICAv
LyBOdW1iZXIgb2YgdGltZXMgdG8gbG9hZCBlYWNoIFVSTC4KLSAgICBpbnQgbG9hZENvdW50KCkg
eyByZXR1cm4gbV9sb2FkQ291bnQ7IH0KLSAgICB2b2lkIHNldExvYWRDb3VudChpbnQgbG9hZENv
dW50KSB7IG1fbG9hZENvdW50ID0gbG9hZENvdW50OyB9Ci0KLSAgICAvLyBUaGUgSmF2YVNjcmlw
dCBmbGFncyBhcmUgc3BlY2lmaWVkIGFzIGEgdmVjdG9yIG9mIHN0cmluZ3MuIEVhY2ggZWxlbWVu
dCBvZiB0aGUgdmVjdG9yIGlzIGZ1bGwgZmxhZ3Mgc3RyaW5nCi0gICAgLy8gd2hpY2ggY2FuIGNv
bnRhaW4gbXVsdGlwbGUgZmxhZ3MgKGUuZy4gIi0teHh4IC0teXl5IikuIFdpdGggbXVsdGlwbGUg
bG9hZCB0ZXN0aW5nIGl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkKLSAgICAvLyBzZXBhcmF0ZSBz
ZXRzIG9mIGZsYWdzIHRvIGVhY2ggbG9hZC4KLSAgICBzdGQ6OnN0cmluZyBqYXZhU2NyaXB0Rmxh
Z3NGb3JMb2FkKHNpemVfdCBsb2FkKSB7IHJldHVybiAobG9hZCA8IG1famF2YVNjcmlwdEZsYWdz
LnNpemUoKSkgPyBtX2phdmFTY3JpcHRGbGFnc1tsb2FkXSA6ICIiOyB9Ci0gICAgdm9pZCBzZXRK
YXZhU2NyaXB0RmxhZ3MoVmVjdG9yPHN0ZDo6c3RyaW5nPiBqYXZhU2NyaXB0RmxhZ3MpIHsgbV9q
YXZhU2NyaXB0RmxhZ3MgPSBqYXZhU2NyaXB0RmxhZ3M7IH0KKyAgICAvLyBWOCBKYXZhU2NyaXB0
IHN0cmVzcyB0ZXN0IG9wdGlvbnMuCisgICAgaW50IHN0cmVzc09wdCgpIHsgcmV0dXJuIG1fc3Ry
ZXNzT3B0OyB9CisgICAgdm9pZCBzZXRTdHJlc3NPcHQoYm9vbCBzdHJlc3NPcHQpIHsgbV9zdHJl
c3NPcHQgPSBzdHJlc3NPcHQ7IH0KKyAgICBpbnQgc3RyZXNzRGVvcHQoKSB7IHJldHVybiBtX3N0
cmVzc0Rlb3B0OyB9CisgICAgdm9pZCBzZXRTdHJlc3NEZW9wdChpbnQgc3RyZXNzRGVvcHQpIHsg
bV9zdHJlc3NEZW9wdCA9IHN0cmVzc0Rlb3B0OyB9CisKKyAgICAvLyBUaGUgSmF2YVNjcmlwdCBm
bGFncyBzcGVjaWZpZWQgYXMgYSBzdHJpbmdzLgorICAgIHN0ZDo6c3RyaW5nIGphdmFTY3JpcHRG
bGFncygpIHsgcmV0dXJuIG1famF2YVNjcmlwdEZsYWdzOyB9CisgICAgdm9pZCBzZXRKYXZhU2Ny
aXB0RmxhZ3Moc3RkOjpzdHJpbmcgamF2YVNjcmlwdEZsYWdzKSB7IG1famF2YVNjcmlwdEZsYWdz
ID0gamF2YVNjcmlwdEZsYWdzOyB9CiAKICAgICAvLyBTZXQgd2hldGhlciB0byBkdW1wIHdoZW4g
dGhlIGxvYWRlZCBwYWdlIGhhcyBmaW5pc2hlZCBwcm9jZXNzaW5nLiBUaGlzIGlzIHVzZWQgd2l0
aCBtdWx0aXBsZSBsb2FkCiAgICAgLy8gdGVzdGluZyB3aGVyZSB3ZSBvbmx5IHdhbnQgdG8gaGF2
ZSB0aGUgb3V0cHV0IGZyb20gdGhlIGxhc3QgbG9hZC4KQEAgLTE5OSw4ICsxOTksOSBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBib29s
IG1fYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAgICAgV2ViUHJlZmVyZW5jZXMgbV9wcmVm
czsKLSAgICBpbnQgbV9sb2FkQ291bnQ7Ci0gICAgVmVjdG9yPHN0ZDo6c3RyaW5nPiBtX2phdmFT
Y3JpcHRGbGFnczsKKyAgICBib29sIG1fc3RyZXNzT3B0OworICAgIGJvb2wgbV9zdHJlc3NEZW9w
dDsKKyAgICBzdGQ6OnN0cmluZyBtX2phdmFTY3JpcHRGbGFnczsKICAgICBib29sIG1fZHVtcFdo
ZW5GaW5pc2hlZDsKIAogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9ydW5fd2Via2l0X3Rlc3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkJKHJldmlzaW9uIDc0ODg5KQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQko
d29ya2luZyBjb3B5KQpAQCAtMjE1LDEwICsyMTUsMTQgQEAgZGVmIHBhcnNlX2FyZ3MoYXJncz1O
b25lKToKICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9ImNyZWF0ZSBhIGRpYWxvZyBv
biBEdW1wUmVuZGVyVHJlZSBzdGFydHVwIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9u
KCItLWdwLWZhdWx0LWVycm9yLWJveCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAg
ICBkZWZhdWx0PUZhbHNlLCBoZWxwPSJlbmFibGUgV2luZG93cyBHUCBmYXVsdCBlcnJvciBib3gi
KSwKLSAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tbXVsdGlwbGUtbG9hZHMiLAotICAg
ICAgICAgICAgdHlwZT0iaW50IiwgaGVscD0idHVybiBvbiBtdWx0aXBsZSBsb2FkcyBvZiBlYWNo
IHRlc3QiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tanMtZmxhZ3MiLAogICAg
ICAgICAgICAgdHlwZT0ic3RyaW5nIiwgaGVscD0iSmF2YVNjcmlwdCBmbGFncyB0byBwYXNzIHRv
IHRlc3RzIiksCisgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXN0cmVzcy1vcHQiLCBh
Y3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAg
ICAgIGhlbHA9IkVuYWJsZSBhZGRpdGlvbmFsIHN0cmVzcyB0ZXN0IHRvIEphdmFTY3JpcHQgb3B0
aW1pemF0aW9uIiksCisgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXN0cmVzcy1kZW9w
dCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAg
ICAgICAgICAgaGVscD0iRW5hYmxlIGFkZGl0aW9uYWwgc3RyZXNzIHRlc3QgdG8gSmF2YVNjcmlw
dCBvcHRpbWl6YXRpb24iKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tbm9jaGVj
ay1zeXMtZGVwcyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAgICBkZWZhdWx0PUZh
bHNlLAogICAgICAgICAgICAgaGVscD0iRG9uJ3QgY2hlY2sgdGhlIHN5c3RlbSBkZXBlbmRlbmNp
ZXMgKHRoZW1lcykiKSwKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW0ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQkocmV2aXNpb24gNzQ4ODkpCisrKyBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0zODAsOCArMzgwLDExIEBAIGNsYXNzIENocm9taXVtRHJpdmVyKGJhc2UuRHJpdmVy
KToKICAgICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdqc19mbGFncycpIGlzIG5vdCBO
b25lOgogICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1qcy1mbGFncz0iJyArIHNlbGYuX3BvcnQu
Z2V0X29wdGlvbignanNfZmxhZ3MnKSArICciJykKIAotICAgICAgICBpZiBzZWxmLl9wb3J0Lmdl
dF9vcHRpb24oJ211bHRpcGxlX2xvYWRzJykgPiAwOgotICAgICAgICAgICAgY21kLmFwcGVuZCgn
LS1tdWx0aXBsZS1sb2Fkcz0nICsgc3RyKHNlbGYuX3BvcnQuZ2V0X29wdGlvbignbXVsdGlwbGVf
bG9hZHMnKSkpCisgICAgICAgIGlmIHNlbGYuX3BvcnQuZ2V0X29wdGlvbignc3RyZXNzX29wdCcp
OgorICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1zdHJlc3Mtb3B0JykKKworICAgICAgICBpZiBz
ZWxmLl9wb3J0LmdldF9vcHRpb24oJ3N0cmVzc19kZW9wdCcpOgorICAgICAgICAgICAgY21kLmFw
cGVuZCgnLS1zdHJlc3MtZGVvcHQnKQogCiAgICAgICAgICMgdGVzdF9zaGVsbCBkb2VzIG5vdCBz
dXBwb3J0IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nLgogICAgICAgICBpZiBub3Qgc2VsZi5fcG9y
dC5nZXRfb3B0aW9uKCJ1c2VfdGVzdF9zaGVsbCIpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77868</attachid>
            <date>2011-01-04 00:23:33 -0800</date>
            <delta_ts>2011-01-04 18:09:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50751-20110104092330.patch</filename>
            <type>text/plain</type>
            <size>11833</size>
            <attacher name="Søren Gjesse">sgjesse</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc0ODg5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjUgQEAKKzIwMTEtMDEtMDMgIFPDuHJlbiBHamVzc2UgIDxzZ2plc3NlQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFu
Z2UgdGhlIC0tbXVsdGktbG9hZCB0ZXN0IG9wdGlvbiB0byAtLXN0cmVzcy1vcHQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNzUxCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChy
dW5UZXN0KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0
U2hlbGw6OnN0cmVzc09wdCk6CisgICAgICAgIChUZXN0U2hlbGw6OnNldFN0cmVzc09wdCk6Cisg
ICAgICAgIChUZXN0U2hlbGw6OnN0cmVzc0Rlb3B0KToKKyAgICAgICAgKFRlc3RTaGVsbDo6c2V0
U3RyZXNzRGVvcHQpOgorICAgICAgICAoVGVzdFNoZWxsOjpqYXZhU2NyaXB0RmxhZ3MpOgorICAg
ICAgICAoVGVzdFNoZWxsOjpzZXRKYXZhU2NyaXB0RmxhZ3MpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKwogMjAxMS0wMS0w
MyAgS29hbi1TaW4gVGFuICA8a29hbnNpbi50YW5AZ21haWwuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFhhbiBMb3Blei4KSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0R1
bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDc0ODg5KQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Miw2ICszMiw3IEBACiAKICNpbmNsdWRlICJUZXN0U2hlbGwuaCIKICNpbmNsdWRlICJ3ZWJraXQv
c3VwcG9ydC93ZWJraXRfc3VwcG9ydC5oIgorI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjgtdGVzdGlu
Zy5oPgogI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjguaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTUyLDcgKzUzLDggQEAgc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uQ2hlY2tMYXlvdXRU
ZXN0Uwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uRW5hYmxlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1tdID0gIi0tZW5hYmxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nIjsKIHN0YXRpYyBjb25zdCBj
aGFyIG9wdGlvbkVuYWJsZUFjY2VsZXJhdGVkMkRDYW52YXNbXSA9ICItLWVuYWJsZS1hY2NlbGVy
YXRlZC0yZC1jYW52YXMiOwogCi1zdGF0aWMgY29uc3QgY2hhciBvcHRpb25NdWx0aXBsZUxvYWRz
W10gPSAiLS1tdWx0aXBsZS1sb2Fkcz0iOworc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uU3RyZXNz
T3B0W10gPSAiLS1zdHJlc3Mtb3B0IjsKK3N0YXRpYyBjb25zdCBjaGFyIG9wdGlvblN0cmVzc0Rl
b3B0W10gPSAiLS1zdHJlc3MtZGVvcHQiOwogc3RhdGljIGNvbnN0IGNoYXIgb3B0aW9uSmF2YVNj
cmlwdEZsYWdzW10gPSAiLS1qcy1mbGFncz0iOwogCiBzdGF0aWMgdm9pZCBydW5UZXN0KFRlc3RT
aGVsbCYgc2hlbGwsIFRlc3RQYXJhbXMmIHBhcmFtcywgY29uc3Qgc3RyaW5nJiB0ZXN0TmFtZSwg
Ym9vbCB0ZXN0U2hlbGxNb2RlKQpAQCAtODIsMTMgKzg0LDIyIEBAIHN0YXRpYyB2b2lkIHJ1blRl
c3QoVGVzdFNoZWxsJiBzaGVsbCwgVGUKICAgICB9CiAgICAgcGFyYW1zLnRlc3RVcmwgPSB3ZWJr
aXRfc3VwcG9ydDo6Q3JlYXRlVVJMRm9yUGF0aE9yVVJMKHBhdGhPclVSTCk7CiAgICAgd2Via2l0
X3N1cHBvcnQ6OlNldEN1cnJlbnREaXJlY3RvcnlGb3JGaWxlVVJMKHBhcmFtcy50ZXN0VXJsKTsK
LSAgICBmb3IgKGludCBpID0gMDsgaSA8IHNoZWxsLmxvYWRDb3VudCgpOyBpKyspIHsKLSAgICAg
ICAgc3RyaW5nIGphdmFTY3JpcHRGbGFncyA9IHNoZWxsLmphdmFTY3JpcHRGbGFnc0ZvckxvYWQo
aSk7Ci0gICAgICAgIHY4OjpWODo6U2V0RmxhZ3NGcm9tU3RyaW5nKGphdmFTY3JpcHRGbGFncy5k
YXRhKCksIHN0YXRpY19jYXN0PGludD4oamF2YVNjcmlwdEZsYWdzLnNpemUoKSkpOwotICAgICAg
ICBib29sIGlzTGFzdExvYWQgPSAoaSA9PSAoc2hlbGwubG9hZENvdW50KCkgLSAxKSk7Ci0gICAg
ICAgIHNoZWxsLnNldER1bXBXaGVuRmluaXNoZWQoaXNMYXN0TG9hZCk7Ci0gICAgICAgIHNoZWxs
LnJlc2V0VGVzdENvbnRyb2xsZXIoKTsKLSAgICAgICAgc2hlbGwucnVuRmlsZVRlc3QocGFyYW1z
KTsKKyAgICB2ODo6Vjg6OlNldEZsYWdzRnJvbVN0cmluZyhzaGVsbC5qYXZhU2NyaXB0RmxhZ3Mo
KS5jX3N0cigpLCBzaGVsbC5qYXZhU2NyaXB0RmxhZ3MoKS5sZW5ndGgoKSk7CisgICAgaWYgKHNo
ZWxsLnN0cmVzc09wdCgpIHx8IHNoZWxsLnN0cmVzc0Rlb3B0KCkpIHsKKyAgICAgIGlmIChzaGVs
bC5zdHJlc3NPcHQoKSkKKyAgICAgICAgdjg6OlRlc3Rpbmc6OlNldFN0cmVzc1J1blR5cGUodjg6
OlRlc3Rpbmc6OmtTdHJlc3NUeXBlT3B0KTsKKyAgICAgIGVsc2UKKyAgICAgICAgdjg6OlRlc3Rp
bmc6OlNldFN0cmVzc1J1blR5cGUodjg6OlRlc3Rpbmc6OmtTdHJlc3NUeXBlRGVvcHQpOworICAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCB2ODo6VGVzdGluZzo6R2V0U3RyZXNzUnVucygpOyBpKysp
IHsKKyAgICAgICAgICB2ODo6VGVzdGluZzo6UHJlcGFyZVN0cmVzc1J1bihpKTsKKyAgICAgICAg
ICBib29sIGlzTGFzdExvYWQgPSAoaSA9PSAodjg6OlRlc3Rpbmc6OkdldFN0cmVzc1J1bnMoKSAt
IDEpKTsKKyAgICAgICAgICBzaGVsbC5zZXREdW1wV2hlbkZpbmlzaGVkKGlzTGFzdExvYWQpOwor
ICAgICAgICAgIHNoZWxsLnJlc2V0VGVzdENvbnRyb2xsZXIoKTsKKyAgICAgICAgICBzaGVsbC5y
dW5GaWxlVGVzdChwYXJhbXMpOworICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICBzaGVsbC5y
ZXNldFRlc3RDb250cm9sbGVyKCk7CisgICAgICBzaGVsbC5ydW5GaWxlVGVzdChwYXJhbXMpOwog
ICAgIH0KICAgICBzaGVsbC5zZXRMYXlvdXRUZXN0VGltZW91dChvbGRUaW1lb3V0TXNlYyk7CiB9
CkBAIC0xMDYsNyArMTE3LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAg
ICBib29sIHN0YXJ0dXBEaWFsb2cgPSBmYWxzZTsKICAgICBib29sIGFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkID0gZmFsc2U7CiAgICAgYm9vbCBhY2NlbGVyYXRlZDJEQ2FudmFzRW5hYmxl
ZCA9IGZhbHNlOwotICAgIGludCBsb2FkQ291bnQgPSAxOworICAgIGJvb2wgc3RyZXNzT3B0ID0g
ZmFsc2U7CisgICAgYm9vbCBzdHJlc3NEZW9wdCA9IGZhbHNlOwogICAgIHN0cmluZyBqYXZhU2Ny
aXB0RmxhZ3M7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBhcmdjOyArK2kpIHsKICAgICAgICAg
c3RyaW5nIGFyZ3VtZW50KGFyZ3ZbaV0pOwpAQCAtMTMyLDEyICsxNDQsMTMgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgICAgIGFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkID0gdHJ1ZTsKICAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQgPT0gb3B0aW9uRW5h
YmxlQWNjZWxlcmF0ZWQyRENhbnZhcykKICAgICAgICAgICAgIGFjY2VsZXJhdGVkMkRDYW52YXNF
bmFibGVkID0gdHJ1ZTsKLSAgICAgICAgZWxzZSBpZiAoIWFyZ3VtZW50LmZpbmQob3B0aW9uTXVs
dGlwbGVMb2FkcykpIHsKLSAgICAgICAgICAgIHN0cmluZyBtdWx0aXBsZUxvYWRzU3RyID0gYXJn
dW1lbnQuc3Vic3RyKHN0cmxlbihvcHRpb25NdWx0aXBsZUxvYWRzKSk7Ci0gICAgICAgICAgICBs
b2FkQ291bnQgPSBhdG9pKG11bHRpcGxlTG9hZHNTdHIuY19zdHIoKSk7Ci0gICAgICAgIH0gZWxz
ZSBpZiAoIWFyZ3VtZW50LmZpbmQob3B0aW9uSmF2YVNjcmlwdEZsYWdzKSkgeworICAgICAgICBl
bHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25TdHJlc3NPcHQpCisgICAgICAgICAgICBzdHJlc3NP
cHQgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChhcmd1bWVudCA9PSBvcHRpb25TdHJlc3NEZW9w
dCkKKyAgICAgICAgICAgIHN0cmVzc0Rlb3B0ID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoIWFy
Z3VtZW50LmZpbmQob3B0aW9uSmF2YVNjcmlwdEZsYWdzKSkKICAgICAgICAgICAgIGphdmFTY3Jp
cHRGbGFncyA9IGFyZ3VtZW50LnN1YnN0cihzdHJsZW4ob3B0aW9uSmF2YVNjcmlwdEZsYWdzKSk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoYXJndW1lbnQuc2l6ZSgpICYmIGFyZ3VtZW50WzBdID09ICct
JykKKyAgICAgICAgZWxzZSBpZiAoYXJndW1lbnQuc2l6ZSgpICYmIGFyZ3VtZW50WzBdID09ICct
JykKICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5rbm93biBvcHRpb246ICVzXG4iLCBh
cmd2W2ldKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdHMuYXBwZW5kKGFyZ3VtZW50
KTsKQEAgLTE0NiwzMSArMTU5LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10p
CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiLS1waXhlbC10ZXN0cyB3aXRoIC0tdGVzdC1zaGVs
bCByZXF1aXJlcyBhIGZpbGUgbmFtZS5cbiIpOwogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJF
OwogICAgIH0KLSAgICBpZiAobG9hZENvdW50IDwgMSkgewotICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIi0tbXVsdGlwbGUtbG9hZHMgcmVxdWlyZXMgYSBwb3NpdGl2ZSBudW1lcmljIGFyZ3VtZW50
LlxuIik7CisgICAgaWYgKHN0cmVzc09wdCAmJiBzdHJlc3NEZW9wdCkgeworICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIi0tc3RyZXNzLW9wdCBhbmQgLS1zdHJlc3MtZGVvcHQgYXJlIG11dHVhbGx5
IGV4Y2x1c2l2ZS5cbiIpOwogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogICAgIH0KIAot
ICAgIC8vIFRoZSB0ZXN0IHJ1bm5lciBtaWdodCBzZW5kIGEgcXVvdGVkIHN0cmluZyB3aGljaCBu
ZWVkcyB0byBiZSB1bnF1b3RlZCBiZWZvcmUgZnVydGhlciBwcm9jZXNzaW5nLgotICAgIGlmIChq
YXZhU2NyaXB0RmxhZ3MubGVuZ3RoKCkgPiAxICYmIGphdmFTY3JpcHRGbGFnc1swXSA9PSAnIicg
JiYgamF2YVNjcmlwdEZsYWdzW2phdmFTY3JpcHRGbGFncy5sZW5ndGgoKSAtIDFdID09ICciJykK
LSAgICAgICAgamF2YVNjcmlwdEZsYWdzID0gamF2YVNjcmlwdEZsYWdzLnN1YnN0cigxLCBqYXZh
U2NyaXB0RmxhZ3MubGVuZ3RoKCkgLSAyKTsKLSAgICAvLyBTcGxpdCB0aGUgSmF2YVNjcmlwdCBm
bGFncyBpbnRvIGEgbGlzdC4KLSAgICBWZWN0b3I8c3RyaW5nPiBmbGFnc0xpc3Q7Ci0gICAgc2l6
ZV90IHN0YXJ0ID0gMDsKLSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBzaXplX3QgY29tbWFQ
b3MgPSBqYXZhU2NyaXB0RmxhZ3MuZmluZF9maXJzdF9vZignLCcsIHN0YXJ0KTsKLSAgICAgICAg
c3RyaW5nIGZsYWdzOwotICAgICAgICBpZiAoY29tbWFQb3MgPT0gc3RyaW5nOjpucG9zKQotICAg
ICAgICAgICAgZmxhZ3MgPSBqYXZhU2NyaXB0RmxhZ3Muc3Vic3RyKHN0YXJ0LCBqYXZhU2NyaXB0
RmxhZ3MubGVuZ3RoKCkgLSBzdGFydCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgZmxh
Z3MgPSBqYXZhU2NyaXB0RmxhZ3Muc3Vic3RyKHN0YXJ0LCBjb21tYVBvcyAtIHN0YXJ0KTsKLSAg
ICAgICAgICAgIHN0YXJ0ID0gY29tbWFQb3MgKyAxOwotICAgICAgICB9Ci0gICAgICAgIGZsYWdz
TGlzdC5hcHBlbmQoZmxhZ3MpOwotICAgICAgICBpZiAoY29tbWFQb3MgPT0gc3RyaW5nOjpucG9z
KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgaWYgKHN0YXJ0dXBEaWFsb2cpCiAg
ICAgICAgIG9wZW5TdGFydHVwRGlhbG9nKCk7CiAKQEAgLTE3OSw4ICsxNzIsOSBAQCBpbnQgbWFp
bihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBzaGVsbC5zZXRBbGxvd0V4dGVybmFs
UGFnZXMoYWxsb3dFeHRlcm5hbFBhZ2VzKTsKICAgICAgICAgc2hlbGwuc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQoYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOwogICAgICAg
ICBzaGVsbC5zZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChhY2NlbGVyYXRlZDJEQ2FudmFz
RW5hYmxlZCk7Ci0gICAgICAgIHNoZWxsLnNldExvYWRDb3VudChsb2FkQ291bnQpOwotICAgICAg
ICBzaGVsbC5zZXRKYXZhU2NyaXB0RmxhZ3MoZmxhZ3NMaXN0KTsKKyAgICAgICAgc2hlbGwuc2V0
SmF2YVNjcmlwdEZsYWdzKGphdmFTY3JpcHRGbGFncyk7CisgICAgICAgIHNoZWxsLnNldFN0cmVz
c09wdChzdHJlc3NPcHQpOworICAgICAgICBzaGVsbC5zZXRTdHJlc3NEZW9wdChzdHJlc3NEZW9w
dCk7CiAgICAgICAgIGlmIChzZXJ2ZXJNb2RlICYmICF0ZXN0cy5zaXplKCkpIHsKICAgICAgICAg
ICAgIHBhcmFtcy5wcmludFNlcGFyYXRvcnMgPSB0cnVlOwogICAgICAgICAgICAgY2hhciB0ZXN0
U3RyaW5nWzIwNDhdOyAvLyAyMDQ4IGlzIHRoZSBzYW1lIGFzIHRoZSBzaXplcyBvZiBvdGhlciBw
bGF0Zm9ybXMuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHAJKHJldmlzaW9uIDc0ODg5KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsOCBAQCBUZXN0U2hlbGw6
OlRlc3RTaGVsbChib29sIHRlc3RTaGVsbE1vZGUpCiAgICAgLCBtX2FsbG93RXh0ZXJuYWxQYWdl
cyhmYWxzZSkKICAgICAsIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAg
ICAgLCBtX2FjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKGZhbHNlKQotICAgICwgbV9sb2FkQ291
bnQoMSkKKyAgICAsIG1fc3RyZXNzT3B0KGZhbHNlKQorICAgICwgbV9zdHJlc3NEZW9wdChmYWxz
ZSkKICAgICAsIG1fZHVtcFdoZW5GaW5pc2hlZCh0cnVlKQogewogICAgIFdlYlJ1bnRpbWVGZWF0
dXJlczo6ZW5hYmxlR2VvbG9jYXRpb24odHJ1ZSk7CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAkocmV2aXNpb24gNzQ4ODkpCisrKyBUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDE1ICsx
MzcsMTUgQEAgcHVibGljOgogICAgIGludCBsYXlvdXRUZXN0VGltZW91dEZvcldhdGNoRG9nKCkg
eyByZXR1cm4gbGF5b3V0VGVzdFRpbWVvdXQoKSArIDEwMDA7IH0KICAgICB2b2lkIHNldExheW91
dFRlc3RUaW1lb3V0KGludCB0aW1lb3V0KSB7IG1fdGltZW91dCA9IHRpbWVvdXQ7IH0KIAotICAg
IC8vIE51bWJlciBvZiB0aW1lcyB0byBsb2FkIGVhY2ggVVJMLgotICAgIGludCBsb2FkQ291bnQo
KSB7IHJldHVybiBtX2xvYWRDb3VudDsgfQotICAgIHZvaWQgc2V0TG9hZENvdW50KGludCBsb2Fk
Q291bnQpIHsgbV9sb2FkQ291bnQgPSBsb2FkQ291bnQ7IH0KLQotICAgIC8vIFRoZSBKYXZhU2Ny
aXB0IGZsYWdzIGFyZSBzcGVjaWZpZWQgYXMgYSB2ZWN0b3Igb2Ygc3RyaW5ncy4gRWFjaCBlbGVt
ZW50IG9mIHRoZSB2ZWN0b3IgaXMgZnVsbCBmbGFncyBzdHJpbmcKLSAgICAvLyB3aGljaCBjYW4g
Y29udGFpbiBtdWx0aXBsZSBmbGFncyAoZS5nLiAiLS14eHggLS15eXkiKS4gV2l0aCBtdWx0aXBs
ZSBsb2FkIHRlc3RpbmcgaXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeQotICAgIC8vIHNlcGFyYXRl
IHNldHMgb2YgZmxhZ3MgdG8gZWFjaCBsb2FkLgotICAgIHN0ZDo6c3RyaW5nIGphdmFTY3JpcHRG
bGFnc0ZvckxvYWQoc2l6ZV90IGxvYWQpIHsgcmV0dXJuIChsb2FkIDwgbV9qYXZhU2NyaXB0Rmxh
Z3Muc2l6ZSgpKSA/IG1famF2YVNjcmlwdEZsYWdzW2xvYWRdIDogIiI7IH0KLSAgICB2b2lkIHNl
dEphdmFTY3JpcHRGbGFncyhWZWN0b3I8c3RkOjpzdHJpbmc+IGphdmFTY3JpcHRGbGFncykgeyBt
X2phdmFTY3JpcHRGbGFncyA9IGphdmFTY3JpcHRGbGFnczsgfQorICAgIC8vIFY4IEphdmFTY3Jp
cHQgc3RyZXNzIHRlc3Qgb3B0aW9ucy4KKyAgICBpbnQgc3RyZXNzT3B0KCkgeyByZXR1cm4gbV9z
dHJlc3NPcHQ7IH0KKyAgICB2b2lkIHNldFN0cmVzc09wdChib29sIHN0cmVzc09wdCkgeyBtX3N0
cmVzc09wdCA9IHN0cmVzc09wdDsgfQorICAgIGludCBzdHJlc3NEZW9wdCgpIHsgcmV0dXJuIG1f
c3RyZXNzRGVvcHQ7IH0KKyAgICB2b2lkIHNldFN0cmVzc0Rlb3B0KGludCBzdHJlc3NEZW9wdCkg
eyBtX3N0cmVzc0Rlb3B0ID0gc3RyZXNzRGVvcHQ7IH0KKworICAgIC8vIFRoZSBKYXZhU2NyaXB0
IGZsYWdzIHNwZWNpZmllZCBhcyBhIHN0cmluZ3MuCisgICAgc3RkOjpzdHJpbmcgamF2YVNjcmlw
dEZsYWdzKCkgeyByZXR1cm4gbV9qYXZhU2NyaXB0RmxhZ3M7IH0KKyAgICB2b2lkIHNldEphdmFT
Y3JpcHRGbGFncyhzdGQ6OnN0cmluZyBqYXZhU2NyaXB0RmxhZ3MpIHsgbV9qYXZhU2NyaXB0Rmxh
Z3MgPSBqYXZhU2NyaXB0RmxhZ3M7IH0KIAogICAgIC8vIFNldCB3aGV0aGVyIHRvIGR1bXAgd2hl
biB0aGUgbG9hZGVkIHBhZ2UgaGFzIGZpbmlzaGVkIHByb2Nlc3NpbmcuIFRoaXMgaXMgdXNlZCB3
aXRoIG11bHRpcGxlIGxvYWQKICAgICAvLyB0ZXN0aW5nIHdoZXJlIHdlIG9ubHkgd2FudCB0byBo
YXZlIHRoZSBvdXRwdXQgZnJvbSB0aGUgbGFzdCBsb2FkLgpAQCAtMTk5LDggKzE5OSw5IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkOwogICAgIGJv
b2wgbV9hY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZDsKICAgICBXZWJQcmVmZXJlbmNlcyBtX3By
ZWZzOwotICAgIGludCBtX2xvYWRDb3VudDsKLSAgICBWZWN0b3I8c3RkOjpzdHJpbmc+IG1famF2
YVNjcmlwdEZsYWdzOworICAgIGJvb2wgbV9zdHJlc3NPcHQ7CisgICAgYm9vbCBtX3N0cmVzc0Rl
b3B0OworICAgIHN0ZDo6c3RyaW5nIG1famF2YVNjcmlwdEZsYWdzOwogICAgIGJvb2wgbV9kdW1w
V2hlbkZpbmlzaGVkOwogCiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3J1bl93ZWJraXRfdGVzdHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQkocmV2aXNpb24gNzQ4ODkpCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsMTAgKzIxNSwxNCBAQCBkZWYgcGFyc2VfYXJncyhhcmdz
PU5vbmUpOgogICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgaGVscD0iY3JlYXRlIGEgZGlhbG9n
IG9uIER1bXBSZW5kZXJUcmVlIHN0YXJ0dXAiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRp
b24oIi0tZ3AtZmF1bHQtZXJyb3ItYm94IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKICAgICAgICAg
ICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9ImVuYWJsZSBXaW5kb3dzIEdQIGZhdWx0IGVycm9yIGJv
eCIpLAotICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1tdWx0aXBsZS1sb2FkcyIsCi0g
ICAgICAgICAgICB0eXBlPSJpbnQiLCBoZWxwPSJ0dXJuIG9uIG11bHRpcGxlIGxvYWRzIG9mIGVh
Y2ggdGVzdCIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1qcy1mbGFncyIsCiAg
ICAgICAgICAgICB0eXBlPSJzdHJpbmciLCBoZWxwPSJKYXZhU2NyaXB0IGZsYWdzIHRvIHBhc3Mg
dG8gdGVzdHMiKSwKKyAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc3RyZXNzLW9wdCIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAg
ICAgICAgaGVscD0iRW5hYmxlIGFkZGl0aW9uYWwgc3RyZXNzIHRlc3QgdG8gSmF2YVNjcmlwdCBv
cHRpbWl6YXRpb24iKSwKKyAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc3RyZXNzLWRl
b3B0IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCisg
ICAgICAgICAgICBoZWxwPSJFbmFibGUgYWRkaXRpb25hbCBzdHJlc3MgdGVzdCB0byBKYXZhU2Ny
aXB0IG9wdGltaXphdGlvbiIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1ub2No
ZWNrLXN5cy1kZXBzIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKICAgICAgICAgICAgIGRlZmF1bHQ9
RmFsc2UsCiAgICAgICAgICAgICBoZWxwPSJEb24ndCBjaGVjayB0aGUgc3lzdGVtIGRlcGVuZGVu
Y2llcyAodGhlbWVzKSIpLApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jaHJvbWl1bS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5CShyZXZpc2lvbiA3NDg4OSkKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTM4MCw4ICszODAsMTEgQEAgY2xhc3MgQ2hyb21pdW1Ecml2ZXIoYmFzZS5Ecml2
ZXIpOgogICAgICAgICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24oJ2pzX2ZsYWdzJykgaXMgbm90
IE5vbmU6CiAgICAgICAgICAgICBjbWQuYXBwZW5kKCctLWpzLWZsYWdzPSInICsgc2VsZi5fcG9y
dC5nZXRfb3B0aW9uKCdqc19mbGFncycpICsgJyInKQogCi0gICAgICAgIGlmIHNlbGYuX3BvcnQu
Z2V0X29wdGlvbignbXVsdGlwbGVfbG9hZHMnKSA+IDA6Ci0gICAgICAgICAgICBjbWQuYXBwZW5k
KCctLW11bHRpcGxlLWxvYWRzPScgKyBzdHIoc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdtdWx0aXBs
ZV9sb2FkcycpKSkKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdzdHJlc3Nfb3B0
Jyk6CisgICAgICAgICAgICBjbWQuYXBwZW5kKCctLXN0cmVzcy1vcHQnKQorCisgICAgICAgIGlm
IHNlbGYuX3BvcnQuZ2V0X29wdGlvbignc3RyZXNzX2Rlb3B0Jyk6CisgICAgICAgICAgICBjbWQu
YXBwZW5kKCctLXN0cmVzcy1kZW9wdCcpCiAKICAgICAgICAgIyB0ZXN0X3NoZWxsIGRvZXMgbm90
IHN1cHBvcnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcuCiAgICAgICAgIGlmIG5vdCBzZWxmLl9w
b3J0LmdldF9vcHRpb24oInVzZV90ZXN0X3NoZWxsIik6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>