<?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>46907</bug_id>
          
          <creation_ts>2010-09-30 08:56:54 -0700</creation_ts>
          <short_desc>[Chromium] Enable webkit unit tests in chromium multi-dll build</short_desc>
          <delta_ts>2010-10-06 19:22:32 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</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="Victor Wang">victorw</reporter>
          <assigned_to name="Victor Wang">victorw</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>287572</commentid>
    <comment_count>0</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-09-30 08:56:54 -0700</bug_when>
    <thetext>In chromium Windows multi-dll build, webkit is built as a shared library (dll). To run the webkit unit tests in this mode, we need to compile the unit tests code in the webkit.dll and export an webkit api that launches all the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287588</commentid>
    <comment_count>1</comment_count>
      <attachid>69341</attachid>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-09-30 09:31:12 -0700</bug_when>
    <thetext>Created attachment 69341
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289001</commentid>
    <comment_count>2</comment_count>
      <attachid>69341</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-10-04 10:41:23 -0700</bug_when>
    <thetext>Comment on attachment 69341
Proposed Patch

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

&gt; WebKit/chromium/tests/RunAllTests.cpp:44
&gt; +#if defined(WIN32) &amp;&amp; defined(WEBKIT_DLL_UNITTEST)

is it possible to unify these two branches so that we can avoid the
#ifdef here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289159</commentid>
    <comment_count>3</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-10-04 14:46:24 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 69341 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69341&amp;action=review
&gt; 
&gt; &gt; WebKit/chromium/tests/RunAllTests.cpp:44
&gt; &gt; +#if defined(WIN32) &amp;&amp; defined(WEBKIT_DLL_UNITTEST)
&gt; 
&gt; is it possible to unify these two branches so that we can avoid the
&gt; #ifdef here?

Not sure a good way to do this. The atExitManager (TestSuite) must to be created before WebKit support SetUpTestEnvironment, but it can not be created more than once in the binary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289864</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-10-05 14:00:58 -0700</bug_when>
    <thetext>Also, it would be nice to avoid directly using base::AtExitManager from the WebKit code base.  We need to hide such dependencies.  Otherwise, it will be very difficult to ever rename AtExitManager or change the way it works (if we wanted to do so).  Circular dependencies between Chromium and WebKit repositories add pain.

I have some ideas about how to resolve this.  Perhaps we could introduce a method to webkit_support that makes a callback to run the tests.  Then, the details of how the AtExitManager gets initialized could live in the Chromium repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290490</commentid>
    <comment_count>5</comment_count>
      <attachid>69972</attachid>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-10-06 11:49:00 -0700</bug_when>
    <thetext>Created attachment 69972
Proposed Patch

Do not see a simple way to avoid #ifdef. New patch uploaded per our discussion, it hides the AtExitManager by creating a TestSuite instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290497</commentid>
    <comment_count>6</comment_count>
      <attachid>69972</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-10-06 11:56:35 -0700</bug_when>
    <thetext>Comment on attachment 69972
Proposed Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290623</commentid>
    <comment_count>7</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-10-06 15:35:21 -0700</bug_when>
    <thetext>Committed r69243: &lt;http://trac.webkit.org/changeset/69243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290689</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 16:55:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/69243 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290766</commentid>
    <comment_count>9</comment_count>
    <who name="Victor Wang">victorw</who>
    <bug_when>2010-10-06 19:22:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; http://trac.webkit.org/changeset/69243 might have broken Chromium Win Release

