<?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>102298</bug_id>
          
          <creation_ts>2012-11-14 16:22:09 -0800</creation_ts>
          <short_desc>IndexedDB: database connections don&apos;t close after versionchange transaction aborts</short_desc>
          <delta_ts>2013-02-11 14:15:01 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="David Grogan">dgrogan</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767428</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 16:22:09 -0800</bug_when>
    <thetext>Paraphrased from &quot;4.1 Opening a database&quot;, emphasis added.

7. If the version of db is lower than version, run the steps for running a &quot;versionchange&quot; transaction

8. If the previous step resulted in an error ... ENSURE THAT CONNECTION IS CLOSED by running the steps for closing a database connection.

Chrome doesn&apos;t ensure the connections are closed.  See the lazy-index-population layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767430</commentid>
    <comment_count>1</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 16:22:34 -0800</bug_when>
    <thetext>Chromium bug: http://code.google.com/p/chromium/issues/detail?id=161066</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828795</commentid>
    <comment_count>2</comment_count>
      <attachid>187373</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-08 15:46:57 -0800</bug_when>
    <thetext>Created attachment 187373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828799</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-08 15:50:11 -0800</bug_when>
    <thetext>The patch looks simple, but I actually tried several other approaches first, such as initiating the close from the IDBOpenDBRequest::onError() handler, or the IDBDatabaseBackendImpl::transactionFinishedAndAbortFired(). Neither of those quite work.

I should probably add a dedicated test, although this is covered indirectly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828842</commentid>
    <comment_count>4</comment_count>
      <attachid>187373</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-08 17:02:48 -0800</bug_when>
    <thetext>Comment on attachment 187373
Patch

lgtm

The other approaches don&apos;t quite work because they are too disruptive to the assumptions our code makes about the state of data structures during the open/close/upgradeneeded/complete/abort dance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828853</commentid>
    <comment_count>5</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-08 17:32:12 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; The other approaches don&apos;t quite work because they are too disruptive to the assumptions our code makes about the state of data structures during the open/close/upgradeneeded/complete/abort dance?

Yep. Initiating from the back-end leaves the front-end out of sync so it may call backend-&gt;close() again which isn&apos;t idempotent. (This could be changed to go through the force-close route, I suppose.) I don&apos;t recall why starting from IDBOpenDBRequest::onError didn&apos;t pan out - it was the first thing I tried and I actually had this patch laying around for a while and just dusted it off today.

The important thing is that you can&apos;t do anything with the database before the close happens. I&apos;ll verify this with a test, but from inspection: if upgradeneeded fires the IDBDatabase has a version change transaction, so will not let you initiate another transaction. That doesn&apos;t get cleared out until that transaction&apos;s onComplete or onAbort fires. It&apos;s during the onAbort that the close is initiated, and the close should &quot;complete&quot; once the transaction tells the database it&apos;s finished a few steps later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829833</commentid>
    <comment_count>6</comment_count>
      <attachid>187608</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-11 10:13:11 -0800</bug_when>
    <thetext>Created attachment 187608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829835</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-11 10:13:35 -0800</bug_when>
    <thetext>tony@ - can your review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830113</commentid>
    <comment_count>8</comment_count>
      <attachid>187608</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 14:14:58 -0800</bug_when>
    <thetext>Comment on attachment 187608
Patch

Clearing flags on attachment: 187608

Committed r142513: &lt;http://trac.webkit.org/changeset/142513&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830114</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 14:15:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187373</attachid>
            <date>2013-02-08 15:46:57 -0800</date>
            <delta_ts>2013-02-11 10:13:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102298-20130208154332.patch</filename>
            <type>text/plain</type>
            <size>7957</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBkOTE4MjU4ZjA2NTlj
