<?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>38284</bug_id>
          
          <creation_ts>2010-04-28 14:24:15 -0700</creation_ts>
          <short_desc>Audit all uses of subprocess in webkitpy</short_desc>
          <delta_ts>2010-04-28 14:52:21 -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>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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>218637</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-28 14:24:15 -0700</bug_when>
    <thetext>Audit all uses of subprocess in webkitpy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218638</commentid>
    <comment_count>1</comment_count>
      <attachid>54621</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-28 14:28:25 -0700</bug_when>
    <thetext>Created attachment 54621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218644</commentid>
    <comment_count>2</comment_count>
      <attachid>54621</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-04-28 14:38:53 -0700</bug_when>
    <thetext>Comment on attachment 54621
Patch

Two things to fix up before committing.

&gt; diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
&gt; +        in webkitpy.  I did not find any unsafe calls
&gt; +        in my audit, but I did remove numerousunneeded

numerousunneeded


&gt;
&gt; diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_mac.py b/WebKitTools/Scripts/webkitpy/layout_tests/port/chromium_mac.py

&gt; -            rcode = subprocess.call([&apos;wdiff&apos;], stderr=f)
&gt; +            # We&apos;re ignoring the return and always returning True
&gt; +            self._executive.run_command([&apos;wdiff&apos;], error_handler=Excutive.ignore_error)
Excutive

You mentioned possibly adding a test for this? It may be good if you could because it would have caught this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218646</commentid>
    <comment_count>3</comment_count>
      <attachid>54624</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-28 14:46:09 -0700</bug_when>
    <thetext>Created attachment 54624
Now with a unittest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218649</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-28 14:52:21 -0700</bug_when>
    <thetext>Committed r58434: &lt;http://trac.webkit.org/changeset/58434&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54621</attachid>
            <date>2010-04-28 14:28:25 -0700</date>
            <delta_ts>2010-04-28 14:46:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38284-20100428142824.patch</filename>
            <type>text/plain</type>
            <size>10754</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyMDBiZjk1Mzc3ZGUxZGFkODUyNzc1NzdiYTY4YTJmNTgwMTljMzM2Li41MjYxMTAy
