<?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>52671</bug_id>
          
          <creation_ts>2011-01-18 15:02:38 -0800</creation_ts>
          <short_desc>[chromium] [linux] if check-sys-deps fails, output the failure reason</short_desc>
          <delta_ts>2011-01-19 10:14:40 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>mihaip</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>336127</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-18 15:02:38 -0800</bug_when>
    <thetext>[chromium] [linux] if check-sys-deps fails, output the failure reason</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336128</commentid>
    <comment_count>1</comment_count>
      <attachid>79339</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-18 15:03:34 -0800</bug_when>
    <thetext>Created attachment 79339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336130</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-18 15:05:00 -0800</bug_when>
    <thetext>Previously, if you didn&apos;t have all the right fonts installed on Linux, NRWT would fail with the following output:

2011-01-18 12:25:45,331 13914 metered_stream.py:126 INFO Starting helper ...
2011-01-18 12:25:45,331 13914 metered_stream.py:126 INFO Checking system dependencies ...
2011-01-18 12:25:45,542 13914 executive.py:365 DEBUG &quot;/src/chrome/src/out/Release/DumpRenderTree --check-layout-test-sys-deps&quot; took 0.21s
2011-01-18 12:25:45,543 13914 chromium.py:131 ERROR System dependencies check failed.
2011-01-18 12:25:45,543 13914 chromium.py:132 ERROR To override, invoke with --nocheck-sys-deps
2011-01-18 12:25:45,543 13914 chromium.py:133 ERROR 

With this change, we include the actual error text. E.g.,

2011-01-18 12:25:45,543 13914 chromium.py:134 ERROR You are missing /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf. Try installing msttcorefonts. Also see http://code.google.com/p/chromium/wiki/LinuxBuildInstructions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336140</commentid>
    <comment_count>3</comment_count>
      <attachid>79339</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-18 15:20:32 -0800</bug_when>
    <thetext>Comment on attachment 79339
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:127
&gt; +        def error_handler(script_error, error=local_error):

Is the error argument necessary (vs. referencing local_error inside directly)? You never actually use it.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py:197
&gt; +        class MockExecute:

Call this MockExecutive? Also, we already have webkitpy.common.system.executive_mock.MockExecutive2 and webkitpy.tool.mocktool.MockExecutive, albeit neither one does things with the error_handler.

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py:215
&gt; +        needs_http = False

Not sure why this necessary (vs. using a named argument)

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py:220
&gt; +        class MockLog:

webkitpy.common.system.logtesting.LoggingTestCase should let you check that things get logged without having to do your own MockLog class or monkey-patching chromium._log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336189</commentid>
    <comment_count>4</comment_count>
      <attachid>79351</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-18 16:15:41 -0800</bug_when>
    <thetext>Created attachment 79351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336195</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-18 16:25:03 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 79339 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=79339&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium.py:127
&gt; &gt; +        def error_handler(script_error, error=local_error):
&gt; 
&gt; Is the error argument necessary (vs. referencing local_error inside directly)? You never actually use it.

It is necessary because python scoping is weird.  See http://www.python.org/dev/peps/pep-3104/.  There&apos;s only global scope and local scope so this allows us to access local_error without making it global.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py:197
&gt; &gt; +        class MockExecute:
&gt; 
&gt; Call this MockExecutive? Also, we already have webkitpy.common.system.executive_mock.MockExecutive2 and webkitpy.tool.mocktool.MockExecutive, albeit neither one does things with the error_handler.

I didn&apos;t know about those.  Switched to using webkitpy.common.system.executive_mock.MockExecutive2 for this test and test_diff_image.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py:215
&gt; &gt; +        needs_http = False
&gt; 
&gt; Not sure why this necessary (vs. using a named argument)

Switched to a named argument.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py:220
&gt; &gt; +        class MockLog:
&gt; 
&gt; webkitpy.common.system.logtesting.LoggingTestCase should let you check that things get logged without having to do your own MockLog class or monkey-patching chromium._log.

I didn&apos;t know about this either!  Switched to using LoggingTestCase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336530</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2011-01-19 07:58:09 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; It is necessary because python scoping is weird.  See http://www.python.org/dev/peps/pep-3104/.  There&apos;s only global scope and local scope so this allows us to access local_error without making it global.

That says that Python 2.1 moved closer to static nested scoping. The second make_scoreboard example (with the Namespace class) is basically what you&apos;re doing, as far as modifying an outer variable (but not assigning to it, which still doesn&apos;t work).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336592</commentid>
    <comment_count>7</comment_count>
      <attachid>79441</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-19 09:57:46 -0800</bug_when>
    <thetext>Created attachment 79441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336594</commentid>
    <comment_count>8</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-19 09:58:41 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; It is necessary because python scoping is weird.  See http://www.python.org/dev/peps/pep-3104/.  There&apos;s only global scope and local scope so this allows us to access local_error without making it global.
&gt; 
&gt; That says that Python 2.1 moved closer to static nested scoping. The second make_scoreboard example (with the Namespace class) is basically what you&apos;re doing, as far as modifying an outer variable (but not assigning to it, which still doesn&apos;t work).