NWZhYjA2MzgxYTdlNWUxYmNjMGNlY2U4NC4uZGZkMmZkZjg3YzE2ZTllNzVlMmE4ZjEyZjZkMWQ0
ODg1NTliNjg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTA4ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBkYXRh
YmFzZSBjb25uZWN0aW9ucyBkb24ndCBjbG9zZSBhZnRlciB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0
aW9uIGFib3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyMjk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUGVyIHNwZWMsIGNsb3NlIHRoZSBkYXRhYmFzZSBpZiB0aGUgInZlcnNpb25jaGFuZ2UiIHRy
YW5zYWN0aW9uIGFib3J0cy4KKworICAgICAgICBUZXN0czogc3RvcmFnZS9pbmRleGVkZGIvbGF6
eS1pbmRleC1wb3B1bGF0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIHN0b3JhZ2Uvb2JqZWN0c3Rv
cmUtYmFzaWNzLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpvbkFib3J0KTogVGVs
bCB0aGUgSURCRGF0YWJhc2UgKGNvbm5lY3Rpb24pIHRvIGNsb3NlIGlmCisgICAgICAgIHRoaXMg
d2FzIGEgInZlcnNpb25jaGFuZ2UiIHRyYW5zYWN0aW9uLgorCiAyMDEzLTAyLTA3ICBWaXZlayBH
YWxhdGFnZSAgPHZpdmVrLnZnQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENQVSBwZWdnZWQgd2hlbiBpbnNwZWN0aW5nIExvY2FsU3RvcmFnZSB0aGF0IG11dGF0ZXMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAKaW5kZXggYmI2MGI0ZTQ3YTRhMTIxOWJiOGFiYWQyNmJkNDk3MWNmMTViN2IwYS4uYzRiZmJj
YzQ0MjlkYzVhMTYzMTU2NmI4MDM0MWUyZWQ5OWYxZTk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzA3LDYgKzMw
Nyw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9uQWJvcnQoUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUVycm9yPiBwcnBFcnJvcikKICAgICAgICAgZm9yIChJREJPYmplY3RTdG9yZU1ldGFkYXRhTWFw
OjppdGVyYXRvciBpdCA9IG1fb2JqZWN0U3RvcmVDbGVhbnVwTWFwLmJlZ2luKCk7IGl0ICE9IG1f
b2JqZWN0U3RvcmVDbGVhbnVwTWFwLmVuZCgpOyArK2l0KQogICAgICAgICAgICAgaXQtPmtleS0+
c2V0TWV0YWRhdGEoaXQtPnZhbHVlKTsKICAgICAgICAgbV9kYXRhYmFzZS0+c2V0TWV0YWRhdGEo
bV9wcmV2aW91c01ldGFkYXRhKTsKKyAgICAgICAgbV9kYXRhYmFzZS0+Y2xvc2UoKTsKICAgICB9
CiAgICAgbV9vYmplY3RTdG9yZUNsZWFudXBNYXAuY2xlYXIoKTsKICAgICBjbG9zZU9wZW5DdXJz
b3JzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYTlmY2RlM2I4YTZiNDIyODExODI5MDcwZjgwNTM1ZmNhNzQyNTMzMi4u
MjIyMmJiZWZmMzQ4NDViNWUxZmVmMWQ0OTQ2MTM4M2Y0MGI2ODAzYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDEzLTAyLTA4ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgSW5kZXhlZERCOiBkYXRhYmFzZSBjb25uZWN0aW9ucyBkb24ndCBjbG9zZSBhZnRl
ciB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIGFib3J0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMjk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4
LXBvcHVsYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2xh
enktaW5kZXgtcG9wdWxhdGlvbi5odG1sOiBSZW1vdmUgbWFudWFsIGNsb3NpbmcuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mtd29ya2Vycy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVjdHN0
b3JlLWJhc2ljcy5qczogUmVtb3ZlZCBkZXBlbmRlbmN5IG9uIGJ1Zy4KKworICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLmh0bWw6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mtd29ya2Vycy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVj
dHN0b3JlLWJhc2ljcy5qczoKKyAgICAgICAgKHRlc3RTZXRWZXJzaW9uQWJvcnQpOgorICAgICAg
ICAob3BlbkFnYWluKToKKyAgICAgICAgKGFkZERhdGEpOgorCiAyMDEzLTAxLTI3ICBSb2JlcnQg
SG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGZs
b2F0cy0xNDkgZmFpbHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2xhenktaW5kZXgtcG9wdWxhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDgwZDM0
NTEwMzk2YzJjM2UyMTE3ODZlOTRlODVmOTZmYmQ5ODg3OTMuLjAxNTIzZTA3YjZjNzAxYWQ1MTZl
NWI2NmU2MWQzNjk1OWY5YjcwZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLWV4cGVjdGVkLnR4dApA
QCAtNDQsOCArNDQsNiBAQCBQQVNTICsrc3RhdGUgaXMgMwogUEFTUyB0cmFucy5lcnJvci5uYW1l
IGlzICdDb25zdHJhaW50RXJyb3InCiAKIFZlcmlmeSB0aGF0IHVuaXF1ZW5lc3MgY29uc3RyYWlu
dHMgYXJlIGVuZm9yY2VkIHdoZW4gaW5kZXggaXMgY3JlYXRlZCBhZnRlciBwdXRzOgotRklYTUU6
IFNjcmlwdCBzaG91bGRuJ3QgaGF2ZSB0byBleHBsaWNpdGx5IGNsb3NlIGNvbm5lY3Rpb24gYWZ0
ZXIgaXQgZmFpbGVkIHRvIG9wZW4uIGh0dHA6Ly93a2J1Zy5jb20vMTAyMjk4Ci1jb25uZWN0aW9u
LmNsb3NlKCkKIGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMykKIGRlbGV0ZUFsbE9iamVjdFN0b3Jl
cyhjb25uZWN0aW9uKQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLmh0bWwK
aW5kZXggNGE0NmYzZmU5OTA4MmI4ZjU2M2VhM2U3YWVkNjAxNzhkMWEyNThmOC4uOGJmZjRiMGVk
ZDVmMDk1MWYyNWM5YzM2ZTZlZmVhYTcwN2Y0YTEyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLmh0bWwKQEAgLTky
LDggKzkyLDYgQEAgZnVuY3Rpb24gdmVyaWZ5UHV0VGhlbkNyZWF0ZSgpCiAgICAgZGVidWcoIiIp
OwogICAgIGRlYnVnKCJWZXJpZnkgdGhhdCB1bmlxdWVuZXNzIGNvbnN0cmFpbnRzIGFyZSBlbmZv
cmNlZCB3aGVuIGluZGV4IGlzIGNyZWF0ZWQgYWZ0ZXIgcHV0czoiKTsKIAotICAgIGRlYnVnKCJG
SVhNRTogU2NyaXB0IHNob3VsZG4ndCBoYXZlIHRvIGV4cGxpY2l0bHkgY2xvc2UgY29ubmVjdGlv
biBhZnRlciBpdCBmYWlsZWQgdG8gb3Blbi4gaHR0cDovL3drYnVnLmNvbS8xMDIyOTgiKTsKLSAg
ICBldmFsQW5kTG9nKCJjb25uZWN0aW9uLmNsb3NlKCkiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9
IHZlcmlmeVB1dFRoZW5DcmVhdGVUaGVuUHV0OwogICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5l
eHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGFk
ZGE3NmJiNmQzZjgzZmZjM2Q5ODAzYjIxMGRiODBhNDI0NjliMDMuLmFjZjdlODVkZmQxMzcwMmNk
MmI0YzBlMTljYTVhZWE5NjlhNTY3YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAt
NzksNiArNzksMTIgQEAgUEFTUyBzdG9yZS5pbmRleE5hbWVzWzFdIGlzIHVuZGVmaW5lZC4KIFBB
U1Mgc3RvcmUuaW5kZXhOYW1lc1sxMDBdIGlzIHVuZGVmaW5lZC4KIFBBU1Mgc3RvcmUuaW5kZXhO
YW1lcy5pdGVtKDEpIGlzIG51bGwKIFBBU1Mgc3RvcmUuaW5kZXhOYW1lcy5pdGVtKDEwMCkgaXMg
bnVsbAorCitvcGVuQWdhaW4oKToKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKKworYWRkRGF0YSgp
OgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KFsnc3RvcmVOYW1lJ10sICdyZWFkd3JpdGUnKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKIFRyeSB0byBpbnNlcnQgZGF0YSB3aXRoIGEgRGF0ZSBrZXk6CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNp
Y3Mtd29ya2Vycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQKaW5kZXggNGU0ZjE5NjBjYmNh
ZTk1NjVhMjQ5NmNhMDk1NTc3OTEyZjBiMjVhNi4uODg3OGI5NWQ3ZjUwODU4YWQ0NDQxMzkxNWNl
NzJhNmNmM2I1NGIzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy13b3JrZXJzLWV4cGVjdGVkLnR4
dApAQCAtODAsNiArODAsMTIgQEAgUEFTUyBbV29ya2VyXSBzdG9yZS5pbmRleE5hbWVzWzFdIGlz
IHVuZGVmaW5lZC4KIFBBU1MgW1dvcmtlcl0gc3RvcmUuaW5kZXhOYW1lc1sxMDBdIGlzIHVuZGVm
aW5lZC4KIFBBU1MgW1dvcmtlcl0gc3RvcmUuaW5kZXhOYW1lcy5pdGVtKDEpIGlzIG51bGwKIFBB
U1MgW1dvcmtlcl0gc3RvcmUuaW5kZXhOYW1lcy5pdGVtKDEwMCkgaXMgbnVsbAorW1dvcmtlcl0g
CitbV29ya2VyXSBvcGVuQWdhaW4oKToKK1tXb3JrZXJdIGluZGV4ZWREQi5vcGVuKGRibmFtZSkK
K1tXb3JrZXJdIAorW1dvcmtlcl0gYWRkRGF0YSgpOgorW1dvcmtlcl0gZGIgPSBldmVudC50YXJn
ZXQucmVzdWx0CiBbV29ya2VyXSB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sICdyZWFkd3JpdGUnKQogW1dvcmtlcl0gc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKIFtXb3JrZXJdIFRyeSB0byBpbnNlcnQgZGF0YSB3aXRoIGEgRGF0
ZSBrZXk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvb2JqZWN0c3RvcmUtYmFzaWNzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVzb3VyY2VzL29iamVjdHN0b3JlLWJhc2ljcy5qcwppbmRleCBjODAxYmZjNTgzMDAxOTAzM2Y0
NGViZjczMDk4OTlmZmUyZjcyNTI3Li4wZTk3Y2JhYmFlZjBjY2VmNDQxNmU5ZDQzNGQxNzIzMmVh
ZmJiZjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvb2JqZWN0c3RvcmUtYmFzaWNzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1iYXNpY3MuanMKQEAgLTc1LDkgKzc1LDcgQEAgZnVu
Y3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydCgpCiAgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSBjb25u
ZWN0aW9uMkJsb2NrZWQ7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1bmV4cGVjdGVkU3VjY2Vz
c0NhbGxiYWNrOwogICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gY3JlYXRlQW5vdGhlcklu
ZGV4OwotICAgIC8vIEZJWE1FOiBhZGREYXRhIGlzIG9ubHkgYWJsZSB0byBjb250aW51ZSB3aXRo
IHRoZSB0ZXN0IGJlY2F1c2Ugb2YKLSAgICAvLyBodHRwOi8vd2tiLnVnLzEwMjI5OC4KLSAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSBhZGREYXRhOworICAgIHJlcXVlc3Qub25lcnJvciA9IG9wZW5BZ2Fp
bjsKIH0KIAogZnVuY3Rpb24gY29ubmVjdGlvbjJCbG9ja2VkKCkKQEAgLTEyMCw4ICsxMTgsMjEg
QEAgZnVuY3Rpb24gY2hlY2tNZXRhZGF0YSgpCiB2YXIgdGVzdERhdGUgPSBuZXcgRGF0ZSgiQXVn
dXN0IDI1LCAxOTkxIDIwOjU3OjA4Iik7CiB2YXIgdGVzdERhdGVCID0gbmV3IERhdGUoIldlZCBK
YW4gMDUgMjAxMSAxNTo1NDo0OSIpOwogCi1mdW5jdGlvbiBhZGREYXRhKCkKK2Z1bmN0aW9uIG9w
ZW5BZ2FpbigpCiB7CisgICAgcHJlYW1ibGUoKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygn
aW5kZXhlZERCLm9wZW4oZGJuYW1lKScpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2Nr
ZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHVuZXhwZWN0ZWRVcGdy
YWRlTmVlZGVkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhZGREYXRhOworfQor
CitmdW5jdGlvbiBhZGREYXRhKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworCiAgICAgdmFyIHRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSdd
LCAncmVhZHdyaXRlJykiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7CiAgICAgc2VsZi5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187608</attachid>
            <date>2013-02-11 10:13:11 -0800</date>
            <delta_ts>2013-02-11 14:14:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102298-20130211100942.patch</filename>
            <type>text/plain</type>
            <size>12497</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2QwOGRkNmM3OWUyOTYw