Think this is false alarm. The build was broken by another patch (http://trac.webkit.org/changeset/69247) and was fixed later (http://trac.webkit.org/changeset/69251).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69341</attachid>
            <date>2010-09-30 09:31:12 -0700</date>
            <delta_ts>2010-10-06 11:49:00 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>webunittests.patch</filename>
            <type>text/plain</type>
            <size>11881</size>
            <attacher name="Victor Wang">victorw</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjg3ODcpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDktMzAgIFZpY3Rv
ciBXYW5nICA8dmljdG9yd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgd2Via2l0IHVuaXQgdGVzdHMg
dG8gY2hyb21pdW0gbXVsdGktZGxsIGJ1aWxkLgorCisgICAgICAgIEluIGNocm9taXVtIG11bHRp
LWRsbCBidWlsZCBtb2RlLCBjb21waWxlIHRoZSB3ZWJraXQgdW5pdCB0ZXN0cworICAgICAgICBj
b2RlIGluIHdlYmtpdC5kbGwgYW5kIGV4cG9ydCBhbiBhcGkgdGhhdCBydW5zIHRoZSB0ZXN0cy4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY5MDcK
KworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogV2ViS2l0Lmd5cGk6CisgICAgICAg
ICogdGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogdGVz
dHMvV2ViVW5pdFRlc3RzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJ1bkFsbFVuaXRU
ZXN0cyk6CisgICAgICAgICogdGVzdHMvV2ViVW5pdFRlc3RzLmg6IEFkZGVkLgorCiAyMDEwLTA5
LTI5ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShyZXZpc2lvbiA2ODc4
NykKKysrIFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC01NTUs
NyArNTU1LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVf
YmluZGluZ3MnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS9iYXNlL2Jhc2UuZ3lwOnRlc3Rfc3VwcG9ydF9iYXNlJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYnVpbGQvdGVtcF9neXAvZ29v
Z2xldXJsLmd5cDpnb29nbGV1cmwnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
PChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2d0ZXN0Lmd5cDpndGVzdCcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L2lj
dS9pY3UuZ3lwOionLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJqcGVnL2xpYmpwZWcuZ3lwOmxpYmpwZWcnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9w
YXJ0eS9saWJwbmcvbGlicG5nLmd5cDpsaWJwbmcnLApAQCAtNTc2LDYgKzU3OCwxMyBAQAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9idWlsZC90
ZW1wX2d5cC9nb29nbGV1cmwuZ3lwOmdvb2dsZXVybCcsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Y4L3Rvb2xzL2d5cC92OC5neXA6djgnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJr
aXRfdW5pdHRlc3RfZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rl
c3RzL1BvcHVwTWVudVRlc3QuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3Rlc3RzL1RyYW5zcGFyZW5jeVdpblRlc3QuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3Rlc3RzL1VuaXNjcmliZUhlbHBlclRlc3QuY3BwJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAnCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICAgfV0sCiAgICAgICAgICAg
ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgfSwgewpAQCAtNzIwLDQwICs3MjksMzIgQEAK
IAogICAgICAgICB7CiAgICAgICAgICAgICAndGFyZ2V0X25hbWUnOiAnd2Via2l0X3VuaXRfdGVz
dHMnLAorICAgICAgICAgICAgJ3R5cGUnOiAnZXhlY3V0YWJsZScsCisgICAgICAgICAgICAnbXN2
c19ndWlkJzogJzdDRUZFODAwLTg0MDMtNDE4QS1BRDZBLTJENTJDNkZDM0VBRCcsCisgICAgICAg
ICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAgICAgICAgICd3ZWJraXQnLAorICAgICAg
ICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmUn
LAorICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Rlc3RpbmcvZ3Rlc3QuZ3lw
Omd0ZXN0JywKKyAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9iYXNlL2Jhc2Uu
Z3lwOmJhc2UnLAorICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jhc2UvYmFz
ZS5neXA6YmFzZV9pMThuJywKKyAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9i
YXNlL2Jhc2UuZ3lwOnRlc3Rfc3VwcG9ydF9iYXNlJywKKyAgICAgICAgICAgICAgICAnPChjaHJv
bWl1bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3N1
cHBvcnQnLAorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICdzb3VyY2VzJzogWworICAgICAg
ICAgICAgICAgICd0ZXN0cy9SdW5BbGxUZXN0cy5jcHAnLAorICAgICAgICAgICAgXSwKKyAgICAg
ICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAgICAgICAgICAgICAgJ3B1YmxpYycsCisgICAg
ICAgICAgICAgICAgJ3NyYycsCisgICAgICAgICAgICBdLAogICAgICAgICAgICAgJ2NvbmRpdGlv
bnMnOiBbCi0gICAgICAgICAgICAgICAgIyBGSVhNRTogbWFrZSB3ZWJraXQgdW5pdCB0ZXN0cyB3
b3JraW5nIGZvciBtdWx0aSBkbGwgYnVpbGQuCiAgICAgICAgICAgICAgICAgWydpbnNpZGVfY2hy
b21pdW1fYnVpbGQ9PTEgYW5kIE9TPT0id2luIiBhbmQgY29tcG9uZW50PT0ic2hhcmVkX2xpYnJh
cnkiJywgewotICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICdub25lJywKLSAgICAgICAgICAg
ICAgICB9LCB7Ci0gICAgICAgICAgICAgICAgICAgICd0eXBlJzogJ2V4ZWN1dGFibGUnLAotICAg
ICAgICAgICAgICAgICAgICAnbXN2c19ndWlkJzogJzdDRUZFODAwLTg0MDMtNDE4QS1BRDZBLTJE
NTJDNkZDM0VBRCcsCi0gICAgICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCi0gICAg
ICAgICAgICAgICAgICAgICAgICAnd2Via2l0JywKLSAgICAgICAgICAgICAgICAgICAgICAgICcu
Li8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmUnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5neXA6Z3Rl
c3QnLAotICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYmFzZS9i
YXNlLmd5cDpiYXNlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL2Jhc2UvYmFzZS5neXA6YmFzZV9pMThuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICc8
KGNocm9taXVtX3NyY19kaXIpL2Jhc2UvYmFzZS5neXA6dGVzdF9zdXBwb3J0X2Jhc2UnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0L3N1cHBvcnQv
d2Via2l0X3N1cHBvcnQuZ3lwOndlYmtpdF9zdXBwb3J0JywKLSAgICAgICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICdwdWJsaWMnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYycsCisgICAg
ICAgICAgICAgICAgICAgICdkZWZpbmVzJzogWworICAgICAgICAgICAgICAgICAgICAgICAgJ1dF
QktJVF9ETExfVU5JVFRFU1QnLAogICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAg
ICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICAndGVzdHMvQXJlbmFUZXN0SGVscGVycy5oJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICd0ZXN0cy9EcmFnSW1hZ2VUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAndGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICd0ZXN0cy9JREJLZXlQYXRoVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3RzL0tleWJvYXJkVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3Rl
c3RzL0tVUkxUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUE9EQXJl
bmFUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUE9ESW50ZXJ2YWxU
cmVlVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1BPRFJlZEJsYWNr
VHJlZVRlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9SdW5BbGxUZXN0
cy5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1RpbGluZ0RhdGFUZXN0LmNw
cCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxwZXJzLmNwcCcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxwZXJzLmgnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcyknLAogICAgICAg
ICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAg
ICAgICAgICAgICAgICAgICAgICAgIFsnT1M9PSJ3aW4iJywgewpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
aQkocmV2aXNpb24gNjg3ODcpCisrKyBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTUxLDYgKzUxLDIwIEBACiAgICAgICAgICAgICAnc3JjL2pzL0ltYWdlcy9z
dGF0dXNiYXJNZW51QnV0dG9uQ2hyb21pdW0ucG5nJywKICAgICAgICAgICAgICdzcmMvanMvSW1h
Z2VzL3N0YXR1c2Jhck1lbnVCdXR0b25TZWxlY3RlZENocm9taXVtLnBuZycsCiAgICAgICAgIF0s
CisgICAgICAgICd3ZWJraXRfdW5pdHRlc3RfZmlsZXMnOiBbCisgICAgICAgICAgICAndGVzdHMv
QXJlbmFUZXN0SGVscGVycy5oJywKKyAgICAgICAgICAgICd0ZXN0cy9EcmFnSW1hZ2VUZXN0LmNw
cCcsCisgICAgICAgICAgICAndGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwJywKKyAg
ICAgICAgICAgICd0ZXN0cy9JREJLZXlQYXRoVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3Rz
L0tleWJvYXJkVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL0tVUkxUZXN0LmNwcCcsCisg
ICAgICAgICAgICAndGVzdHMvUE9EQXJlbmFUZXN0LmNwcCcsCisgICAgICAgICAgICAndGVzdHMv
UE9ESW50ZXJ2YWxUcmVlVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL1BPRFJlZEJsYWNr
VHJlZVRlc3QuY3BwJywKKyAgICAgICAgICAgICd0ZXN0cy9UaWxpbmdEYXRhVGVzdC5jcHAnLAor
ICAgICAgICAgICAgJ3Rlc3RzL1RyZWVUZXN0SGVscGVycy5jcHAnLAorICAgICAgICAgICAgJ3Rl
c3RzL1RyZWVUZXN0SGVscGVycy5oJywKKyAgICAgICAgXSwKICAgICB9LAogfQogCkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAJKHJldmlzaW9uIDY4Nzg3KQorKysgV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
MTMgKzM1LDI0IEBACiAjaW5jbHVkZSAiV2ViS2l0Q2xpZW50LmgiCiAjaW5jbHVkZSA8d2Via2l0
L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaD4KIAorI2lmIGRlZmluZWQoV0lOMzIpICYmIGRlZmlu
ZWQoV0VCS0lUX0RMTF9VTklUVEVTVCkKKyNpbmNsdWRlICJXZWJVbml0VGVzdHMuaCIKKyNlbmRp
ZgorCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CisjaWYgZGVmaW5lZChXSU4z
MikgJiYgZGVmaW5lZChXRUJLSVRfRExMX1VOSVRURVNUKQorICAgIGJhc2U6OkF0RXhpdE1hbmFn
ZXIgYXRFeGl0TWFuYWdlcjsKKyAgICB3ZWJraXRfc3VwcG9ydDo6U2V0VXBUZXN0RW52aXJvbm1l
bnRGb3JVbml0VGVzdHMoKTsKKyAgICBpbnQgcmVzdWx0ID0gV2ViS2l0OjpSdW5BbGxVbml0VGVz
dHMoYXJnYywgYXJndik7CisjZWxzZQogICAgIFRlc3RTdWl0ZSB0ZXN0U3VpdGUoYXJnYywgYXJn
dik7CiAgICAgLy8gVGVzdFN1aXRlIG11c3QgYmUgY3JlYXRlZCBiZWZvcmUgU2V0VXBUZXN0RW52
aXJvbm1lbnQgc28gaXQgcGVyZm9ybXMKICAgICAvLyBpbml0aWFsaXphdGlvbnMgbmVlZGVkIGJ5
IFdlYktpdCBzdXBwb3J0LgogICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRVcFRlc3RFbnZpcm9ubWVu
dEZvclVuaXRUZXN0cygpOwogICAgIGludCByZXN1bHQgPSB0ZXN0U3VpdGUuUnVuKCk7CisjZW5k
aWYKKwogICAgIHdlYmtpdF9zdXBwb3J0OjpUZWFyRG93blRlc3RFbnZpcm9ubWVudCgpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRl
c3RzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3Rz
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldlYlVuaXRUZXN0cy5oIgorCisjaW5jbHVkZSA8YmFzZS90ZXN0L3Rlc3Rfc3VpdGUu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2ludCBSdW5BbGxVbml0VGVzdHMoaW50IGFyZ2Ms
IGNoYXIqKiBhcmd2KQoreworICAgIFRlc3RTdWl0ZSB0ZXN0U3VpdGUoYXJnYywgYXJndik7Cisg
ICAgcmV0dXJuIHRlc3RTdWl0ZS5SdW4oKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmNw
cApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBXZWJLaXQv
Y2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1dlYlVuaXRUZXN0cy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBXZWJVbml0VGVzdHNfaAorI2RlZmluZSBXZWJVbml0VGVzdHNfaAorCisjaW5jbHVkZSAiV2Vi
Q29tbW9uLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBJbiBjaHJvbWl1bSBtdWx0aS1k
bGwgYnVpbGQsIHdlYmtpdCB1bml0dGVzdCBjb2RlIGFyZSBjb21waWxlZCBpbiB3ZWJraXQuZGxs
LgorLy8gVGhpcyBpcyB0aGUgQVBJIHRvIHJ1biBhbGwgdW5pdHRlc3RzIGluc2lkZSB3ZWJraXQu
ZGxsLgorV0VCS0lUX0FQSSBpbnQgUnVuQWxsVW5pdFRlc3RzKGludCBhcmdjLCBjaGFyKiogYXJn
dik7CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKClByb3BlcnR5IGNoYW5nZXMg
b246IFdlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVbml0VGVzdHMuaApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69972</attachid>
            <date>2010-10-06 11:49:00 -0700</date>
            <delta_ts>2010-10-06 11:56:34 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>webunittests.patch</filename>
            <type>text/plain</type>
            <size>11927</size>
            <attacher name="Victor Wang">victorw</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjkyMTQpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMTAtMDUgIFZpY3Rv
ciBXYW5nICA8dmljdG9yd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgd2Via2l0IHVuaXQgdGVzdHMg
dG8gY2hyb21pdW0gbXVsdGktZGxsIGJ1aWxkLgorCisgICAgICAgIEluIGNocm9taXVtIG11bHRp
LWRsbCBidWlsZCBtb2RlLCBjb21waWxlIHRoZSB3ZWJraXQgdW5pdCB0ZXN0cworICAgICAgICBj
b2RlIGluIHdlYmtpdC5kbGwgYW5kIGV4cG9ydCBhbiBhcGkgdGhhdCBydW5zIHRoZSB0ZXN0cy4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY5MDcK
KworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogV2ViS2l0Lmd5cGk6CisgICAgICAg
ICogdGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogdGVz
dHMvV2ViVW5pdFRlc3RzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJ1bkFsbFVuaXRU
ZXN0cyk6CisgICAgICAgICogdGVzdHMvV2ViVW5pdFRlc3RzLmg6IEFkZGVkLgorCiAyMDEwLTEw
LTA1ICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5hdGUgQ2hhcGluLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDY5MjE0KQor
KysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTU1Niw3ICs1
NTYsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZV9iaW5k
aW5ncycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL2Jhc2UvYmFzZS5neXA6dGVzdF9zdXBwb3J0X2Jhc2UnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9idWlsZC90ZW1wX2d5cC9nb29nbGV1
cmwuZ3lwOmdvb2dsZXVybCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNo
cm9taXVtX3NyY19kaXIpL3Rlc3RpbmcvZ3Rlc3QuZ3lwOmd0ZXN0JywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGhpcmRfcGFydHkvaWN1L2lj
dS5neXA6KicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3Ny
Y19kaXIpL3RoaXJkX3BhcnR5L2xpYmpwZWcvbGlianBlZy5neXA6bGlianBlZycsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5
L2xpYnBuZy9saWJwbmcuZ3lwOmxpYnBuZycsCkBAIC01NzcsNiArNTc5LDEzIEBACiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBf
Z3lwL2dvb2dsZXVybC5neXA6Z29vZ2xldXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdjgvdG9vbHMvZ3lwL3Y4Lmd5cDp2OCcsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
c291cmNlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmtpdF91
bml0dGVzdF9maWxlcyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMv
UG9wdXBNZW51VGVzdC5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVz
dHMvVHJhbnNwYXJlbmN5V2luVGVzdC5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAndGVzdHMvVW5pc2NyaWJlSGVscGVyVGVzdC5jcHAnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAndGVzdHMvV2ViVW5pdFRlc3RzLmNwcCcKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgICAgICAgICB9XSwKICAgICAgICAgICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgICAgICB9LCB7CkBAIC03MjEsNDAgKzczMCwzMiBAQAogCiAg
ICAgICAgIHsKICAgICAgICAgICAgICd0YXJnZXRfbmFtZSc6ICd3ZWJraXRfdW5pdF90ZXN0cycs
CisgICAgICAgICAgICAndHlwZSc6ICdleGVjdXRhYmxlJywKKyAgICAgICAgICAgICdtc3ZzX2d1
aWQnOiAnN0NFRkU4MDAtODQwMy00MThBLUFENkEtMkQ1MkM2RkMzRUFEJywKKyAgICAgICAgICAg
ICdkZXBlbmRlbmNpZXMnOiBbCisgICAgICAgICAgICAgICAgJ3dlYmtpdCcsCisgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZScsCisg
ICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5neXA6Z3Rl
c3QnLAorICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jhc2UvYmFzZS5neXA6
YmFzZScsCisgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYmFzZS9iYXNlLmd5
cDpiYXNlX2kxOG4nLAorICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jhc2Uv
YmFzZS5neXA6dGVzdF9zdXBwb3J0X2Jhc2UnLAorICAgICAgICAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL3dlYmtpdC9zdXBwb3J0L3dlYmtpdF9zdXBwb3J0Lmd5cDp3ZWJraXRfc3VwcG9y
dCcsCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICAg
ICAgICAgJ3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCcsCisgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgJ2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgICAncHVibGljJywKKyAgICAgICAg
ICAgICAgICAnc3JjJywKKyAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6
IFsKLSAgICAgICAgICAgICAgICAjIEZJWE1FOiBtYWtlIHdlYmtpdCB1bml0IHRlc3RzIHdvcmtp
bmcgZm9yIG11bHRpIGRsbCBidWlsZC4KICAgICAgICAgICAgICAgICBbJ2luc2lkZV9jaHJvbWl1
bV9idWlsZD09MSBhbmQgT1M9PSJ3aW4iIGFuZCBjb21wb25lbnQ9PSJzaGFyZWRfbGlicmFyeSIn
LCB7Ci0gICAgICAgICAgICAgICAgICAgICd0eXBlJzogJ25vbmUnLAotICAgICAgICAgICAgICAg
IH0sIHsKLSAgICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAnZXhlY3V0YWJsZScsCi0gICAgICAg
ICAgICAgICAgICAgICdtc3ZzX2d1aWQnOiAnN0NFRkU4MDAtODQwMy00MThBLUFENkEtMkQ1MkM2
RkMzRUFEJywKLSAgICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICd3ZWJraXQnLAotICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4u
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZScsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2d0ZXN0Lmd5cDpndGVzdCcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9iYXNlL2Jhc2Uu
Z3lwOmJhc2UnLAotICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikv
YmFzZS9iYXNlLmd5cDpiYXNlX2kxOG4nLAotICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hy
b21pdW1fc3JjX2RpcikvYmFzZS9iYXNlLmd5cDp0ZXN0X3N1cHBvcnRfYmFzZScsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJr
aXRfc3VwcG9ydC5neXA6d2Via2l0X3N1cHBvcnQnLAotICAgICAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwotICAgICAgICAgICAgICAgICAg
ICAgICAgJ3B1YmxpYycsCi0gICAgICAgICAgICAgICAgICAgICAgICAnc3JjJywKKyAgICAgICAg
ICAgICAgICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAnV0VCS0lU
X0RMTF9VTklUVEVTVCcsCiAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAg
fSwgewogICAgICAgICAgICAgICAgICAgICAnc291cmNlcyc6IFsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICd0ZXN0cy9BcmVuYVRlc3RIZWxwZXJzLmgnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3RzL0RyYWdJbWFnZVRlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICd0
ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3RzL0lEQktleVBhdGhUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAn
dGVzdHMvS2V5Ym9hcmRUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMv
S1VSTFRlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9QT0RBcmVuYVRl
c3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9QT0RJbnRlcnZhbFRyZWVU
ZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUE9EUmVkQmxhY2tUcmVl
VGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1J1bkFsbFRlc3RzLmNw
cCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvVGlsaW5nRGF0YVRlc3QuY3BwJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9UcmVlVGVzdEhlbHBlcnMuY3BwJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9UcmVlVGVzdEhlbHBlcnMuaCcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCiAgICAgICAgICAg
ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAg
ICAgICAgICAgICAgICAgICAgWydPUz09IndpbiInLCB7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCShy
ZXZpc2lvbiA2OTIxNCkKKysrIFdlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQkod29ya2luZyBj
b3B5KQpAQCAtNTEsNiArNTEsMjAgQEAKICAgICAgICAgICAgICdzcmMvanMvSW1hZ2VzL3N0YXR1
c2Jhck1lbnVCdXR0b25DaHJvbWl1bS5wbmcnLAogICAgICAgICAgICAgJ3NyYy9qcy9JbWFnZXMv
c3RhdHVzYmFyTWVudUJ1dHRvblNlbGVjdGVkQ2hyb21pdW0ucG5nJywKICAgICAgICAgXSwKKyAg
ICAgICAgJ3dlYmtpdF91bml0dGVzdF9maWxlcyc6IFsKKyAgICAgICAgICAgICd0ZXN0cy9BcmVu
YVRlc3RIZWxwZXJzLmgnLAorICAgICAgICAgICAgJ3Rlc3RzL0RyYWdJbWFnZVRlc3QuY3BwJywK
KyAgICAgICAgICAgICd0ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAnLAorICAgICAg
ICAgICAgJ3Rlc3RzL0lEQktleVBhdGhUZXN0LmNwcCcsCisgICAgICAgICAgICAndGVzdHMvS2V5
Ym9hcmRUZXN0LmNwcCcsCisgICAgICAgICAgICAndGVzdHMvS1VSTFRlc3QuY3BwJywKKyAgICAg
ICAgICAgICd0ZXN0cy9QT0RBcmVuYVRlc3QuY3BwJywKKyAgICAgICAgICAgICd0ZXN0cy9QT0RJ
bnRlcnZhbFRyZWVUZXN0LmNwcCcsCisgICAgICAgICAgICAndGVzdHMvUE9EUmVkQmxhY2tUcmVl
VGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL1RpbGluZ0RhdGFUZXN0LmNwcCcsCisgICAg
ICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxwZXJzLmNwcCcsCisgICAgICAgICAgICAndGVzdHMv
VHJlZVRlc3RIZWxwZXJzLmgnLAorICAgICAgICBdLAogICAgIH0sCiB9CiAKSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcAkocmV2aXNpb24gNjkyMTQpCisrKyBXZWJLaXQv
Y2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxMyAr
MzUsMjUgQEAKICNpbmNsdWRlICJXZWJLaXRDbGllbnQuaCIKICNpbmNsdWRlIDx3ZWJraXQvc3Vw
cG9ydC93ZWJraXRfc3VwcG9ydC5oPgogCisjaWYgZGVmaW5lZChXSU4zMikgJiYgZGVmaW5lZChX
RUJLSVRfRExMX1VOSVRURVNUKQorI2luY2x1ZGUgIldlYlVuaXRUZXN0cy5oIgorI2VuZGlmCisK
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKICAgICBUZXN0U3VpdGUgdGVzdFN1
aXRlKGFyZ2MsIGFyZ3YpOwogICAgIC8vIFRlc3RTdWl0ZSBtdXN0IGJlIGNyZWF0ZWQgYmVmb3Jl
IFNldFVwVGVzdEVudmlyb25tZW50IHNvIGl0IHBlcmZvcm1zCiAgICAgLy8gaW5pdGlhbGl6YXRp
b25zIG5lZWRlZCBieSBXZWJLaXQgc3VwcG9ydC4KICAgICB3ZWJraXRfc3VwcG9ydDo6U2V0VXBU
ZXN0RW52aXJvbm1lbnRGb3JVbml0VGVzdHMoKTsKKworI2lmIGRlZmluZWQoV0lOMzIpICYmIGRl
ZmluZWQoV0VCS0lUX0RMTF9VTklUVEVTVCkKKyAgICAvLyBGb3IgY2hyb21pdW0gbXVsdGktZGxs
IGJ1aWxkLCBuZWVkIHRvIGNhbGwgd2Via2l0IGFwaSB0byBjcmVhdGUgYQorICAgIC8vIFRlc3RT
dWl0ZSBpbnN0YW5jZSBpbiB3ZWJraXQuZGxsIGFuZCBydW4gYWxsIHRlc3RzIGZyb20gdGhlcmUu
CisgICAgaW50IHJlc3VsdCA9IFdlYktpdDo6UnVuQWxsVW5pdFRlc3RzKGFyZ2MsIGFyZ3YpOwor
I2Vsc2UKICAgICBpbnQgcmVzdWx0ID0gdGVzdFN1aXRlLlJ1bigpOworI2VuZGlmCisKICAgICB3
ZWJraXRfc3VwcG9ydDo6VGVhckRvd25UZXN0RW52aXJvbm1lbnQoKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAJKHJldmlz
aW9uIDApCisrKyBXZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJV
bml0VGVzdHMuaCIKKworI2luY2x1ZGUgPGJhc2UvdGVzdC90ZXN0X3N1aXRlLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitpbnQgUnVuQWxsVW5pdFRlc3RzKGludCBhcmdjLCBjaGFyKiogYXJn
dikKK3sKKyAgICBUZXN0U3VpdGUgdGVzdFN1aXRlKGFyZ2MsIGFyZ3YpOworICAgIHJldHVybiB0
ZXN0U3VpdGUuUnVuKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAoKUHJvcGVydHkgY2hh
bmdlcyBvbjogV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL1dlYlVuaXRUZXN0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9X
ZWJVbml0VGVzdHMuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJV
bml0VGVzdHMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViVW5pdFRl
c3RzX2gKKyNkZWZpbmUgV2ViVW5pdFRlc3RzX2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworLy8gSW4gY2hyb21pdW0gbXVsdGktZGxsIGJ1aWxkLCB3
ZWJraXQgdW5pdHRlc3QgY29kZSBhcmUgY29tcGlsZWQgaW4gd2Via2l0LmRsbC4KKy8vIFRoaXMg
aXMgdGhlIEFQSSB0byBydW4gYWxsIHVuaXR0ZXN0cyBpbnNpZGUgd2Via2l0LmRsbC4KK1dFQktJ
VF9BUEkgaW50IFJ1bkFsbFVuaXRUZXN0cyhpbnQgYXJnYywgY2hhcioqIGFyZ3YpOworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBXZWJLaXQv
Y2hyb21pdW0vdGVzdHMvV2ViVW5pdFRlc3RzLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1z
dHlsZQogICArIExGCgo=
</data>
<flag name="review"
          id="59744"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>