MmYyZjkxYzJkYTZjYzFlZGQ0NDA5NzhlZDM3NTg0Yzg0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAK
KzIwMTAtMDQtMjggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF1ZGl0IGFsbCB1c2VzIG9mIHN1
YnByb2Nlc3MgaW4gd2Via2l0cHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM4Mjg0CisKKyAgICAgICAgQWZ0ZXIgZnVydGhlciBkaXNjdXNzaW9ucyB3
aXRoIEplZmZyZXkgWWFzc2tpbgorICAgICAgICBhYm91dCBodHRwOi8vYnVncy5weXRob24ub3Jn
L2lzc3VlMjMyMAorICAgICAgICBhbmQgcmVsYXRlZCBpc3N1ZXMgb2YgdXNpbmcgc3VicHJvY2Vz
cyBmcm9tCisgICAgICAgIG11bHRpcGxlIHRocmVhZHMsIEkgaGF2ZSBsZWFybmVkIHRoYXQgc3Vi
cHJvY2VzcworICAgICAgICBpcyBrbm93biB0byBiZSBub24tdGhyZWFkc2FmZSB0aHJvdWdoIHJl
Y2VudAorICAgICAgICBQeXRob24gMi43IGJ1aWxkcy4KKworICAgICAgICBJJ20gYXR0ZW1wdGlu
ZyB0byBsZXNzZW4gb3VyIGV4cG9zdXJlIHRvIHRoZXNlCisgICAgICAgIHN1YnByb2Nlc3MgYnVn
cyBieSBhdWRpdGluZyBlYWNoIHVzZSBvZiBzdWJwcm9jZXNzCisgICAgICAgIGluIHdlYmtpdHB5
LiAgSSBkaWQgbm90IGZpbmQgYW55IHVuc2FmZSBjYWxscworICAgICAgICBpbiBteSBhdWRpdCwg
YnV0IEkgZGlkIHJlbW92ZSBudW1lcm91c3VubmVlZGVkCisgICAgICAgIGltcG9ydCBzdWJwcm9j
ZXNzIGxpbmVzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
YXBpLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS5w
eToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZGVwcmVjYXRlZF9s
b2dnaW5nX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS91c2VyLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZS5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2Nocm9taXVtX2xpbnV4LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvcXQucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC93aW4ucHk6CisKIDIwMTAtMDQtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIElnbm9yZSBhIGRpcmVjdG9yeSB0aGUgUHl0aG9uIHRvb2xzIGNy
ZWF0ZXMuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9hcGkucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9hcGkucHkKaW5kZXggNTk1YzNkNWNmNGRjOGQyNzJlYmUwNzM1M2RiNGZmY2RiNDdkNzQ2
Yi4uYTVhYzkzOThlODhlNzUxZmU4NTQ0MzY0YjY5YzM2MzVmZTEwYTdmMSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvYXBpLnB5CisrKyBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2FwaS5weQpAQCAt
MjcsNyArMjcsNiBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9j
ZXNzCiBpbXBvcnQgU3RyaW5nSU8KIAogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hh
bmdlbG9nIGltcG9ydCBDaGFuZ2VMb2cKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS5weQppbmRleCBkOTk0NjYyZjgxZTcwNjFjYWM3M2Vj
MmExMmY1YWIzZTRjNzNlMjRmLi40MzExYTAwNzk4Y2M4MjEzNmYyYjc1MjdhY2YyNjVhZGFmMDg4
NWU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQv
YnVnemlsbGEucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2J1Z3ppbGxhLnB5CkBAIC0zMyw3ICszMyw2IEBACiBpbXBvcnQgb3MucGF0aAogaW1wb3J0IHJl
CiBpbXBvcnQgU3RyaW5nSU8KLWltcG9ydCBzdWJwcm9jZXNzCiAKIGZyb20gZGF0ZXRpbWUgaW1w
b3J0IGRhdGV0aW1lICMgdXNlZCBpbiB0aW1lc3RhbXAoKQogCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZGVwcmVjYXRlZF9sb2dnaW5nX3Vu
aXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2Rl
cHJlY2F0ZWRfbG9nZ2luZ191bml0dGVzdC5weQppbmRleCAyYjcxODAzNTBhNjY5MGNlNjAwYTZi
OTEzNDY3ODczNDljYWFjODZlLi4zNzc4MTYyMDdkODMwOWY5M2I2ODFkZmUzMDg5MjA0NDIzNzBm
MmE3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0
ZW0vZGVwcmVjYXRlZF9sb2dnaW5nX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9kZXByZWNhdGVkX2xvZ2dpbmdfdW5pdHRlc3QucHkK
QEAgLTI3LDcgKzI3LDYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IG9zCi1pbXBvcnQgc3Vi
cHJvY2VzcwogaW1wb3J0IFN0cmluZ0lPCiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVz
dApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L3VzZXIucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNl
ci5weQppbmRleCAxMmNjNTI0ODY2MmIxMzM5MDJkYmI0ZTQyZTRkYWIwNDEzZjA1NDE2Li42NDk5
NWJiMjVhYmVmM2NiYWE3ZWRmYmJjMTM4YzhlNDFhNWNhZTFjIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlci5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlci5weQpAQCAtNjIsNiArNjIs
NyBAQCBjbGFzcyBVc2VyKG9iamVjdCk6CiAgICAgZGVmIGVkaXQoc2VsZiwgZmlsZXMpOgogICAg
ICAgICBlZGl0b3IgPSBvcy5lbnZpcm9uLmdldCgiRURJVE9SIikgb3IgInZpIgogICAgICAgICBh
cmdzID0gc2hsZXguc3BsaXQoZWRpdG9yKQorICAgICAgICAjIE5vdGU6IE5vdCB0aHJlYWQgc2Fm
ZTogaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTIzMjAKICAgICAgICAgc3VicHJvY2Vzcy5j
YWxsKGFyZ3MgKyBmaWxlcykKIAogICAgIGRlZiBwYWdlKHNlbGYsIG1lc3NhZ2UpOgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNl
LnB5CmluZGV4IGNhYzY3MjI4NGFiMDM5MmY4MDMyMmYzNjhlYjVkYmY4NWE1ZTFhNGYuLmJmNDZj
OWY2ZDg2MzdjYWNiMmYyZDFhM2NlZGFhMjI4ZDNkMzJmZmMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKQEAgLTM1
LDcgKzM1LDYgQEAgaW1wb3J0IGRpZmZsaWIKIGltcG9ydCBlcnJubwogaW1wb3J0IG9zCiBpbXBv
cnQgc2hsZXgKLWltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogCkBA
IC0xNDgsMTcgKzE0NywxMyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICAgICAgcmVzdWx0
ID0gVHJ1ZQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoY21k
KSA9PSAwOgorICAgICAgICAgICAgaWYgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNtZCwg
cmV0dXJuX2V4aXRfY29kZT1UcnVlKSA9PSAwOgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0g
ZXJybm8uRU5PRU5UIG9yIGUuZXJybm8gPT0gZXJybm8uRUFDQ0VTOgogICAgICAgICAgICAgICAg
IF9jb21wYXJlX2F2YWlsYWJsZSA9IEZhbHNlCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgIHJhaXNlIGUKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAj
IHdvcmsgYXJvdW5kIGEgcmFjZSBjb25kaXRpb24gaW4gUHl0aG9uIDIuNCdzIGltcGxlbWVudGF0
aW9uCi0gICAgICAgICAgICAjIG9mIHN1YnByb2Nlc3MuUG9wZW4uIFNlZSBodHRwOi8vYnVncy5w
eXRob24ub3JnL2lzc3VlMTE5OTI4MiAuCi0gICAgICAgICAgICBwYXNzCiAgICAgICAgIHJldHVy
biByZXN1bHQKIAogICAgIGRlZiBkaWZmX3RleHQoc2VsZiwgZXhwZWN0ZWRfdGV4dCwgYWN0dWFs
X3RleHQsCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9saW51eC5weQppbmRleCBiODIxMTU1ZjY3MmYw
ZTE1NWYzY2RlNTE1ZjNjNjk1MTAzYmQzN2E4Li5hMDFiZDE0ZjBlNWYzYTZmYjMxNGJhYWQxOWU3
ZWM4ZDc0ZjdiNTM2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4LnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkKQEAgLTMxLDkg
KzMxLDcgQEAKIAogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwotaW1wb3J0IHBsYXRmb3JtCiBp
bXBvcnQgc2lnbmFsCi1pbXBvcnQgc3VicHJvY2VzcwogCiBpbXBvcnQgY2hyb21pdW0KIApAQCAt
MTIyLDYgKzEyMCw3IEBAIGNsYXNzIENocm9taXVtTGludXhQb3J0KGNocm9taXVtLkNocm9taXVt
UG9ydCk6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCcgICAgUGxlYXNlIGluc3RhbGwgdXNpbmc6
ICJzdWRvIGFwdC1nZXQgaW5zdGFsbCAnCiAgICAgICAgICAgICAgICAgICAgICAgICd3ZGlmZiIn
KQogICAgICAgICAgICAgX2xvZy5lcnJvcignJykKKyAgICAgICAgIyBGSVhNRTogVGhlIENocm9t
aXVtTWFjIHBvcnQgYWx3YXlzIHJldHVybnMgVHJ1ZS4KICAgICAgICAgcmV0dXJuIHJlc3VsdAog
CiAgICAgZGVmIF9wYXRoX3RvX2FwYWNoZShzZWxmKToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjLnB5IGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWMu
cHkKaW5kZXggNDRmZDM4YmNhYzg1YzFmMWMyZWQ1NmE3ZTBjMWViMGJhNWNiMjliNi4uYzcxZTZl
ZTgzOTg2NjBlZjc3ODQ3MWNiYzk5N2JmODAzYjcyZGI3MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWMucHkKKysr
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV9tYWMucHkKQEAgLTMzLDEwICszMywxMSBAQCBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCiBp
bXBvcnQgcGxhdGZvcm0KIGltcG9ydCBzaWduYWwKLWltcG9ydCBzdWJwcm9jZXNzCiAKIGltcG9y
dCBjaHJvbWl1bQogCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9y
dCBFeGVjdXRpdmUKKwogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ3ZWJraXRweS5sYXlvdXRf
dGVzdHMucG9ydC5jaHJvbWl1bV9tYWMiKQogCiAKQEAgLTk5LDE2ICsxMDAsMTIgQEAgY2xhc3Mg
Q2hyb21pdW1NYWNQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgICAgIHJldHVybiBz
ZWxmLnBhdGhfZnJvbV9jaHJvbWl1bV9iYXNlKCd4Y29kZWJ1aWxkJywgKmNvbXBzKQogCiAgICAg
ZGVmIF9jaGVja193ZGlmZl9pbnN0YWxsKHNlbGYpOgotICAgICAgICAjIEZJWE1FOiBUaGlzIHNo
b3VsZCB1c2UgRXhlY3V0aXZlLgotICAgICAgICBmID0gb3Blbihvcy5kZXZudWxsLCAndycpCi0g
ICAgICAgIHJjb2RlID0gMAogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByY29kZSA9IHN1YnBy
b2Nlc3MuY2FsbChbJ3dkaWZmJ10sIHN0ZGVycj1mKQorICAgICAgICAgICAgIyBXZSdyZSBpZ25v
cmluZyB0aGUgcmV0dXJuIGFuZCBhbHdheXMgcmV0dXJuaW5nIFRydWUKKyAgICAgICAgICAgIHNl
bGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbJ3dkaWZmJ10sIGVycm9yX2hhbmRsZXI9RXhjdXRp
dmUuaWdub3JlX2Vycm9yKQogICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIF9s
b2cud2FybmluZygnd2RpZmYgbm90IGZvdW5kLiBJbnN0YWxsIHVzaW5nIE1hY1BvcnRzIG9yIHNv
bWUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdvdGhlciBtZWFucycpCi0gICAgICAgICAg
ICBwYXNzCi0gICAgICAgIGYuY2xvc2UoKQogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVm
IF9saWdodHRwZF9wYXRoKHNlbGYsICpjb21wcyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weSBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5
CmluZGV4IGI0ODQ4NTk3MDIzYzAyNzZlNDY5OGU5OTNjNzYzMzgwYWFjODNjYjEuLjMwMmFmODZi
ODE2NWFmM2YwMWI3MzBlMDEwZWJjZGQ4ZTkyZTI0ZmEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fd2luLnB5CisrKyBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
d2luLnB5CkBAIC0zMSw5ICszMSw2IEBACiAKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKLWlt
cG9ydCBwbGF0Zm9ybQotaW1wb3J0IHNpZ25hbAotaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBz
eXMKIAogaW1wb3J0IGNocm9taXVtCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CmluZGV4IDhjYzhiN2Q4N2Y3ZTEwNjc1MzY2
ZGEyNWU0MmVjOTIxYjA3ZjZhOWQuLjU5ZGMxZDk1ZDU2YWU3NDg1YTZlN2EyNDg4MWExNWU3NmRk
YTc4YzEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZ3RrLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvZ3RrLnB5CkBAIC0zMCw3ICszMCw2IEBACiAKIGltcG9ydCBsb2dnaW5nCiBp
bXBvcnQgb3MKLWltcG9ydCBzdWJwcm9jZXNzCiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3Rz
LnBvcnQud2Via2l0IGltcG9ydCBXZWJLaXRQb3J0CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKaW5kZXggZjMyMWZjNWVj
MDI3ZmEyODI0NTc2MGYyYWRmMjczMGQ5YzVlMGMwNS4uYzAxNmIxYTk1MmRmNDJjNWI0ZGQ5NDk4
ZTA0ZDgxZTAwMGM5ZjhmOSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKQEAgLTMwLDE1ICszMCw3IEBACiAKIGltcG9y
dCBsb2dnaW5nCiBpbXBvcnQgb3MKLWltcG9ydCBwZGIKLWltcG9ydCBwbGF0Zm9ybQotaW1wb3J0
IHJlCi1pbXBvcnQgc2h1dGlsCiBpbXBvcnQgc2lnbmFsCi1pbXBvcnQgc3VicHJvY2VzcwotaW1w
b3J0IHN5cwotaW1wb3J0IHRpbWUKLWltcG9ydCB3ZWJicm93c2VyCiAKIGltcG9ydCB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLm9zcGF0aCBhcyBvc3BhdGgKIGltcG9ydCB3ZWJraXRweS5sYXlvdXRf
dGVzdHMucG9ydC5zZXJ2ZXJfcHJvY2VzcyBhcyBzZXJ2ZXJfcHJvY2VzcwpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKaW5kZXgg
NThlOTBkY2ZkNDU3MDdkZjg4ZTY4N2ExNGViYzUxOWYyMzAzOWEyMS4uOTAzMmEyNDhhYWE1YjQw
NGQwYzYzOTYyMzIwM2Y1NTNkZDFkYmE3YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQorKysgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CkBAIC0zMCw3ICszMCw2IEBACiAK
IGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc2ln
bmFsCiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQud2Via2l0IGltcG9ydCBXZWJL
aXRQb3J0CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3dlYmtpdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2Via2l0LnB5CmluZGV4IGM0OGU0NTA2ODRjZTRiNzI3ZTJhMjQ4ZjU0Yjkz
ODRlZmE5MzM5OGYuLmFkYTgzY2U0N2QwZmJlYjRkOTIyOWVjZWZjMzFiMTRiMTllODM4MGYgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2Via2l0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvd2Via2l0LnB5CkBAIC0zNSwxMiArMzUsOSBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0
IHdpdGhfc3RhdGVtZW50CiBpbXBvcnQgY29kZWNzCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9z
Ci1pbXBvcnQgcGRiCi1pbXBvcnQgcGxhdGZvcm0KIGltcG9ydCByZQogaW1wb3J0IHNodXRpbAog
aW1wb3J0IHNpZ25hbAotaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1l
CiBpbXBvcnQgd2ViYnJvd3NlcgpAQCAtMzg4LDcgKzM4NSw2IEBAIGNsYXNzIFdlYktpdERyaXZl
cihiYXNlLkRyaXZlcik6CiAgICAgICAgICAgICBjb21tYW5kICs9ICInIiArIGltYWdlX2hhc2gK
ICAgICAgICAgY29tbWFuZCArPSAiXG4iCiAKLSAgICAgICAgIyBwZGIuc2V0X3RyYWNlKCkKICAg
ICAgICAgc2VsZi5fc2VydmVyX3Byb2Nlc3Mud3JpdGUoY29tbWFuZCkKIAogICAgICAgICBoYXZl
X3NlZW5fY29udGVudF90eXBlID0gRmFsc2UKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW4ucHkKaW5kZXggZjdiM2I3OGZlYmVjMDZk
MThlNDA5ZmI3NzEzYzJkOWExYzI2MmUzOS4uM2I3YTgxN2EwYWJhNDQ2NTAyNDA5MmIwYjI0NWEw
N2YxOGVjOTI2NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC93aW4ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC93aW4ucHkKQEAgLTMwLDcgKzMwLDYgQEAKIAogaW1wb3J0IGxvZ2dp
bmcKIGltcG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKIAogZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMucG9ydC53ZWJraXQgaW1wb3J0IFdlYktpdFBvcnQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54624</attachid>
            <date>2010-04-28 14:46:09 -0700</date>
            <delta_ts>2010-04-28 14:47:52 -0700</delta_ts>
            <desc>Now with a unittest</desc>
            <filename>bug-38284-20100428144608.patch</filename>
            <type>text/plain</type>
            <size>13119</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyMDBiZjk1Mzc3ZGUxZGFkODUyNzc1NzdiYTY4YTJmNTgwMTljMzM2Li41YjY0YTE5