ZDBjMWQyYzdkMjM2OGZlNzRiMmViMGM4Mi4uYmE0ZWRiNTQyZTliNzBiNjBjZTgzODAxYzk0YTA5
ZWIzN2Y3YWM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTExICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBkYXRh
YmFzZSBjb25uZWN0aW9ucyBkb24ndCBjbG9zZSBhZnRlciB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0
aW9uIGFib3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyMjk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUGVyIHNwZWMsIGNsb3NlIHRoZSBkYXRhYmFzZSBpZiB0aGUgInZlcnNpb25jaGFuZ2UiIHRy
YW5zYWN0aW9uIGFib3J0cy4KKworICAgICAgICBUZXN0czogc3RvcmFnZS9pbmRleGVkZGIvYWJv
cnRlZC12ZXJzaW9uY2hhbmdlLWNsb3Nlcy5odG1sCisgICAgICAgICAgICAgICBzdG9yYWdlL2lu
ZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24uaHRtbAorICAgICAgICAgICAgICAgc3RvcmFn
ZS9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9u
QWJvcnQpOiBUZWxsIHRoZSBJREJEYXRhYmFzZSAoY29ubmVjdGlvbikgdG8gY2xvc2UgaWYKKyAg
ICAgICAgdGhpcyB3YXMgYSAidmVyc2lvbmNoYW5nZSIgdHJhbnNhY3Rpb24uCisKIDIwMTMtMDIt
MDYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0g
UmVuYW1lIGlzb2xhdGVkKCkgdG8gZ2V0V29ybGQoKSwgcmVuYW1lIHdvcmxkRm9yRW50ZXJlZENv
bnRleHRJZklzb2xhdGVkKCkgdG8gd29ybGRGb3JFbnRlcmVkQ29udGV4dCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKaW5kZXgg
MTA2MzE4YzdiNTZhODE2OTcyNDRhMmVkNzM5MmNhZGIyMDEwNmI3MC4uNDg5MDVjNTAxNGUwZTQ4
YTZjMjlmNzI4MDMzMmFlNzYwYjBjOTYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzA1LDYgKzMwNSw3IEBAIHZv
aWQgSURCVHJhbnNhY3Rpb246Om9uQWJvcnQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPiBw
cnBFcnJvcikKICAgICAgICAgZm9yIChJREJPYmplY3RTdG9yZU1ldGFkYXRhTWFwOjppdGVyYXRv
ciBpdCA9IG1fb2JqZWN0U3RvcmVDbGVhbnVwTWFwLmJlZ2luKCk7IGl0ICE9IG1fb2JqZWN0U3Rv
cmVDbGVhbnVwTWFwLmVuZCgpOyArK2l0KQogICAgICAgICAgICAgaXQtPmtleS0+c2V0TWV0YWRh
dGEoaXQtPnZhbHVlKTsKICAgICAgICAgbV9kYXRhYmFzZS0+c2V0TWV0YWRhdGEobV9wcmV2aW91
c01ldGFkYXRhKTsKKyAgICAgICAgbV9kYXRhYmFzZS0+Y2xvc2UoKTsKICAgICB9CiAgICAgbV9v
YmplY3RTdG9yZUNsZWFudXBNYXAuY2xlYXIoKTsKICAgICBjbG9zZU9wZW5DdXJzb3JzKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZTY0OWFiYjhkYTAxNGU3NTQxN2ViMjU3ZjZhOTY5M2IzODA1NTVkMi4uMjZjYWE3YTc0
YWFhMzA1NzNmZmMyYzk3YWE0NWViMTI0NDg4ZTZkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisy
MDEzLTAyLTExICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
SW5kZXhlZERCOiBkYXRhYmFzZSBjb25uZWN0aW9ucyBkb24ndCBjbG9zZSBhZnRlciB2ZXJzaW9u
Y2hhbmdlIHRyYW5zYWN0aW9uIGFib3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMjk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgZGVkaWNhdGVkIHRlc3QsIHVwZGF0ZWQgdGVzdHMgZGVw
ZW5kZW50IG9uIGJ1Z2d5IGJlaGF2aW9yLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
YWJvcnRlZC12ZXJzaW9uY2hhbmdlLWNsb3Nlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2Fib3J0ZWQtdmVyc2lvbmNoYW5nZS1jbG9zZXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9u
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBv
cHVsYXRpb24uaHRtbDogUmVtb3ZlIG1hbnVhbCBjbG9zaW5nLgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9hYm9ydGVkLXZlcnNpb25jaGFu
Z2UtY2xvc2VzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvb2JqZWN0c3RvcmUtYmFzaWNzLmpzOiBSZW1vdmVkIGRlcGVuZGVuY3kgb24gYnVnLgorCiAy
MDEzLTAyLTEwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkIGdhcmRlbmluZy4gUmViYXNlbGluZWQgYW4gaW1hZ2UuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xv
c2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Fib3J0ZWQt
dmVyc2lvbmNoYW5nZS1jbG9zZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwNzY2NmUyYmRl
M2IzNTdlMmE5MDg4MTczYmExZTg1N2U3ODQ2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQ2IEBACitUZXN0IHRoYXQgYW4gYWJvcnRlZCAndmVyc2lvbmNo
YW5nZScgdHJhbnNhY3Rpb24gY2xvc2VzIHRoZSBjb25uZWN0aW9uLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJr
aXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBz
ZWxmLk9JbmRleGVkREI7CisKK2RibmFtZSA9ICJhYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2Vz
Lmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4o
ZGJuYW1lLCAxKQorCitwcmVwYXJlRGF0YWJhc2UoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAorZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykKKworb25PcGVuKCk6CitkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKK2RiLmNsb3NlKCkKKworb3BlbkFnYWluKCk6CityZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lLCAyKQorCitvblVwZ3JhZGVOZWVkZWQoKToKK2RiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAordHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24KK3Nh
d1RyYW5zYWN0aW9uQWJvcnQgPSBmYWxzZQorCitvblRyYW5zYWN0aW9uQWJvcnQoKToKK3Nhd1Ry
YW5zYWN0aW9uQWJvcnQgPSB0cnVlCitjcmVhdGluZyBhIHRyYW5zYWN0aW9uIHNob3VsZCBmYWls
IGJlY2F1c2UgY29ubmVjdGlvbiBpcyBjbG9zZWQ6CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJ
bnZhbGlkU3RhdGVFcnJvcicKKworb25PcGVuRXJyb3IoKToKK1BBU1Mgc2F3VHJhbnNhY3Rpb25B
Ym9ydCBpcyB0cnVlCitjcmVhdGluZyBhIHRyYW5zYWN0aW9uIHNob3VsZCBmYWlsIGJlY2F1c2Ug
Y29ubmVjdGlvbiBpcyBjbG9zZWQ6CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlJykKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMg
RE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJbnZhbGlkU3Rh
dGVFcnJvcicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZl
cnNpb25jaGFuZ2UtY2xvc2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9h
Ym9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWU1OGU3NWE3MzQ0
NDhiM2Y0NDY1NjcyYzMwMmMxNTg2ZmMzN2FhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Fib3J0ZWQtdmVyc2lvbmNoYW5nZS1jbG9zZXMuaHRtbApA
QCAtMCwwICsxLDEwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi1leHBlY3RlZC50eHQKaW5k
ZXggODBkMzQ1MTAzOTZjMmMzZTIxMTc4NmU5NGU4NWY5NmZiZDk4ODc5My4uMDE1MjNlMDdiNmM3
MDFhZDUxNmU1YjY2ZTYxZDM2OTU5ZjliNzBlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24tZXhwZWN0
ZWQudHh0CkBAIC00NCw4ICs0NCw2IEBAIFBBU1MgKytzdGF0ZSBpcyAzCiBQQVNTIHRyYW5zLmVy
cm9yLm5hbWUgaXMgJ0NvbnN0cmFpbnRFcnJvcicKIAogVmVyaWZ5IHRoYXQgdW5pcXVlbmVzcyBj
b25zdHJhaW50cyBhcmUgZW5mb3JjZWQgd2hlbiBpbmRleCBpcyBjcmVhdGVkIGFmdGVyIHB1dHM6
Ci1GSVhNRTogU2NyaXB0IHNob3VsZG4ndCBoYXZlIHRvIGV4cGxpY2l0bHkgY2xvc2UgY29ubmVj
dGlvbiBhZnRlciBpdCBmYWlsZWQgdG8gb3Blbi4gaHR0cDovL3drYnVnLmNvbS8xMDIyOTgKLWNv
bm5lY3Rpb24uY2xvc2UoKQogaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKQogZGVsZXRlQWxsT2Jq
ZWN0U3RvcmVzKGNvbm5lY3Rpb24pCiBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRp
b24uaHRtbAppbmRleCA0YTQ2ZjNmZTk5MDgyYjhmNTYzZWEzZTdhZWQ2MDE3OGQxYTI1OGY4Li44
YmZmNGIwZWRkNWYwOTUxZjI1YzljMzZlNmVmZWFhNzA3ZjRhMTIxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24uaHRt
bApAQCAtOTIsOCArOTIsNiBAQCBmdW5jdGlvbiB2ZXJpZnlQdXRUaGVuQ3JlYXRlKCkKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoIlZlcmlmeSB0aGF0IHVuaXF1ZW5lc3MgY29uc3RyYWludHMg
YXJlIGVuZm9yY2VkIHdoZW4gaW5kZXggaXMgY3JlYXRlZCBhZnRlciBwdXRzOiIpOwogCi0gICAg
ZGVidWcoIkZJWE1FOiBTY3JpcHQgc2hvdWxkbid0IGhhdmUgdG8gZXhwbGljaXRseSBjbG9zZSBj
b25uZWN0aW9uIGFmdGVyIGl0IGZhaWxlZCB0byBvcGVuLiBodHRwOi8vd2tidWcuY29tLzEwMjI5
OCIpOwotICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24uY2xvc2UoKSIpOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihkYm5hbWUsIDMpIik7CiAgICAgcmVxdWVzdC5v
bmVycm9yID0gdmVyaWZ5UHV0VGhlbkNyZWF0ZVRoZW5QdXQ7CiAgICAgcmVxdWVzdC5vbmJsb2Nr
ZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQK
aW5kZXggYWRkYTc2YmI2ZDNmODNmZmMzZDk4MDNiMjEwZGI4MGE0MjQ2OWIwMy4uYWNmN2U4NWRm
ZDEzNzAyY2QyYjRjMGUxOWNhNWFlYTk2OWE1NjdhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQu
dHh0CkBAIC03OSw2ICs3OSwxMiBAQCBQQVNTIHN0b3JlLmluZGV4TmFtZXNbMV0gaXMgdW5kZWZp
bmVkLgogUEFTUyBzdG9yZS5pbmRleE5hbWVzWzEwMF0gaXMgdW5kZWZpbmVkLgogUEFTUyBzdG9y
ZS5pbmRleE5hbWVzLml0ZW0oMSkgaXMgbnVsbAogUEFTUyBzdG9yZS5pbmRleE5hbWVzLml0ZW0o
MTAwKSBpcyBudWxsCisKK29wZW5BZ2FpbigpOgoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorCith
ZGREYXRhKCk6CitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIHRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgJ3JlYWR3cml0ZScpCiBzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogVHJ5IHRvIGluc2VydCBkYXRhIHdpdGggYSBEYXRl
IGtleToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWJhc2ljcy13b3JrZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy13b3JrZXJzLWV4cGVjdGVkLnR4dAppbmRleCA0ZTRm
MTk2MGNiY2FlOTU2NWEyNDk2Y2EwOTU1Nzc5MTJmMGIyNWE2Li44ODc4Yjk1ZDdmNTA4NThhZDQ0
NDEzOTE1Y2U3MmE2Y2YzYjU0YjNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mtd29ya2Vycy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMtZXhw
ZWN0ZWQudHh0CkBAIC04MCw2ICs4MCwxMiBAQCBQQVNTIFtXb3JrZXJdIHN0b3JlLmluZGV4TmFt
ZXNbMV0gaXMgdW5kZWZpbmVkLgogUEFTUyBbV29ya2VyXSBzdG9yZS5pbmRleE5hbWVzWzEwMF0g
aXMgdW5kZWZpbmVkLgogUEFTUyBbV29ya2VyXSBzdG9yZS5pbmRleE5hbWVzLml0ZW0oMSkgaXMg
bnVsbAogUEFTUyBbV29ya2VyXSBzdG9yZS5pbmRleE5hbWVzLml0ZW0oMTAwKSBpcyBudWxsCitb
V29ya2VyXSAKK1tXb3JrZXJdIG9wZW5BZ2FpbigpOgorW1dvcmtlcl0gaW5kZXhlZERCLm9wZW4o
ZGJuYW1lKQorW1dvcmtlcl0gCitbV29ya2VyXSBhZGREYXRhKCk6CitbV29ya2VyXSBkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKIFtXb3JrZXJdIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgJ3JlYWR3cml0ZScpCiBbV29ya2VyXSBzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogW1dvcmtlcl0gVHJ5IHRvIGluc2VydCBkYXRhIHdp
dGggYSBEYXRlIGtleToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmpzIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2Fib3J0ZWQtdmVyc2lvbmNoYW5nZS1jbG9zZXMu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTc0MDcxNjhjZjBkNWI0NTU1NmVhZTlmOThjMGRjODk1ZGU3YjY0ZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmpzCkBAIC0wLDAgKzEsNTkgQEAKK2lmICh0
aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5q
cycpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGFuIGFib3J0ZWQgJ3ZlcnNpb25jaGFu
Z2UnIHRyYW5zYWN0aW9uIGNsb3NlcyB0aGUgY29ubmVjdGlvbi4iKTsKKworaW5kZXhlZERCVGVz
dChwcmVwYXJlRGF0YWJhc2UsIG9uT3Blbiwge3ZlcnNpb246IDF9KTsKK2Z1bmN0aW9uIHByZXBh
cmVEYXRhYmFzZShldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgnc3RvcmUnKSIpOworfQorCitmdW5jdGlvbiBvbk9wZW4oZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7CisgICAgZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOworICAgIG9wZW5BZ2FpbigpOworfQorCitm
dW5jdGlvbiBvcGVuQWdhaW4oKSB7CisgICAgcHJlYW1ibGUoKTsKKyAgICBldmFsQW5kTG9nKCJy
ZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9
IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQg
PSBvblVwZ3JhZGVOZWVkZWQ7CisgICAgcmVxdWVzdC5vbmVycm9yID0gb25PcGVuRXJyb3I7Cit9
CisKK2Z1bmN0aW9uIG9uVXBncmFkZU5lZWRlZChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsK
KyAgICBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5k
TG9nKCJ0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbiIpOworICAgIGV2YWxB
bmRMb2coInNhd1RyYW5zYWN0aW9uQWJvcnQgPSBmYWxzZSIpOworICAgIHRyYW5zYWN0aW9uLm9u
Y29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKKyAgICB0cmFuc2FjdGlvbi5v
bmFib3J0ID0gb25UcmFuc2FjdGlvbkFib3J0OworICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7Cit9
CisKK2Z1bmN0aW9uIG9uVHJhbnNhY3Rpb25BYm9ydChldnQpCit7CisgICAgcHJlYW1ibGUoZXZ0
KTsKKyAgICBldmFsQW5kTG9nKCJzYXdUcmFuc2FjdGlvbkFib3J0ID0gdHJ1ZSIpOworICAgIGRl
YnVnKCJjcmVhdGluZyBhIHRyYW5zYWN0aW9uIHNob3VsZCBmYWlsIGJlY2F1c2UgY29ubmVjdGlv
biBpcyBjbG9zZWQ6Iik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rp
b24oJ3N0b3JlJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlk
U3RhdGVFcnJvciciKTsKK30KKworZnVuY3Rpb24gb25PcGVuRXJyb3IoZXZ0KQoreworICAgIHBy
ZWFtYmxlKGV2dCk7CisgICAgc2hvdWxkQmVUcnVlKCJzYXdUcmFuc2FjdGlvbkFib3J0Iik7Cisg
ICAgZGVidWcoImNyZWF0aW5nIGEgdHJhbnNhY3Rpb24gc2hvdWxkIGZhaWwgYmVjYXVzZSBjb25u
ZWN0aW9uIGlzIGNsb3NlZDoiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFu
c2FjdGlvbignc3RvcmUnKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0lu
dmFsaWRTdGF0ZUVycm9yJyIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLWJhc2lj
cy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9y
ZS1iYXNpY3MuanMKaW5kZXggYzgwMWJmYzU4MzAwMTkwMzNmNDRlYmY3MzA5ODk5ZmZlMmY3MjUy
Ny4uMGU5N2NiYWJhZWYwY2NlZjQ0MTZlOWQ0MzRkMTcyMzJlYWZiYmYxNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLWJhc2lj
cy5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0
c3RvcmUtYmFzaWNzLmpzCkBAIC03NSw5ICs3NSw3IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9u
QWJvcnQoKQogICAgIHJlcXVlc3Qub25ibG9ja2VkID0gY29ubmVjdGlvbjJCbG9ja2VkOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gdW5leHBlY3RlZFN1Y2Nlc3NDYWxsYmFjazsKICAgICByZXF1
ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGNyZWF0ZUFub3RoZXJJbmRleDsKLSAgICAvLyBGSVhNRTog
YWRkRGF0YSBpcyBvbmx5IGFibGUgdG8gY29udGludWUgd2l0aCB0aGUgdGVzdCBiZWNhdXNlIG9m
Ci0gICAgLy8gaHR0cDovL3drYi51Zy8xMDIyOTguCi0gICAgcmVxdWVzdC5vbmVycm9yID0gYWRk
RGF0YTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSBvcGVuQWdhaW47CiB9CiAKIGZ1bmN0aW9uIGNv
bm5lY3Rpb24yQmxvY2tlZCgpCkBAIC0xMjAsOCArMTE4LDIxIEBAIGZ1bmN0aW9uIGNoZWNrTWV0
YWRhdGEoKQogdmFyIHRlc3REYXRlID0gbmV3IERhdGUoIkF1Z3VzdCAyNSwgMTk5MSAyMDo1Nzow
OCIpOwogdmFyIHRlc3REYXRlQiA9IG5ldyBEYXRlKCJXZWQgSmFuIDA1IDIwMTEgMTU6NTQ6NDki
KTsKIAotZnVuY3Rpb24gYWRkRGF0YSgpCitmdW5jdGlvbiBvcGVuQWdhaW4oKQogeworICAgIHBy
ZWFtYmxlKCk7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coJ2luZGV4ZWREQi5vcGVuKGRibmFt
ZSknKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAg
ICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAgcmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1bmV4cGVjdGVkVXBncmFkZU5lZWRlZENhbGxiYWNrOwor
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWRkRGF0YTsKK30KKworZnVuY3Rpb24gYWRkRGF0YShl
dnQpCit7CisgICAgcHJlYW1ibGUoZXZ0KTsKKyAgICBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKKwogICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgJ3JlYWR3cml0ZScpIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHNl
bGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKSIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>