You are absolutely correct!  Sorry for not trying it.  Updated to just access local_error directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336608</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-01-19 10:14:40 -0800</bug_when>
    <thetext>Committed r76134: &lt;http://trac.webkit.org/changeset/76134&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79339</attachid>
            <date>2011-01-18 15:03:34 -0800</date>
            <delta_ts>2011-01-18 16:15:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52671-20110118150452.patch</filename>
            <type>text/plain</type>
            <size>4591</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZDYx
YzA4NDBjODY4NzUzZTNiNmMxNDU2OGQ3NGJjMTIyNDMzOGM5Li5jOWQzOTNjYjg5OWQ2YzkyODY3
N2I5NjA5OWZkNzQxYjAzOGJlYTBlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMTggIFRvbnkgQ2hhbmcg
IDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbY2hyb21pdW1dIFtsaW51eF0gaWYgY2hlY2stc3lzLWRlcHMgZmFpbHMs
IG91dHB1dCB0aGUgZmFpbHVyZSByZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNjcxCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5OgorICAgICAgICAgICAgb3V0cHV0IHRoZSBlcnJv
ciB0ZXh0IGZyb20gLS1jaGVjay1zeXMtZGVwcworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHk6CisKIDIwMTEtMDEtMTggIEd5
dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkKaW5kZXggN2U5MzRhODIwZjM5N2M1MjIwMjc0NzRlMTlh
NTdiYmE2OWU3NGFjYy4uODU5ZTg0M2QxODdhZDBjZThiMTJmOWNkY2EwMTgyMTNiNTU2ODVkOSAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtLnB5CkBAIC00NCw2ICs0NCw3IEBAIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHRpbWUK
IGltcG9ydCB3ZWJicm93c2VyCiAKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQg
ZXhlY3V0aXZlCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ucGF0aCBpbXBvcnQgY3lncGF0
aAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IHRlc3Rf
ZXhwZWN0YXRpb25zCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZSBp
bXBvcnQgdGVzdF9vdXRwdXQKQEAgLTEyMCwxMCArMTIxLDE4IEBAIGNsYXNzIENocm9taXVtUG9y
dChiYXNlLlBvcnQpOgogCiAgICAgZGVmIGNoZWNrX3N5c19kZXBzKHNlbGYsIG5lZWRzX2h0dHAp
OgogICAgICAgICBjbWQgPSBbc2VsZi5fcGF0aF90b19kcml2ZXIoKSwgJy0tY2hlY2stbGF5b3V0
LXRlc3Qtc3lzLWRlcHMnXQotICAgICAgICBpZiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQo
Y21kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpOgorCisgICAgICAgIGxvY2FsX2Vycm9yID0gZXhl
Y3V0aXZlLlNjcmlwdEVycm9yKCkKKworICAgICAgICBkZWYgZXJyb3JfaGFuZGxlcihzY3JpcHRf
ZXJyb3IsIGVycm9yPWxvY2FsX2Vycm9yKToKKyAgICAgICAgICAgIGVycm9yLmV4aXRfY29kZSA9
IHNjcmlwdF9lcnJvci5leGl0X2NvZGUKKworICAgICAgICBvdXRwdXQgPSBzZWxmLl9leGVjdXRp
dmUucnVuX2NvbW1hbmQoY21kLCBlcnJvcl9oYW5kbGVyPWVycm9yX2hhbmRsZXIpCisgICAgICAg
IGlmIGxvY2FsX2Vycm9yLmV4aXRfY29kZToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoJ1N5c3Rl
bSBkZXBlbmRlbmNpZXMgY2hlY2sgZmFpbGVkLicpCiAgICAgICAgICAgICBfbG9nLmVycm9yKCdU
byBvdmVycmlkZSwgaW52b2tlIHdpdGggLS1ub2NoZWNrLXN5cy1kZXBzJykKICAgICAgICAgICAg
IF9sb2cuZXJyb3IoJycpCisgICAgICAgICAgICBfbG9nLmVycm9yKG91dHB1dCkKICAgICAgICAg
ICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gVHJ1ZQogCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weQppbmRleCBjODc5ODRmY2QxYmNmZjg4ZDVkMzdmNWNmMWJhZjRjMjc0YzJjYzc0Li40
ZDVhMzNlMjBlOWZkYTFkMWUzNmVjNzQwZDcyMjE1ZWQ1YTlkM2YyIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
dW5pdHRlc3QucHkKQEAgLTMwLDYgKzMwLDcgQEAgaW1wb3J0IG9zCiBpbXBvcnQgdW5pdHRlc3QK
IGltcG9ydCBTdHJpbmdJTwogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4
ZWN1dGl2ZQogZnJvbSB3ZWJraXRweS50b29sIGltcG9ydCBtb2NrdG9vbAogZnJvbSB3ZWJraXRw
eS50aGlyZHBhcnR5Lm1vY2sgaW1wb3J0IE1vY2sKIApAQCAtMTg5LDUgKzE5MCw1MyBAQCBMSU5V
WCBXSU4gOiBmYXN0L2pzL3ZlcnktZ29vZC5qcyA9IFRJTUVPVVQgUEFTUyIiIgogICAgICAgICAg
ICAgZXhjZXB0aW9uX3JhaXNlZCA9IFRydWUKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleGNl
cHRpb25fcmFpc2VkKQogCisgICAgZGVmIHRlc3RfY2hlY2tfc3lzX2RlcHMoc2VsZik6CisgICAg
ICAgIG1vY2tfb3B0aW9ucyA9IG1vY2t0b29sLk1vY2tPcHRpb25zKCkKKyAgICAgICAgcG9ydCA9
IENocm9taXVtUG9ydFRlc3QuVGVzdExpbnV4UG9ydChvcHRpb25zPW1vY2tfb3B0aW9ucykKKwor
ICAgICAgICBjbGFzcyBNb2NrRXhlY3V0ZToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBleGl0X2NvZGUsIG91dHB1dD0nJyk6CisgICAgICAgICAgICAgICAgc2VsZi5fZXhpdF9jb2Rl
ID0gZXhpdF9jb2RlCisgICAgICAgICAgICAgICAgc2VsZi5fb3V0cHV0ID0gb3V0cHV0CisKKyAg
ICAgICAgICAgIGRlZiBydW5fY29tbWFuZChzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3dkPU5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW5wdXQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlcnJvcl9oYW5kbGVyPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuX2V4aXRfY29kZT1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5f
c3RkZXJyPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX291dHB1dD1G
YWxzZSk6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fZXhpdF9jb2RlOgorICAgICAgICAgICAg
ICAgICAgICBlcnJvciA9IGV4ZWN1dGl2ZS5TY3JpcHRFcnJvcihleGl0X2NvZGU9c2VsZi5fZXhp
dF9jb2RlKQorICAgICAgICAgICAgICAgICAgICBlcnJvcl9oYW5kbGVyKGVycm9yKQorICAgICAg
ICAgICAgICAgIHJldHVybiBzZWxmLl9vdXRwdXQKKworICAgICAgICBuZWVkc19odHRwID0gRmFs
c2UKKyAgICAgICAgIyBTdWNjZXNzCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IE1vY2tFeGVj
dXRlKDAsICcnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5jaGVja19zeXNfZGVwcyhu
ZWVkc19odHRwKSkKKworICAgICAgICBjbGFzcyBNb2NrTG9nOgorICAgICAgICAgICAgZGVmIF9f
aW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nID0gW10KKworICAgICAgICAg
ICAgZGVmIGVycm9yKHNlbGYsIGxvZyk6CisgICAgICAgICAgICAgICAgc2VsZi5sb2cuYXBwZW5k
KGxvZykKKworICAgICAgICAjIEZhaWx1cmUKKyAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gTW9j
a0V4ZWN1dGUoMSwgJ3Rlc3Rpbmcgb3V0cHV0IGZhaWx1cmUnKQorICAgICAgICBvcmlnaW5hbF9s
b2dnZXIgPSBjaHJvbWl1bS5fbG9nCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNocm9taXVt
Ll9sb2cgPSBNb2NrTG9nKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocG9ydC5jaGVj
a19zeXNfZGVwcyhuZWVkc19odHRwKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKFsK
KyAgICAgICAgICAgICAgICAnU3lzdGVtIGRlcGVuZGVuY2llcyBjaGVjayBmYWlsZWQuJywKKyAg
ICAgICAgICAgICAgICAnVG8gb3ZlcnJpZGUsIGludm9rZSB3aXRoIC0tbm9jaGVjay1zeXMtZGVw
cycsCisgICAgICAgICAgICAgICAgJycsCisgICAgICAgICAgICAgICAgJ3Rlc3Rpbmcgb3V0cHV0
IGZhaWx1cmUnXSwgY2hyb21pdW0uX2xvZy5sb2cpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAg
ICAgICBjaHJvbWl1bS5fbG9nID0gb3JpZ2luYWxfbG9nZ2VyCisKIGlmIF9fbmFtZV9fID09ICdf
X21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFpbigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79351</attachid>
            <date>2011-01-18 16:15:41 -0800</date>
            <delta_ts>2011-01-19 09:57:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52671-20110118161659.patch</filename>
            <type>text/plain</type>
            <size>6789</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZDYx
YzA4NDBjODY4NzUzZTNiNmMxNDU2OGQ3NGJjMTIyNDMzOGM5Li4zNWRiZjcxOWRkYjA2ZTllOGI5
YmNkMDJiYzY1YWE1M2ZmY2Y2YWFiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMTggIFRvbnkgQ2hhbmcg
IDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbY2hyb21pdW1dIFtsaW51eF0gaWYgY2hlY2stc3lzLWRlcHMgZmFpbHMs
IG91dHB1dCB0aGUgZmFpbHVyZSByZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNjcxCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9zeXN0ZW0vZXhlY3V0aXZlX21vY2sucHk6IEFkZCBzdXBwb3J0IGZvcgorICAgICAgICAg
ICAgZXJyb3IgaGFuZGxlciBmdW5jdGlvbnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAgICAgICAgICAgIG91dHB1dCB0aGUgZXJy
b3IgdGV4dCBmcm9tIC0tY2hlY2stc3lzLWRlcHMKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5OgorCiAyMDExLTAxLTE4ICBH
eXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9leGVjdXRpdmVfbW9jay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9leGVjdXRpdmVfbW9jay5weQppbmRleCBjMWNmOTk5YzZmMTBiZjhhNGRmNjBh
ZGE3NjFhMmZlNGUxMDNiMTM1Li45NDNiNzBjNDJkZjFhZGM4Y2NiYTc3YTAwM2U4YjMxZDA3OTBi
N2ExIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhl
Y3V0aXZlX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2V4ZWN1dGl2ZV9tb2NrLnB5CkBAIC0zMCw2ICszMCw4IEBACiAKICMgRklYTUU6IFVuaWZ5IHdp
dGggdG9vbC9tb2NrdG9vbC5Nb2NrRXhlY3V0aXZlLgogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQorCiAKIGNsYXNzIE1vY2tFeGVjdXRpdmUyKG9iamVjdCk6
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG91dHB1dD0nJywgZXhpdF9jb2RlPTAsIGV4Y2VwdGlv
bj1Ob25lLApAQCAtNDgsNyArNTAsNyBAQCBjbGFzcyBNb2NrRXhlY3V0aXZlMihvYmplY3QpOgog
ICAgIGRlZiBraWxsX3Byb2Nlc3Moc2VsZiwgcGlkKToKICAgICAgICAgcGFzcwogCi0gICAgZGVm
IHJ1bl9jb21tYW5kKHNlbGYsIGFyZ19saXN0LCByZXR1cm5fZXhpdF9jb2RlPUZhbHNlLAorICAg
IGRlZiBydW5fY29tbWFuZChzZWxmLCBhcmdfbGlzdCwgZXJyb3JfaGFuZGxlcj1Ob25lLCByZXR1
cm5fZXhpdF9jb2RlPUZhbHNlLAogICAgICAgICAgICAgICAgICAgICBkZWNvZGVfb3V0cHV0PUZh
bHNlKToKICAgICAgICAgaWYgc2VsZi5fZXhjZXB0aW9uOgogICAgICAgICAgICAgcmFpc2Ugc2Vs
Zi5fZXhjZXB0aW9uCkBAIC01Niw0ICs1OCwxMCBAQCBjbGFzcyBNb2NrRXhlY3V0aXZlMihvYmpl
Y3QpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4aXRfY29kZQogICAgICAgICBpZiBzZWxm
Ll9ydW5fY29tbWFuZF9mbjoKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9ydW5fY29tbWFuZF9m
bihhcmdfbGlzdCkKKyAgICAgICAgaWYgc2VsZi5fZXhpdF9jb2RlIGFuZCBlcnJvcl9oYW5kbGVy
OgorICAgICAgICAgICAgc2NyaXB0X2Vycm9yID0gZXhlY3V0aXZlLlNjcmlwdEVycm9yKHNjcmlw
dF9hcmdzPWFyZ19saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4aXRfY29kZT1zZWxmLl9leGl0X2NvZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PXNlbGYuX291dHB1dCkKKyAgICAg
ICAgICAgIGVycm9yX2hhbmRsZXIoc2NyaXB0X2Vycm9yKQorCiAgICAgICAgIHJldHVybiBzZWxm
Ll9vdXRwdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW0ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtLnB5CmluZGV4IDdlOTM0YTgyMGYzOTdjNTIyMDI3NDc0ZTE5YTU3YmJhNjll
NzRhY2MuLjg1OWU4NDNkMTg3YWQwY2U4YjEyZjljZGNhMDE4MjEzYjU1Njg1ZDkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5w
eQpAQCAtNDQsNiArNDQsNyBAQCBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aW1lCiBpbXBvcnQg
d2ViYnJvd3NlcgogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2
ZQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnBhdGggaW1wb3J0IGN5Z3BhdGgKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLmxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X2V4cGVjdGF0
aW9ucwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IHRl
c3Rfb3V0cHV0CkBAIC0xMjAsMTAgKzEyMSwxOCBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoYmFzZS5Q
b3J0KToKIAogICAgIGRlZiBjaGVja19zeXNfZGVwcyhzZWxmLCBuZWVkc19odHRwKToKICAgICAg
ICAgY21kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLWNoZWNrLWxheW91dC10ZXN0LXN5
cy1kZXBzJ10KLSAgICAgICAgaWYgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNtZCwgcmV0
dXJuX2V4aXRfY29kZT1UcnVlKToKKworICAgICAgICBsb2NhbF9lcnJvciA9IGV4ZWN1dGl2ZS5T
Y3JpcHRFcnJvcigpCisKKyAgICAgICAgZGVmIGVycm9yX2hhbmRsZXIoc2NyaXB0X2Vycm9yLCBl
cnJvcj1sb2NhbF9lcnJvcik6CisgICAgICAgICAgICBlcnJvci5leGl0X2NvZGUgPSBzY3JpcHRf
ZXJyb3IuZXhpdF9jb2RlCisKKyAgICAgICAgb3V0cHV0ID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9j
b21tYW5kKGNtZCwgZXJyb3JfaGFuZGxlcj1lcnJvcl9oYW5kbGVyKQorICAgICAgICBpZiBsb2Nh
bF9lcnJvci5leGl0X2NvZGU6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCdTeXN0ZW0gZGVwZW5k
ZW5jaWVzIGNoZWNrIGZhaWxlZC4nKQogICAgICAgICAgICAgX2xvZy5lcnJvcignVG8gb3ZlcnJp
ZGUsIGludm9rZSB3aXRoIC0tbm9jaGVjay1zeXMtZGVwcycpCiAgICAgICAgICAgICBfbG9nLmVy
cm9yKCcnKQorICAgICAgICAgICAgX2xvZy5lcnJvcihvdXRwdXQpCiAgICAgICAgICAgICByZXR1
cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkK
aW5kZXggYzg3OTg0ZmNkMWJjZmY4OGQ1ZDM3ZjVjZjFiYWY0YzI3NGMyY2M3NC4uNDNiZmJkNDhl
OTRjZWFhMmQwMjdjOTU1YzRiYzE1MmMxZGQ3YjEzMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0
LnB5CkBAIC0zMCw2ICszMCw4IEBAIGltcG9ydCBvcwogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQg
U3RyaW5nSU8KIAorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBsb2d0ZXN0aW5n
Citmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZV9tb2NrCiBmcm9t
IHdlYmtpdHB5LnRvb2wgaW1wb3J0IG1vY2t0b29sCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHku
bW9jayBpbXBvcnQgTW9jawogCkBAIC0xNTMsMzUgKzE1NSwxOSBAQCBMSU5VWCBXSU4gOiBmYXN0
L2pzL3ZlcnktZ29vZC5qcyA9IFRJTUVPVVQgUEFTUyIiIgogICAgICAgICAgICAgZGVmIF9wYXRo
X3RvX2ltYWdlX2RpZmYoc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuICIvcGF0aC90by9p
bWFnZV9kaWZmIgogCi0gICAgICAgIGNsYXNzIE1vY2tFeGVjdXRlOgotICAgICAgICAgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHJlc3VsdCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5fcmVzdWx0ID0g
cmVzdWx0Ci0KLSAgICAgICAgICAgIGRlZiBydW5fY29tbWFuZChzZWxmLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3dkPU5v
bmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ9Tm9uZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlcnJvcl9oYW5kbGVyPU5vbmUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuX2V4aXRfY29kZT1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm5fc3RkZXJyPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVj
b2RlX291dHB1dD1GYWxzZSk6Ci0gICAgICAgICAgICAgICAgaWYgcmV0dXJuX2V4aXRfY29kZToK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Jlc3VsdAotICAgICAgICAgICAgICAg
IHJldHVybiAnJwotCiAgICAgICAgIG1vY2tfb3B0aW9ucyA9IG1vY2t0b29sLk1vY2tPcHRpb25z
KCkKICAgICAgICAgcG9ydCA9IENocm9taXVtUG9ydFRlc3QuVGVzdExpbnV4UG9ydChtb2NrX29w
dGlvbnMpCiAKICAgICAgICAgIyBJbWFnZXMgYXJlIGRpZmZlcmVudC4KLSAgICAgICAgcG9ydC5f
ZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGUoMCkKKyAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gZXhl
Y3V0aXZlX21vY2suTW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTApCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKEZhbHNlLCBwb3J0LmRpZmZfaW1hZ2UoIkVYUEVDVEVEIiwgIkFDVFVBTCIpKQog
CiAgICAgICAgICMgSW1hZ2VzIGFyZSB0aGUgc2FtZS4KLSAgICAgICAgcG9ydC5fZXhlY3V0aXZl
ID0gTW9ja0V4ZWN1dGUoMSkKKyAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gZXhlY3V0aXZlX21v
Y2suTW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KFRydWUsIHBvcnQuZGlmZl9pbWFnZSgiRVhQRUNURUQiLCAiQUNUVUFMIikpCiAKICAgICAgICAg
IyBUaGVyZSB3YXMgc29tZSBlcnJvciBydW5uaW5nIGltYWdlX2RpZmYuCi0gICAgICAgIHBvcnQu
X2V4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRlKDIpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IGV4
ZWN1dGl2ZV9tb2NrLk1vY2tFeGVjdXRpdmUyKGV4aXRfY29kZT0yKQogICAgICAgICBleGNlcHRp
b25fcmFpc2VkID0gRmFsc2UKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcG9ydC5kaWZmX2lt
YWdlKCJFWFBFQ1RFRCIsICJBQ1RVQUwiKQpAQCAtMTg5LDUgKzE3NSwyNSBAQCBMSU5VWCBXSU4g
OiBmYXN0L2pzL3ZlcnktZ29vZC5qcyA9IFRJTUVPVVQgUEFTUyIiIgogICAgICAgICAgICAgZXhj
ZXB0aW9uX3JhaXNlZCA9IFRydWUKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleGNlcHRpb25f
cmFpc2VkKQogCisKK2NsYXNzIENocm9taXVtUG9ydExvZ2dpbmdUZXN0KGxvZ3Rlc3RpbmcuTG9n
Z2luZ1Rlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9jaGVja19zeXNfZGVwcyhzZWxmKToKKyAgICAg
ICAgbW9ja19vcHRpb25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoKQorICAgICAgICBwb3J0ID0g
Q2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG9wdGlvbnM9bW9ja19vcHRpb25zKQorCisg
ICAgICAgICMgU3VjY2VzcworICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBleGVjdXRpdmVfbW9j
ay5Nb2NrRXhlY3V0aXZlMihleGl0X2NvZGU9MCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBv
cnQuY2hlY2tfc3lzX2RlcHMobmVlZHNfaHR0cD1GYWxzZSkpCisKKyAgICAgICAgIyBGYWlsdXJl
CisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZV9tb2NrLk1vY2tFeGVjdXRpdmUy
KGV4aXRfY29kZT0xLAorICAgICAgICAgICAgb3V0cHV0PSd0ZXN0aW5nIG91dHB1dCBmYWlsdXJl
JykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0LmNoZWNrX3N5c19kZXBzKG5lZWRzX2h0
dHA9RmFsc2UpKQorICAgICAgICBzZWxmLmFzc2VydExvZyhbCisgICAgICAgICAgICAnRVJST1I6
IFN5c3RlbSBkZXBlbmRlbmNpZXMgY2hlY2sgZmFpbGVkLlxuJywKKyAgICAgICAgICAgICdFUlJP
UjogVG8gb3ZlcnJpZGUsIGludm9rZSB3aXRoIC0tbm9jaGVjay1zeXMtZGVwc1xuJywKKyAgICAg
ICAgICAgICdFUlJPUjogXG4nLAorICAgICAgICAgICAgJ0VSUk9SOiB0ZXN0aW5nIG91dHB1dCBm
YWlsdXJlXG4nXSkKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5t
YWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79441</attachid>
            <date>2011-01-19 09:57:46 -0800</date>
            <delta_ts>2011-01-19 10:03:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52671-20110119095904.patch</filename>
            <type>text/plain</type>
            <size>6776</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZDYx
YzA4NDBjODY4NzUzZTNiNmMxNDU2OGQ3NGJjMTIyNDMzOGM5Li5jOTk3OGZiZGMxNzIzMjY3NzQ1
NTUzMzIwZGY5ZTFkODgyZjIwYmNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMTkgIFRvbnkgQ2hhbmcg
IDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbY2hyb21pdW1dIFtsaW51eF0gaWYgY2hlY2stc3lzLWRlcHMgZmFpbHMs
IG91dHB1dCB0aGUgZmFpbHVyZSByZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNjcxCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9zeXN0ZW0vZXhlY3V0aXZlX21vY2sucHk6IEFkZCBzdXBwb3J0IGZvcgorICAgICAgICAg
ICAgZXJyb3IgaGFuZGxlciBmdW5jdGlvbnMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAgICAgICAgICAgIG91dHB1dCB0aGUgZXJy
b3IgdGV4dCBmcm9tIC0tY2hlY2stc3lzLWRlcHMKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5OgorCiAyMDExLTAxLTE4ICBH
eXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9leGVjdXRpdmVfbW9jay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9leGVjdXRpdmVfbW9jay5weQppbmRleCBjMWNmOTk5YzZmMTBiZjhhNGRmNjBh
ZGE3NjFhMmZlNGUxMDNiMTM1Li45NDNiNzBjNDJkZjFhZGM4Y2NiYTc3YTAwM2U4YjMxZDA3OTBi
N2ExIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhl
Y3V0aXZlX21vY2sucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L2V4ZWN1dGl2ZV9tb2NrLnB5CkBAIC0zMCw2ICszMCw4IEBACiAKICMgRklYTUU6IFVuaWZ5IHdp
dGggdG9vbC9tb2NrdG9vbC5Nb2NrRXhlY3V0aXZlLgogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0gaW1wb3J0IGV4ZWN1dGl2ZQorCiAKIGNsYXNzIE1vY2tFeGVjdXRpdmUyKG9iamVjdCk6
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG91dHB1dD0nJywgZXhpdF9jb2RlPTAsIGV4Y2VwdGlv
bj1Ob25lLApAQCAtNDgsNyArNTAsNyBAQCBjbGFzcyBNb2NrRXhlY3V0aXZlMihvYmplY3QpOgog
ICAgIGRlZiBraWxsX3Byb2Nlc3Moc2VsZiwgcGlkKToKICAgICAgICAgcGFzcwogCi0gICAgZGVm
IHJ1bl9jb21tYW5kKHNlbGYsIGFyZ19saXN0LCByZXR1cm5fZXhpdF9jb2RlPUZhbHNlLAorICAg
IGRlZiBydW5fY29tbWFuZChzZWxmLCBhcmdfbGlzdCwgZXJyb3JfaGFuZGxlcj1Ob25lLCByZXR1
cm5fZXhpdF9jb2RlPUZhbHNlLAogICAgICAgICAgICAgICAgICAgICBkZWNvZGVfb3V0cHV0PUZh
bHNlKToKICAgICAgICAgaWYgc2VsZi5fZXhjZXB0aW9uOgogICAgICAgICAgICAgcmFpc2Ugc2Vs
Zi5fZXhjZXB0aW9uCkBAIC01Niw0ICs1OCwxMCBAQCBjbGFzcyBNb2NrRXhlY3V0aXZlMihvYmpl
Y3QpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4aXRfY29kZQogICAgICAgICBpZiBzZWxm
Ll9ydW5fY29tbWFuZF9mbjoKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9ydW5fY29tbWFuZF9m
bihhcmdfbGlzdCkKKyAgICAgICAgaWYgc2VsZi5fZXhpdF9jb2RlIGFuZCBlcnJvcl9oYW5kbGVy
OgorICAgICAgICAgICAgc2NyaXB0X2Vycm9yID0gZXhlY3V0aXZlLlNjcmlwdEVycm9yKHNjcmlw
dF9hcmdzPWFyZ19saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4aXRfY29kZT1zZWxmLl9leGl0X2NvZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0PXNlbGYuX291dHB1dCkKKyAgICAg
ICAgICAgIGVycm9yX2hhbmRsZXIoc2NyaXB0X2Vycm9yKQorCiAgICAgICAgIHJldHVybiBzZWxm
Ll9vdXRwdXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW0ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtLnB5CmluZGV4IDdlOTM0YTgyMGYzOTdjNTIyMDI3NDc0ZTE5YTU3YmJhNjll
NzRhY2MuLjlhYTA5NDZmODliZWE2MTY1YjMzY2U1NTQzZjU0MjM1MzI0YmIyYjQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW0ucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5w
eQpAQCAtNDQsNiArNDQsNyBAQCBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aW1lCiBpbXBvcnQg
d2ViYnJvd3NlcgogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGV4ZWN1dGl2
ZQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnBhdGggaW1wb3J0IGN5Z3BhdGgKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLmxheW91dF9wYWNrYWdlIGltcG9ydCB0ZXN0X2V4cGVjdGF0
aW9ucwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IHRl
c3Rfb3V0cHV0CkBAIC0xMjAsMTAgKzEyMSwxOCBAQCBjbGFzcyBDaHJvbWl1bVBvcnQoYmFzZS5Q
b3J0KToKIAogICAgIGRlZiBjaGVja19zeXNfZGVwcyhzZWxmLCBuZWVkc19odHRwKToKICAgICAg
ICAgY21kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLWNoZWNrLWxheW91dC10ZXN0LXN5
cy1kZXBzJ10KLSAgICAgICAgaWYgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNtZCwgcmV0
dXJuX2V4aXRfY29kZT1UcnVlKToKKworICAgICAgICBsb2NhbF9lcnJvciA9IGV4ZWN1dGl2ZS5T
Y3JpcHRFcnJvcigpCisKKyAgICAgICAgZGVmIGVycm9yX2hhbmRsZXIoc2NyaXB0X2Vycm9yKToK
KyAgICAgICAgICAgIGxvY2FsX2Vycm9yLmV4aXRfY29kZSA9IHNjcmlwdF9lcnJvci5leGl0X2Nv
ZGUKKworICAgICAgICBvdXRwdXQgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoY21kLCBl
cnJvcl9oYW5kbGVyPWVycm9yX2hhbmRsZXIpCisgICAgICAgIGlmIGxvY2FsX2Vycm9yLmV4aXRf
Y29kZToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoJ1N5c3RlbSBkZXBlbmRlbmNpZXMgY2hlY2sg
ZmFpbGVkLicpCiAgICAgICAgICAgICBfbG9nLmVycm9yKCdUbyBvdmVycmlkZSwgaW52b2tlIHdp
dGggLS1ub2NoZWNrLXN5cy1kZXBzJykKICAgICAgICAgICAgIF9sb2cuZXJyb3IoJycpCisgICAg
ICAgICAgICBfbG9nLmVycm9yKG91dHB1dCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAg
ICAgICByZXR1cm4gVHJ1ZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0dGVzdC5weQppbmRleCBjODc5ODRm
Y2QxYmNmZjg4ZDVkMzdmNWNmMWJhZjRjMjc0YzJjYzc0Li40M2JmYmQ0OGU5NGNlYWEyZDAyN2M5
NTVjNGJjMTUyYzFkZDdiMTMwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHkKQEAgLTMwLDYg
KzMwLDggQEAgaW1wb3J0IG9zCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBTdHJpbmdJTwogCitm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IGxvZ3Rlc3RpbmcKK2Zyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZXhlY3V0aXZlX21vY2sKIGZyb20gd2Via2l0cHkudG9v
bCBpbXBvcnQgbW9ja3Rvb2wKIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5tb2NrIGltcG9ydCBN
b2NrCiAKQEAgLTE1MywzNSArMTU1LDE5IEBAIExJTlVYIFdJTiA6IGZhc3QvanMvdmVyeS1nb29k
LmpzID0gVElNRU9VVCBQQVNTIiIiCiAgICAgICAgICAgICBkZWYgX3BhdGhfdG9faW1hZ2VfZGlm
ZihzZWxmKToKICAgICAgICAgICAgICAgICByZXR1cm4gIi9wYXRoL3RvL2ltYWdlX2RpZmYiCiAK
LSAgICAgICAgY2xhc3MgTW9ja0V4ZWN1dGU6Ci0gICAgICAgICAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcmVzdWx0KToKLSAgICAgICAgICAgICAgICBzZWxmLl9yZXN1bHQgPSByZXN1bHQKLQotICAg
ICAgICAgICAgZGVmIHJ1bl9jb21tYW5kKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjd2Q9Tm9uZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnB1dD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVycm9yX2hhbmRsZXI9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm5fZXhpdF9jb2RlPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl9z
dGRlcnI9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfb3V0cHV0PUZh
bHNlKToKLSAgICAgICAgICAgICAgICBpZiByZXR1cm5fZXhpdF9jb2RlOgotICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5fcmVzdWx0Ci0gICAgICAgICAgICAgICAgcmV0dXJuICcnCi0K
ICAgICAgICAgbW9ja19vcHRpb25zID0gbW9ja3Rvb2wuTW9ja09wdGlvbnMoKQogICAgICAgICBw
b3J0ID0gQ2hyb21pdW1Qb3J0VGVzdC5UZXN0TGludXhQb3J0KG1vY2tfb3B0aW9ucykKIAogICAg
ICAgICAjIEltYWdlcyBhcmUgZGlmZmVyZW50LgotICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBN
b2NrRXhlY3V0ZSgwKQorICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBleGVjdXRpdmVfbW9jay5N
b2NrRXhlY3V0aXZlMihleGl0X2NvZGU9MCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoRmFs
c2UsIHBvcnQuZGlmZl9pbWFnZSgiRVhQRUNURUQiLCAiQUNUVUFMIikpCiAKICAgICAgICAgIyBJ
bWFnZXMgYXJlIHRoZSBzYW1lLgotICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0
ZSgxKQorICAgICAgICBwb3J0Ll9leGVjdXRpdmUgPSBleGVjdXRpdmVfbW9jay5Nb2NrRXhlY3V0
aXZlMihleGl0X2NvZGU9MSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoVHJ1ZSwgcG9ydC5k
aWZmX2ltYWdlKCJFWFBFQ1RFRCIsICJBQ1RVQUwiKSkKIAogICAgICAgICAjIFRoZXJlIHdhcyBz
b21lIGVycm9yIHJ1bm5pbmcgaW1hZ2VfZGlmZi4KLSAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0g
TW9ja0V4ZWN1dGUoMikKKyAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gZXhlY3V0aXZlX21vY2su
TW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTIpCiAgICAgICAgIGV4Y2VwdGlvbl9yYWlzZWQgPSBG
YWxzZQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwb3J0LmRpZmZfaW1hZ2UoIkVYUEVDVEVE
IiwgIkFDVFVBTCIpCkBAIC0xODksNSArMTc1LDI1IEBAIExJTlVYIFdJTiA6IGZhc3QvanMvdmVy
eS1nb29kLmpzID0gVElNRU9VVCBQQVNTIiIiCiAgICAgICAgICAgICBleGNlcHRpb25fcmFpc2Vk
ID0gVHJ1ZQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGV4Y2VwdGlvbl9yYWlzZWQpCiAKKwor
Y2xhc3MgQ2hyb21pdW1Qb3J0TG9nZ2luZ1Rlc3QobG9ndGVzdGluZy5Mb2dnaW5nVGVzdENhc2Up
OgorICAgIGRlZiB0ZXN0X2NoZWNrX3N5c19kZXBzKHNlbGYpOgorICAgICAgICBtb2NrX29wdGlv
bnMgPSBtb2NrdG9vbC5Nb2NrT3B0aW9ucygpCisgICAgICAgIHBvcnQgPSBDaHJvbWl1bVBvcnRU
ZXN0LlRlc3RMaW51eFBvcnQob3B0aW9ucz1tb2NrX29wdGlvbnMpCisKKyAgICAgICAgIyBTdWNj
ZXNzCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZV9tb2NrLk1vY2tFeGVjdXRp
dmUyKGV4aXRfY29kZT0wKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5jaGVja19zeXNf
ZGVwcyhuZWVkc19odHRwPUZhbHNlKSkKKworICAgICAgICAjIEZhaWx1cmUKKyAgICAgICAgcG9y
dC5fZXhlY3V0aXZlID0gZXhlY3V0aXZlX21vY2suTW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTEs
CisgICAgICAgICAgICBvdXRwdXQ9J3Rlc3Rpbmcgb3V0cHV0IGZhaWx1cmUnKQorICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKHBvcnQuY2hlY2tfc3lzX2RlcHMobmVlZHNfaHR0cD1GYWxzZSkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0TG9nKFsKKyAgICAgICAgICAgICdFUlJPUjogU3lzdGVtIGRlcGVu
ZGVuY2llcyBjaGVjayBmYWlsZWQuXG4nLAorICAgICAgICAgICAgJ0VSUk9SOiBUbyBvdmVycmlk
ZSwgaW52b2tlIHdpdGggLS1ub2NoZWNrLXN5cy1kZXBzXG4nLAorICAgICAgICAgICAgJ0VSUk9S
OiBcbicsCisgICAgICAgICAgICAnRVJST1I6IHRlc3Rpbmcgb3V0cHV0IGZhaWx1cmVcbiddKQor
CiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>
<flag name="review"
          id="70854"
          type_id="1"
          status="+"
          setter="mihaip"
    />
          </attachment>
      

    </bug>

</bugzilla>