NDU0ZTRiZDE2OGYyOThlYzc0MTU5ZjBhMDcxNGM3NGExIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAK
KzIwMTAtMDQtMjggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF1ZGl0IGFsbCB1c2VzIG9mIHN1
YnByb2Nlc3MgaW4gd2Via2l0cHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM4Mjg0CisKKyAgICAgICAgQWZ0ZXIgZnVydGhlciBkaXNjdXNzaW9ucyB3
aXRoIEplZmZyZXkgWWFzc2tpbgorICAgICAgICBhYm91dCBodHRwOi8vYnVncy5weXRob24ub3Jn
L2lzc3VlMjMyMAorICAgICAgICBhbmQgcmVsYXRlZCBpc3N1ZXMgb2YgdXNpbmcgc3VicHJvY2Vz
cyBmcm9tCisgICAgICAgIG11bHRpcGxlIHRocmVhZHMsIEkgaGF2ZSBsZWFybmVkIHRoYXQgc3Vi
cHJvY2VzcworICAgICAgICBpcyBrbm93biB0byBiZSBub24tdGhyZWFkc2FmZSB0aHJvdWdoIHJl
Y2VudAorICAgICAgICBQeXRob24gMi43IGJ1aWxkcy4KKworICAgICAgICBJJ20gYXR0ZW1wdGlu
ZyB0byBsZXNzZW4gb3VyIGV4cG9zdXJlIHRvIHRoZXNlCisgICAgICAgIHN1YnByb2Nlc3MgYnVn
cyBieSBhdWRpdGluZyBlYWNoIHVzZSBvZiBzdWJwcm9jZXNzCisgICAgICAgIGluIHdlYmtpdHB5
LiAgSSBkaWQgbm90IGZpbmQgYW55IHVuc2FmZSBjYWxscworICAgICAgICBpbiBteSBhdWRpdCwg
YnV0IEkgZGlkIHJlbW92ZSBudW1lcm91cyB1bm5lZWRlZAorICAgICAgICBpbXBvcnQgc3VicHJv
Y2VzcyBsaW5lcy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0
L2FwaS5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2RlcHJlY2F0ZWRf
bG9nZ2luZ191bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vdXNlci5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Jhc2UucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV9saW51eC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX21hYy5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hY191bml0dGVzdC5weTogQWRkZWQuCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV93aW4ucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weToKKwogMjAxMC0wNC0yOCAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgSWdub3JlIGEgZGlyZWN0
b3J5IHRoZSBQeXRob24gdG9vbHMgY3JlYXRlcy4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2FwaS5weSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2FwaS5weQppbmRleCA1OTVjM2Q1Y2Y0ZGM4ZDI3
MmViZTA3MzUzZGI0ZmZjZGI0N2Q3NDZiLi5hNWFjOTM5OGU4OGU3NTFmZTg1NDQzNjRiNjljMzYz
NWZlMTBhN2YxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9jaGVja291dC9hcGkucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvYXBpLnB5CkBAIC0yNyw3ICsyNyw2IEBACiAjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGlt
cG9ydCBvcwotaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBTdHJpbmdJTwogCiBmcm9tIHdlYmtp
dHB5LmNvbW1vbi5jaGVja291dC5jaGFuZ2Vsb2cgaW1wb3J0IENoYW5nZUxvZwpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhLnB5IGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhLnB5CmluZGV4
IGQ5OTQ2NjJmODFlNzA2MWNhYzczZWMyYTEyZjVhYjNlNGM3M2UyNGYuLjQzMTFhMDA3OThjYzgy
MTM2ZjJiNzUyN2FjZjI2NWFkYWYwODg1ZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS5weQorKysgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEucHkKQEAgLTMzLDcgKzMzLDYgQEAKIGlt
cG9ydCBvcy5wYXRoCiBpbXBvcnQgcmUKIGltcG9ydCBTdHJpbmdJTwotaW1wb3J0IHN1YnByb2Nl
c3MKIAogZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUgIyB1c2VkIGluIHRpbWVzdGFtcCgp
CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9kZXByZWNhdGVkX2xvZ2dpbmdfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZGVwcmVjYXRlZF9sb2dnaW5nX3VuaXR0ZXN0LnB5CmluZGV4
IDJiNzE4MDM1MGE2NjkwY2U2MDBhNmI5MTM0Njc4NzM0OWNhYWM4NmUuLjM3NzgxNjIwN2Q4MzA5
ZjkzYjY4MWRmZTMwODkyMDQ0MjM3MGYyYTcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9kZXByZWNhdGVkX2xvZ2dpbmdfdW5pdHRlc3QucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2RlcHJlY2F0
ZWRfbG9nZ2luZ191bml0dGVzdC5weQpAQCAtMjcsNyArMjcsNiBAQAogIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
CiBpbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgU3RyaW5nSU8KIGltcG9ydCB0
ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlci5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3N5c3RlbS91c2VyLnB5CmluZGV4IDEyY2M1MjQ4NjYyYjEzMzkwMmRiYjRl
NDJlNGRhYjA0MTNmMDU0MTYuLjY0OTk1YmIyNWFiZWYzY2JhYTdlZGZiYmMxMzhjOGU0MWE1Y2Fl
MWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS91c2VyLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS91c2VyLnB5CkBAIC02Miw2ICs2Miw3IEBAIGNsYXNzIFVzZXIob2JqZWN0KToKICAgICBkZWYg
ZWRpdChzZWxmLCBmaWxlcyk6CiAgICAgICAgIGVkaXRvciA9IG9zLmVudmlyb24uZ2V0KCJFRElU
T1IiKSBvciAidmkiCiAgICAgICAgIGFyZ3MgPSBzaGxleC5zcGxpdChlZGl0b3IpCisgICAgICAg
ICMgTm90ZTogTm90IHRocmVhZCBzYWZlOiBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMjMy
MAogICAgICAgICBzdWJwcm9jZXNzLmNhbGwoYXJncyArIGZpbGVzKQogCiAgICAgZGVmIHBhZ2Uo
c2VsZiwgbWVzc2FnZSk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKaW5kZXggY2FjNjcyMjg0YWIwMzkyZjgwMzIyZjM2
OGViNWRiZjg1YTVlMWE0Zi4uYmY0NmM5ZjZkODYzN2NhY2IyZjJkMWEzY2VkYWEyMjhkM2QzMmZm
YyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9iYXNlLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvYmFzZS5weQpAQCAtMzUsNyArMzUsNiBAQCBpbXBvcnQgZGlmZmxpYgogaW1wb3J0
IGVycm5vCiBpbXBvcnQgb3MKIGltcG9ydCBzaGxleAotaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9y
dCBzeXMKIGltcG9ydCB0aW1lCiAKQEAgLTE0OCwxNyArMTQ3LDEzIEBAIGNsYXNzIFBvcnQob2Jq
ZWN0KToKIAogICAgICAgICByZXN1bHQgPSBUcnVlCiAgICAgICAgIHRyeToKLSAgICAgICAgICAg
IGlmIHN1YnByb2Nlc3MuY2FsbChjbWQpID09IDA6CisgICAgICAgICAgICBpZiBzZWxmLl9leGVj
dXRpdmUucnVuX2NvbW1hbmQoY21kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpID09IDA6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgogICAg
ICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9FTlQgb3IgZS5lcnJubyA9PSBlcnJuby5F
QUNDRVM6CiAgICAgICAgICAgICAgICAgX2NvbXBhcmVfYXZhaWxhYmxlID0gRmFsc2UKICAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2UgZQotICAgICAgICBleGNlcHQgVmFs
dWVFcnJvcjoKLSAgICAgICAgICAgICMgd29yayBhcm91bmQgYSByYWNlIGNvbmRpdGlvbiBpbiBQ
eXRob24gMi40J3MgaW1wbGVtZW50YXRpb24KLSAgICAgICAgICAgICMgb2Ygc3VicHJvY2Vzcy5Q
b3Blbi4gU2VlIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUxMTk5MjgyIC4KLSAgICAgICAg
ICAgIHBhc3MKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAgZGVmIGRpZmZfdGV4dChzZWxm
LCBleHBlY3RlZF90ZXh0LCBhY3R1YWxfdGV4dCwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2xpbnV4
LnB5CmluZGV4IGI4MjExNTVmNjcyZjBlMTU1ZjNjZGU1MTVmM2M2OTUxMDNiZDM3YTguLmEwMWJk
MTRmMGU1ZjNhNmZiMzE0YmFhZDE5ZTdlYzhkNzRmN2I1MzYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbGludXgucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJv
bWl1bV9saW51eC5weQpAQCAtMzEsOSArMzEsNyBAQAogCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0
IG9zCi1pbXBvcnQgcGxhdGZvcm0KIGltcG9ydCBzaWduYWwKLWltcG9ydCBzdWJwcm9jZXNzCiAK
IGltcG9ydCBjaHJvbWl1bQogCkBAIC0xMjIsNiArMTIwLDcgQEAgY2xhc3MgQ2hyb21pdW1MaW51
eFBvcnQoY2hyb21pdW0uQ2hyb21pdW1Qb3J0KToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoJyAg
ICBQbGVhc2UgaW5zdGFsbCB1c2luZzogInN1ZG8gYXB0LWdldCBpbnN0YWxsICcKICAgICAgICAg
ICAgICAgICAgICAgICAgJ3dkaWZmIicpCiAgICAgICAgICAgICBfbG9nLmVycm9yKCcnKQorICAg
ICAgICAjIEZJWE1FOiBUaGUgQ2hyb21pdW1NYWMgcG9ydCBhbHdheXMgcmV0dXJucyBUcnVlLgog
ICAgICAgICByZXR1cm4gcmVzdWx0CiAKICAgICBkZWYgX3BhdGhfdG9fYXBhY2hlKHNlbGYpOgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jaHJvbWl1bV9tYWMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2Nocm9taXVtX21hYy5weQppbmRleCA0NGZkMzhiY2FjODVjMWYxYzJlZDU2YTdl
MGMxZWIwYmE1Y2IyOWI2Li4wZDFkMjdiYjExN2U4NzBkYTYyNjg3OTkwYjc3YmQzNmIwYTZhMTI2
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2Nocm9taXVtX21hYy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX21hYy5weQpAQCAtMzMsMTAgKzMzLDExIEBAIGltcG9y
dCBsb2dnaW5nCiBpbXBvcnQgb3MKIGltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHNpZ25hbAotaW1w
b3J0IHN1YnByb2Nlc3MKIAogaW1wb3J0IGNocm9taXVtCiAKK2Zyb20gd2Via2l0cHkuY29tbW9u
LnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZQorCiBfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoIndlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LmNocm9taXVtX21hYyIpCiAKIApAQCAt
OTksMTYgKzEwMCwxMiBAQCBjbGFzcyBDaHJvbWl1bU1hY1BvcnQoY2hyb21pdW0uQ2hyb21pdW1Q
b3J0KToKICAgICAgICAgcmV0dXJuIHNlbGYucGF0aF9mcm9tX2Nocm9taXVtX2Jhc2UoJ3hjb2Rl
YnVpbGQnLCAqY29tcHMpCiAKICAgICBkZWYgX2NoZWNrX3dkaWZmX2luc3RhbGwoc2VsZik6Ci0g
ICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBFeGVjdXRpdmUuCi0gICAgICAgIGYgPSBv
cGVuKG9zLmRldm51bGwsICd3JykKLSAgICAgICAgcmNvZGUgPSAwCiAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgIHJjb2RlID0gc3VicHJvY2Vzcy5jYWxsKFsnd2RpZmYnXSwgc3RkZXJyPWYpCisg
ICAgICAgICAgICAjIFdlJ3JlIGlnbm9yaW5nIHRoZSByZXR1cm4gYW5kIGFsd2F5cyByZXR1cm5p
bmcgVHJ1ZQorICAgICAgICAgICAgc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtzZWxmLl9w
YXRoX3RvX3dkaWZmKCldLCBlcnJvcl9oYW5kbGVyPUV4ZWN1dGl2ZS5pZ25vcmVfZXJyb3IpCiAg
ICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgX2xvZy53YXJuaW5nKCd3ZGlmZiBu
b3QgZm91bmQuIEluc3RhbGwgdXNpbmcgTWFjUG9ydHMgb3Igc29tZSAnCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ290aGVyIG1lYW5zJykKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZi5j
bG9zZSgpCiAgICAgICAgIHJldHVybiBUcnVlCiAKICAgICBkZWYgX2xpZ2h0dHBkX3BhdGgoc2Vs
ZiwgKmNvbXBzKToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fbWFjX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9tYWNfdW5pdHRlc3QucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDYzZmFhMDBiOTZkNzdmNTQxNTNkODhiYTk5YzcwNjYzYWJlOTVlZQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fbWFjX3VuaXR0ZXN0LnB5CkBAIC0wLDAgKzEsNDAgQEAKKyMgQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCitpbXBvcnQgY2hyb21pdW1fbWFjCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB3ZWJr
aXRweS50aGlyZHBhcnR5Lm1vY2sgaW1wb3J0IE1vY2sKKworCitjbGFzcyBDaHJvbWl1bU1hY1Bv
cnRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2NoZWNrX3dkaWZmX2lu
c3RhbGwoc2VsZik6CisgICAgICAgIHBvcnQgPSBjaHJvbWl1bV9tYWMuQ2hyb21pdW1NYWNQb3J0
KCkKKyAgICAgICAgIyBDdXJyZW50bHkgaXMgYWx3YXlzIHRydWUsIGp1c3QgbG9ncyBpZiBtaXNz
aW5nLgorICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5fY2hlY2tfd2RpZmZfaW5zdGFsbCgp
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jaHJvbWl1bV93aW4ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQppbmRleCBiNDg0ODU5NzAyM2MwMjc2ZTQ2OThl
OTkzYzc2MzM4MGFhYzgzY2IxLi4zMDJhZjg2YjgxNjVhZjNmMDFiNzMwZTAxMGViY2RkOGU5MmUy
NGZhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtX3dpbi5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3dpbi5weQpAQCAtMzEsOSArMzEsNiBAQAogCiBp
bXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCi1pbXBvcnQgcGxhdGZvcm0KLWltcG9ydCBzaWduYWwK
LWltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiAKIGltcG9ydCBjaHJvbWl1bQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsu
cHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5w
eQppbmRleCA4Y2M4YjdkODdmN2UxMDY3NTM2NmRhMjVlNDJlYzkyMWIwN2Y2YTlkLi41OWRjMWQ5
NWQ1NmFlNzQ4NWE2ZTdhMjQ4ODFhMTVlNzZkZGE3OGMxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQpAQCAtMzAsNyAr
MzAsNiBAQAogCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCi1pbXBvcnQgc3VicHJvY2Vzcwog
CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LndlYmtpdCBpbXBvcnQgV2ViS2l0UG9y
dAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L21hYy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvbWFjLnB5CmluZGV4IGYzMjFmYzVlYzAyN2ZhMjgyNDU3NjBmMmFkZjI3MzBkOWM1ZTBj
MDUuLjM1MGIwODg1MTFiYjAxM2I5YzYwZTQ0YTQ3YWIxYjBhZGVlYWNhYTQgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5
CkBAIC0zMCwxNSArMzAsOCBAQAogCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCi1pbXBvcnQg
cGRiCiBpbXBvcnQgcGxhdGZvcm0KLWltcG9ydCByZQotaW1wb3J0IHNodXRpbAogaW1wb3J0IHNp
Z25hbAotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLWltcG9ydCB0aW1lCi1pbXBvcnQg
d2ViYnJvd3NlcgogCiBpbXBvcnQgd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vc3BhdGggYXMgb3Nw
YXRoCiBpbXBvcnQgd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQuc2VydmVyX3Byb2Nlc3MgYXMg
c2VydmVyX3Byb2Nlc3MKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L3F0LnB5CmluZGV4IDU4ZTkwZGNmZDQ1NzA3ZGY4OGU2ODdhMTRlYmM1
MTlmMjMwMzlhMjEuLjkwMzJhMjQ4YWFhNWI0MDRkMGM2Mzk2MjMyMDNmNTUzZGQxZGJhN2IgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
cXQucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9xdC5weQpAQCAtMzAsNyArMzAsNiBAQAogCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCi1p
bXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHNpZ25hbAogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5wb3J0LndlYmtpdCBpbXBvcnQgV2ViS2l0UG9ydApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQppbmRleCBj
NDhlNDUwNjg0Y2U0YjcyN2UyYTI0OGY1NGI5Mzg0ZWZhOTMzOThmLi5hZGE4M2NlNDdkMGZiZWI0
ZDkyMjllY2VmYzMxYjE0YjE5ZTgzODBmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQpAQCAtMzUsMTIgKzM1
LDkgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAogaW1wb3J0IGNvZGVj
cwogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwotaW1wb3J0IHBkYgotaW1wb3J0IHBsYXRmb3Jt
CiBpbXBvcnQgcmUKIGltcG9ydCBzaHV0aWwKIGltcG9ydCBzaWduYWwKLWltcG9ydCBzdWJwcm9j
ZXNzCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogaW1wb3J0IHdlYmJyb3dzZXIKQEAgLTM4OCw3
ICszODUsNiBAQCBjbGFzcyBXZWJLaXREcml2ZXIoYmFzZS5Ecml2ZXIpOgogICAgICAgICAgICAg
Y29tbWFuZCArPSAiJyIgKyBpbWFnZV9oYXNoCiAgICAgICAgIGNvbW1hbmQgKz0gIlxuIgogCi0g
ICAgICAgICMgcGRiLnNldF90cmFjZSgpCiAgICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzLndy
aXRlKGNvbW1hbmQpCiAKICAgICAgICAgaGF2ZV9zZWVuX2NvbnRlbnRfdHlwZSA9IEZhbHNlCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L3dpbi5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2luLnB5CmluZGV4IGY3YjNiNzhmZWJlYzA2ZDE4ZTQwOWZiNzcxM2MyZDlhMWMyNjJlMzkuLjNi
N2E4MTdhMGFiYTQ0NjUwMjQwOTJiMGIyNDVhMDdmMThlYzkyNjUgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5CisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5CkBAIC0z
MCw3ICszMCw2IEBACiAKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9j
ZXNzCiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQud2Via2l0IGltcG9ydCBXZWJL
aXRQb3J0CiAK
</data>
<flag name="review"
          id="38644"
          type_id="1"
          status="+"
          setter="levin"
    />
    <flag name="commit-queue"
          id="38645"
          type_id="3"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>