<?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>109972</bug_id>
          
          <creation_ts>2013-02-15 14:19:33 -0800</creation_ts>
          <short_desc>IDB Cursor continue moves one item at a time</short_desc>
          <delta_ts>2013-03-18 16:56:30 -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>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>pankaj</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</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>834371</commentid>
    <comment_count>0</comment_count>
    <who name="">pankaj</who>
    <bug_when>2013-02-15 14:19:33 -0800</bug_when>
    <thetext>IDB Cursor continue moves one item at a time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834374</commentid>
    <comment_count>1</comment_count>
      <attachid>188643</attachid>
    <who name="">pankaj</who>
    <bug_when>2013-02-15 14:24:38 -0800</bug_when>
    <thetext>Created attachment 188643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834396</commentid>
    <comment_count>2</comment_count>
      <attachid>188643</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-02-15 14:49:45 -0800</bug_when>
    <thetext>Comment on attachment 188643
Patch

lgtm - thanks!

I don&apos;t think we have any particular perf tests for this unfortunately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836693</commentid>
    <comment_count>3</comment_count>
      <attachid>188643</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-19 12:54:41 -0800</bug_when>
    <thetext>Comment on attachment 188643
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        optimization.

Include your performance numbers, even if it&apos;s a manual A/B test. I think you had a case where the cost of ~700 continues went from ~500ms to ~80ms ?

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1273
&gt; +    bool firstIteration = true;

It looks like a follow-up patch could potentially simplify firstSeek()/IteratorState/firstIteration a bit, but I think this is good for now.

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1284
&gt; +            if (firstIteration &amp;&amp; key &amp;&amp; forward) {

Maybe add FIXME comment to optimize key seeking for reverse cursors?

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1414
&gt; +        return ObjectStoreDataKey::encode(

No line wrap here.

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1476
&gt; +        return ObjectStoreDataKey::encode(

No line wrap here.

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1546
&gt; +        return IndexDataKey::encode(

No line wrap here.

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1638
&gt; +        return IndexDataKey::encode(

No line wrap here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853612</commentid>
    <comment_count>4</comment_count>
      <attachid>192767</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-12 10:55:06 -0700</bug_when>
    <thetext>Created attachment 192767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853620</commentid>
    <comment_count>5</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-12 10:58:03 -0700</bug_when>
    <thetext>Tweaked the patch based on feedback. Added perf numbers to CL.

Note that I wasn&apos;t able to replicate quite as dramatic a speedup as Pankaj communicated in email. With a basic test in a release build in Chrome - over an index w/ 100 items, open a cursor, then seek to item 50 - I saw &quot;only&quot; a 2x speedup.

dgrogan@, alecflett@ - one last look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853854</commentid>
    <comment_count>6</comment_count>
      <attachid>192767</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-03-12 15:32:03 -0700</bug_when>
    <thetext>Comment on attachment 192767
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856201</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-15 12:49:05 -0700</bug_when>
    <thetext>Chromium-side performance test posted to: https://codereview.chromium.org/12780007/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856202</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-15 12:49:32 -0700</bug_when>
    <thetext>tony@ - r?

I won&apos;t land this until the Chromium perf test is in and has some data collected, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856233</commentid>
    <comment_count>9</comment_count>
      <attachid>192767</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-15 13:22:21 -0700</bug_when>
    <thetext>Comment on attachment 192767
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:1325
&gt; +            } else {
&gt; +                if (forward)
&gt; +                    m_iterator-&gt;next();
&gt; +                else
&gt; +                    m_iterator-&gt;prev();
&gt; +            }

Nit: You could merge the condition into an &quot;else if/else&quot; with the outer if.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857612</commentid>
    <comment_count>10</comment_count>
      <attachid>193665</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-18 15:08:21 -0700</bug_when>
    <thetext>Created attachment 193665
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857650</commentid>
    <comment_count>11</comment_count>
      <attachid>193665</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 15:47:59 -0700</bug_when>
    <thetext>Comment on attachment 193665
Patch for landing

Rejecting attachment 193665 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-04&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 193665, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
ebkit-commit-queue/Source/WebKit/chromium/third_party/ots --revision 97 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
43&gt;At revision 97.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://webkit-commit-queue.appspot.com/results/17209397</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857709</commentid>
    <comment_count>12</comment_count>
      <attachid>193687</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-18 16:34:39 -0700</bug_when>
    <thetext>Created attachment 193687
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857733</commentid>
    <comment_count>13</comment_count>
      <attachid>193687</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 16:56:26 -0700</bug_when>
    <thetext>Comment on attachment 193687
Patch for landing

Clearing flags on attachment: 193687

Committed r146152: &lt;http://trac.webkit.org/changeset/146152&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857735</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 16:56:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188643</attachid>
            <date>2013-02-15 14:24:38 -0800</date>
            <delta_ts>2013-03-12 10:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109972-20130215142104.patch</filename>
            <type>text/plain</type>
            <size>7341</size>
            <attacher>pankaj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYyZGM3MTc5MDA4OTlh
OTQyZjY0ZmE0OWI5OGM2NzE3MjY4M2UyOC4uZGEyNGI1MTJiNzgyYmFiOTcxYzQ5YjA3YTBiZDMw
OTUyMTQ2NTI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAyLTE1ICBQYW5r
YWogS2Fra2FyICA8cGFua2FqQGdvb2dsZS5jb20+CisKKyAgICAgICAgSURCIEN1cnNvciBjb250
aW51ZSBtb3ZlcyBvbmUgaXRlbSBhdCBhIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTk3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQjogVXNlIHNlZWsgb24gdGhlIHVuZGVybHlp
bmcgbGV2ZWxEQiBpdGVyYXRvciB0byBpbXBsZW1lbnQKKyAgICAgICAgdGhlIGNvbnRpbnVlIG9w
ZXJhdGlvbiBvbiBhIGN1cnNvciwgaW5zdGVhZCBvZiBhZHZhbmNpbmcgb25lIGl0ZW0gYXQKKyAg
ICAgICAgYSB0aW1lLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rpbmcgc3RvcmFnZS9pbmRl
eGVkZGIgY3Vyc29yIHRlc3RzOyBqdXN0IGEgcGVyZm9ybWFuY2UKKyAgICAgICAgb3B0aW1pemF0
aW9uLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpjb250aW51ZUZ1bmN0
aW9uKToKKyAgICAgICAgKE9iamVjdFN0b3JlS2V5Q3Vyc29ySW1wbCk6CisgICAgICAgIChXZWJD
b3JlOjpPYmplY3RTdG9yZUtleUN1cnNvckltcGw6OmVuY29kZUtleSk6CisgICAgICAgIChPYmpl
Y3RTdG9yZUN1cnNvckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6T2JqZWN0U3RvcmVDdXJzb3JJ
bXBsOjplbmNvZGVLZXkpOgorICAgICAgICAoSW5kZXhLZXlDdXJzb3JJbXBsKToKKyAgICAgICAg
KFdlYkNvcmU6OkluZGV4S2V5Q3Vyc29ySW1wbDo6ZW5jb2RlS2V5KToKKyAgICAgICAgKEluZGV4
Q3Vyc29ySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbmRleEN1cnNvckltcGw6OmVuY29kZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpvYmplY3RTdG9yZUN1cnNvck9wdGlvbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6aW5kZXhDdXJzb3JPcHRpb25zKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKEN1cnNvck9wdGlvbnMpOgorICAgICAg
ICAoQ3Vyc29yKToKKwogMjAxMy0wMi0xMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBw
bGUuY29tPgogCiAgICAgICAgICBBWDogY3Jhc2ggd2hlbiBhY2Nlc3NpbmcgQWNjZXNzaWJpbGl0
eVNjcm9sbGJhciBhZnRlciBwYWdlIGhhcyBiZWVuIHVubG9hZGVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCA1YTJj
ZTE0M2YzODBkYjM4N2QzNTRlOTQ2N2JiNzEzNjkxZjhjMjIzLi40MmY2MDJhOGUxZjdkZWUyZGZh
YjdjYmVlODhjNzRkOGJmZTUxMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAKQEAgLTEyNzAsNiArMTI3MCw4IEBAIGJv
b2wgSURCQmFja2luZ1N0b3JlOjpDdXJzb3I6OmNvbnRpbnVlRnVuY3Rpb24oY29uc3QgSURCS2V5
KiBrZXksIEl0ZXJhdG9yU3RhdGUKIHsKICAgICBSZWZQdHI8SURCS2V5PiBwcmV2aW91c0tleSA9
IG1fY3VycmVudEtleTsKIAorICAgIGJvb2wgZmlyc3RJdGVyYXRpb24gPSB0cnVlOworCiAgICAg
Ly8gV2hlbiBpdGVyYXRpbmcgd2l0aCBQUkVWX05PX0RVUExJQ0FURSwgc3BlYyByZXF1aXJlcyB0
aGF0IHRoZQogICAgIC8vIHZhbHVlIHdlIHlpZWxkIGZvciBlYWNoIGtleSBpcyB0aGUgZmlyc3Qg
ZHVwbGljYXRlIGluIGZvcndhcmRzCiAgICAgLy8gb3JkZXIuCkBAIC0xMjc5LDEwICsxMjgxLDE1
IEBAIGJvb2wgSURCQmFja2luZ1N0b3JlOjpDdXJzb3I6OmNvbnRpbnVlRnVuY3Rpb24oY29uc3Qg
SURCS2V5KiBrZXksIEl0ZXJhdG9yU3RhdGUKIAogICAgIGZvciAoOzspIHsKICAgICAgICAgaWYg
KG5leHRTdGF0ZSA9PSBTZWVrKSB7Ci0gICAgICAgICAgICBpZiAoZm9yd2FyZCkKLSAgICAgICAg
ICAgICAgICBtX2l0ZXJhdG9yLT5uZXh0KCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgbV9pdGVyYXRvci0+cHJldigpOworICAgICAgICAgICAgaWYgKGZpcnN0SXRlcmF0aW9u
ICYmIGtleSAmJiBmb3J3YXJkKSB7CisgICAgICAgICAgICAgICAgbV9pdGVyYXRvci0+c2Vlayhl
bmNvZGVLZXkoKmtleSkpOworICAgICAgICAgICAgICAgIGZpcnN0SXRlcmF0aW9uID0gZmFsc2U7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChmb3J3YXJkKQorICAg
ICAgICAgICAgICAgICAgICBtX2l0ZXJhdG9yLT5uZXh0KCk7CisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICBtX2l0ZXJhdG9yLT5wcmV2KCk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbmV4dFN0YXRlID0gU2VlazsgLy8gZm9yIHN1
YnNlcXVlbnQgaXRlcmF0aW9ucwogCkBAIC0xNDAxLDYgKzE0MDgsMTMgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB2YWx1ZSgpIGNvbnN0IHsgQVNTRVJUX05P
VF9SRUFDSEVEKCk7IHJldHVybiAqbmV3IFZlY3Rvcjx1aW50OF90PigpOyB9CiAgICAgdmlydHVh
bCBib29sIGxvYWRDdXJyZW50Um93KCk7CiAKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIFZlY3Rv
cjxjaGFyPiBlbmNvZGVLZXkoY29uc3QgSURCS2V5ICZrZXkpCisgICAgeworICAgICAgICByZXR1
cm4gT2JqZWN0U3RvcmVEYXRhS2V5OjplbmNvZGUoCisgICAgICAgICAgICBtX2N1cnNvck9wdGlv
bnMuZGF0YWJhc2VJZCwgbV9jdXJzb3JPcHRpb25zLm9iamVjdFN0b3JlSWQsIGtleSk7CisgICAg
fQorCiBwcml2YXRlOgogICAgIE9iamVjdFN0b3JlS2V5Q3Vyc29ySW1wbChMZXZlbERCVHJhbnNh
Y3Rpb24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Q3Vyc29y
T3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAgICAgOiBJREJCYWNraW5nU3RvcmU6OkN1cnNv
cih0cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykKQEAgLTE0NTYsNiArMTQ3MCwxMyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8dWludDhfdD4mIHZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jdXJyZW50VmFsdWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgbG9hZEN1cnJlbnRSb3co
KTsKIAorcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgVmVjdG9yPGNoYXI+IGVuY29kZUtleShjb25z
dCBJREJLZXkgJmtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBPYmplY3RTdG9yZURhdGFLZXk6
OmVuY29kZSgKKyAgICAgICAgICAgIG1fY3Vyc29yT3B0aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNv
ck9wdGlvbnMub2JqZWN0U3RvcmVJZCwga2V5KTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgT2Jq
ZWN0U3RvcmVDdXJzb3JJbXBsKExldmVsREJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIGNvbnN0
IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJzb3JPcHRpb25zJiBjdXJzb3JPcHRpb25zKQog
ICAgICAgICA6IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yKHRyYW5zYWN0aW9uLCBjdXJzb3JPcHRp
b25zKQpAQCAtMTUxOSw2ICsxNTQwLDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGNvbnN0IElE
QkJhY2tpbmdTdG9yZTo6UmVjb3JkSWRlbnRpZmllciYgcmVjb3JkSWRlbnRpZmllcigpIGNvbnN0
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBtX3JlY29yZElkZW50aWZpZXI7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgbG9hZEN1cnJlbnRSb3coKTsKIAorcHJvdGVjdGVkOgorICAgIHZpcnR1
YWwgVmVjdG9yPGNoYXI+IGVuY29kZUtleShjb25zdCBJREJLZXkgJmtleSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBJbmRleERhdGFLZXk6OmVuY29kZSgKKyAgICAgICAgICAgIG1fY3Vyc29yT3B0
aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwgbV9jdXJzb3JP
cHRpb25zLmluZGV4SWQsIGtleSk7CisgICAgfQorCiBwcml2YXRlOgogICAgIEluZGV4S2V5Q3Vy
c29ySW1wbChMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJCYWNraW5n
U3RvcmU6OkN1cnNvcjo6Q3Vyc29yT3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAgICAgOiBJ
REJCYWNraW5nU3RvcmU6OkN1cnNvcih0cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykKQEAgLTE2
MDQsNiArMTYzMiwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBJREJCYWNraW5nU3Rv
cmU6OlJlY29yZElkZW50aWZpZXImIHJlY29yZElkZW50aWZpZXIoKSBjb25zdCB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gbV9yZWNvcmRJZGVudGlmaWVyOyB9CiAgICAgYm9vbCBsb2Fk
Q3VycmVudFJvdygpOwogCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5j
b2RlS2V5KGNvbnN0IElEQktleSAma2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEluZGV4RGF0
YUtleTo6ZW5jb2RlKAorICAgICAgICAgICAgbV9jdXJzb3JPcHRpb25zLmRhdGFiYXNlSWQsIG1f
Y3Vyc29yT3B0aW9ucy5vYmplY3RTdG9yZUlkLCBtX2N1cnNvck9wdGlvbnMuaW5kZXhJZCwga2V5
KTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgSW5kZXhDdXJzb3JJbXBsKExldmVsREJUcmFuc2Fj
dGlvbiogdHJhbnNhY3Rpb24sIGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJzb3JP
cHRpb25zJiBjdXJzb3JPcHRpb25zKQogICAgICAgICA6IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29y
KHRyYW5zYWN0aW9uLCBjdXJzb3JPcHRpb25zKQpAQCAtMTY4MSw2ICsxNzE2LDkgQEAgYm9vbCBJ
bmRleEN1cnNvckltcGw6OmxvYWRDdXJyZW50Um93KCkKIAogYm9vbCBvYmplY3RTdG9yZUN1cnNv
ck9wdGlvbnMoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRhYmFz
ZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGNvbnN0IElEQktleVJhbmdlKiByYW5nZSwgSURC
Q3Vyc29yOjpEaXJlY3Rpb24gZGlyZWN0aW9uLCBJREJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Q3Vy
c29yT3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKIHsKKyAgICBjdXJzb3JPcHRpb25zLmRhdGFiYXNl
SWQgPSBkYXRhYmFzZUlkOworICAgIGN1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCA9IG9iamVj
dFN0b3JlSWQ7CisKICAgICBib29sIGxvd2VyQm91bmQgPSByYW5nZSAmJiByYW5nZS0+bG93ZXIo
KTsKICAgICBib29sIHVwcGVyQm91bmQgPSByYW5nZSAmJiByYW5nZS0+dXBwZXIoKTsKICAgICBj
dXJzb3JPcHRpb25zLmZvcndhcmQgPSAoZGlyZWN0aW9uID09IElEQkN1cnNvcjo6TkVYVF9OT19E
VVBMSUNBVEUgfHwgZGlyZWN0aW9uID09IElEQkN1cnNvcjo6TkVYVCk7CkBAIC0xNzI5LDYgKzE3
NjcsMTEgQEAgYm9vbCBvYmplY3RTdG9yZUN1cnNvck9wdGlvbnMoTGV2ZWxEQlRyYW5zYWN0aW9u
KiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRhYmFzZUkKIGJvb2wgaW5kZXhDdXJzb3JPcHRpb25z
KExldmVsREJUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIGludDY0X3QgZGF0YWJhc2VJZCwgaW50
NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQsIGNvbnN0IElEQktleVJhbmdlKiBy
YW5nZSwgSURCQ3Vyc29yOjpEaXJlY3Rpb24gZGlyZWN0aW9uLCBJREJCYWNraW5nU3RvcmU6OkN1
cnNvcjo6Q3Vyc29yT3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKIHsKICAgICBBU1NFUlQodHJhbnNh
Y3Rpb24pOworCisgICAgY3Vyc29yT3B0aW9ucy5kYXRhYmFzZUlkID0gZGF0YWJhc2VJZDsKKyAg
ICBjdXJzb3JPcHRpb25zLm9iamVjdFN0b3JlSWQgPSBvYmplY3RTdG9yZUlkOworICAgIGN1cnNv
ck9wdGlvbnMuaW5kZXhJZCA9IGluZGV4SWQ7CisKICAgICBib29sIGxvd2VyQm91bmQgPSByYW5n
ZSAmJiByYW5nZS0+bG93ZXIoKTsKICAgICBib29sIHVwcGVyQm91bmQgPSByYW5nZSAmJiByYW5n
ZS0+dXBwZXIoKTsKICAgICBjdXJzb3JPcHRpb25zLmZvcndhcmQgPSAoZGlyZWN0aW9uID09IElE
QkN1cnNvcjo6TkVYVF9OT19EVVBMSUNBVEUgfHwgZGlyZWN0aW9uID09IElEQkN1cnNvcjo6TkVY
VCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNr
aW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdT
dG9yZS5oCmluZGV4IDY2YjcyZjRkOTk5Y2FmOWM3MzNmNzk4MTkyNTY4ZTZiNTY5YjM3MDcuLjY4
MmJiMzJkZmFmZGVhNzAzMjBkZDc0NzRhNGRmYjlhODlhZGE4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCkBAIC05OSw2ICs5
OSw5IEBAIHB1YmxpYzoKICAgICAgICAgfTsKIAogICAgICAgICBzdHJ1Y3QgQ3Vyc29yT3B0aW9u
cyB7CisgICAgICAgICAgICBpbnQ2NF90IGRhdGFiYXNlSWQ7CisgICAgICAgICAgICBpbnQ2NF90
IG9iamVjdFN0b3JlSWQ7CisgICAgICAgICAgICBpbnQ2NF90IGluZGV4SWQ7CiAgICAgICAgICAg
ICBWZWN0b3I8Y2hhcj4gbG93S2V5OwogICAgICAgICAgICAgYm9vbCBsb3dPcGVuOwogICAgICAg
ICAgICAgVmVjdG9yPGNoYXI+IGhpZ2hLZXk7CkBAIC0xMjcsNiArMTMwLDggQEAgcHVibGljOgog
ICAgICAgICB9CiAgICAgICAgIGV4cGxpY2l0IEN1cnNvcihjb25zdCBJREJCYWNraW5nU3RvcmU6
OkN1cnNvciogb3RoZXIpOwogCisgICAgICAgIHZpcnR1YWwgVmVjdG9yPGNoYXI+IGVuY29kZUtl
eShjb25zdCBJREJLZXkmKSA9IDA7CisKICAgICAgICAgYm9vbCBpc1Bhc3RCb3VuZHMoKSBjb25z
dDsKICAgICAgICAgYm9vbCBoYXZlRW50ZXJlZFJhbmdlKCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192767</attachid>
            <date>2013-03-12 10:55:06 -0700</date>
            <delta_ts>2013-03-18 15:08:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109972-20130312105105.patch</filename>
            <type>text/plain</type>
            <size>7739</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjdiOWIxZDU4NDczNjY1
NGE0N2EzYWU5MjA3ODFiY2EzMjJlZGQyNy4uNDNkNjg4NWQ5ODE4NjlmYjUyYzExMDg1Y2U3ZDky
MzhjNjNlYzcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE1ICBKb3No
dWEgQmVsbCA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJREIgQ3Vyc29yIGNvbnRp
bnVlIG1vdmVzIG9uZSBpdGVtIGF0IGEgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW5kZXhlZERCOiBVc2Ugc2VlayBvbiB0aGUgdW5kZXJseWlu
ZyBsZXZlbERCIGl0ZXJhdG9yIHRvIGltcGxlbWVudCB0aGUgY29udGludWUgb3BlcmF0aW9uCisg
ICAgICAgIG9uIGEgY3Vyc29yLCBpbnN0ZWFkIG9mIGFkdmFuY2luZyBvbmUgaXRlbSBhdCBhIHRp
bWUuIE9uIGEgc2ltcGxlIHRlc3QgaW4gQ2hyb21lIC0gb3BlbiBhCisgICAgICAgIGtleSBjdXJz
b3Igb24gYW4gaW5kZXggdy8gMTAwIGl0ZW1zLCB0aGVuIGRvIGNvbnRpbnVlKDUwKSwgcmluc2Ug
YW5kIHJlcGVhdCAtIHRoaXMgY3V0cyB0aGUKKyAgICAgICAgdGltZSA1MCUgKDg1MGMvcyB0byAx
NzAwYy9zKS4gKE9yaWdpbmFsIHBhdGNoIGMvbyBQYW5rYWogS2Fra2FyIDxwYW5rYWpAZ29vZ2xl
LmNvbT4pCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBzdG9yYWdlL2luZGV4ZWRkYiBj
dXJzb3IgdGVzdHM7IGp1c3QgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24uCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQmFja2luZ1N0b3JlOjpDdXJzb3I6OmNvbnRpbnVlRnVuY3Rpb24pOiBTcGVjaWFsIGNh
c2UgZmlyc3QgaXRlcmF0aW9uIHcvIGtleQorICAgICAgICB0byB1c2UgbGV2ZWxkYiBzZWVrIChm
b3J3YXJkIGN1cnNvcnMgb25seSwgc2luY2UgcmV2ZXJzZSBzZWVrIGlzbid0IGV4cG9zZWQpLgor
ICAgICAgICAoV2ViQ29yZTo6T2JqZWN0U3RvcmVLZXlDdXJzb3JJbXBsOjplbmNvZGVLZXkpOiBI
ZWxwZXIgZm9yIGVuY29kaW5nIGtleSB0byBzZWVrIHRvLgorICAgICAgICAoV2ViQ29yZTo6T2Jq
ZWN0U3RvcmVDdXJzb3JJbXBsOjplbmNvZGVLZXkpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OkluZGV4S2V5Q3Vyc29ySW1wbDo6ZW5jb2RlS2V5KTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpJbmRleEN1cnNvckltcGw6OmVuY29kZUtleSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
b2JqZWN0U3RvcmVDdXJzb3JPcHRpb25zKTogU3RvcmUgSURzIGZvciBlbmNvZGVLZXkoKSB0byB1
c2UuCisgICAgICAgIChXZWJDb3JlOjppbmRleEN1cnNvck9wdGlvbnMpOiBEaXR0by4KKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKEN1cnNv
ck9wdGlvbnMpOiBTdG9yYWdlIGZvciBJRHMuCisgICAgICAgIChDdXJzb3IpOiBBZGQgZW5jb2Rl
S2V5KCkgdG8gaW50ZXJmYWNlLgorCiAyMDEzLTAzLTEyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlc291cmNlU2NyaXB0
RmlsZSBkaXZlcmdlZCBzdGF0ZSBzaG91bGQgYmUgY29ycmVjdGx5IHJlc2V0IGFmdGVyIGRlYnVn
Z2VyIHJlc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkJhY2tpbmdTdG9yZS5jcHAKaW5kZXggMGFiY2ZlZDg2Yzc0YTcxNWZmNjY1NjMwZTgyM2VmN2Q0
Yjc3NGVkNC4uNTRiMmNhOTVmNWMyZTU4N2RhYTY1MWUwZDMwMDM1NTQ2MGI2ZTYzZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUu
Y3BwCkBAIC0xMzAyLDYgKzEzMDIsOCBAQCBib29sIElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpj
b250aW51ZUZ1bmN0aW9uKGNvbnN0IElEQktleSoga2V5LCBJdGVyYXRvclN0YXRlCiB7CiAgICAg
UmVmUHRyPElEQktleT4gcHJldmlvdXNLZXkgPSBtX2N1cnJlbnRLZXk7CiAKKyAgICBib29sIGZp
cnN0SXRlcmF0aW9uID0gdHJ1ZTsKKwogICAgIC8vIFdoZW4gaXRlcmF0aW5nIHdpdGggUHJldk5v
RHVwbGljYXRlLCBzcGVjIHJlcXVpcmVzIHRoYXQgdGhlCiAgICAgLy8gdmFsdWUgd2UgeWllbGQg
Zm9yIGVhY2gga2V5IGlzIHRoZSBmaXJzdCBkdXBsaWNhdGUgaW4gZm9yd2FyZHMKICAgICAvLyBv
cmRlci4KQEAgLTEzMTEsMTAgKzEzMTMsMTYgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OkN1cnNv
cjo6Y29udGludWVGdW5jdGlvbihjb25zdCBJREJLZXkqIGtleSwgSXRlcmF0b3JTdGF0ZQogCiAg
ICAgZm9yICg7OykgewogICAgICAgICBpZiAobmV4dFN0YXRlID09IFNlZWspIHsKLSAgICAgICAg
ICAgIGlmIChmb3J3YXJkKQotICAgICAgICAgICAgICAgIG1faXRlcmF0b3ItPm5leHQoKTsKLSAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtX2l0ZXJhdG9yLT5wcmV2KCk7CisgICAg
ICAgICAgICAvLyBGSVhNRTogT3B0aW1pemUgc2Vla2luZyBmb3IgcmV2ZXJzZSBjdXJzb3JzIGFz
IHdlbGwuCisgICAgICAgICAgICBpZiAoZmlyc3RJdGVyYXRpb24gJiYga2V5ICYmIGZvcndhcmQp
IHsKKyAgICAgICAgICAgICAgICBtX2l0ZXJhdG9yLT5zZWVrKGVuY29kZUtleSgqa2V5KSk7Cisg
ICAgICAgICAgICAgICAgZmlyc3RJdGVyYXRpb24gPSBmYWxzZTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgaWYgKGZvcndhcmQpCisgICAgICAgICAgICAgICAgICAgIG1f
aXRlcmF0b3ItPm5leHQoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgIG1faXRlcmF0b3ItPnByZXYoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICBuZXh0U3RhdGUgPSBTZWVrOyAvLyBmb3Igc3Vic2VxdWVudCBpdGVyYXRpb25z
CiAKQEAgLTE0MzMsNiArMTQ0MSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gdmFsdWUoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1
cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90ZWN0ZWQ6
CisgICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAma2V5KQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIE9iamVjdFN0b3JlRGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29y
T3B0aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwga2V5KTsK
KyAgICB9CisKIHByaXZhdGU6CiAgICAgT2JqZWN0U3RvcmVLZXlDdXJzb3JJbXBsKExldmVsREJU
cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpD
dXJzb3JPcHRpb25zJiBjdXJzb3JPcHRpb25zKQogICAgICAgICA6IElEQkJhY2tpbmdTdG9yZTo6
Q3Vyc29yKHRyYW5zYWN0aW9uLCBjdXJzb3JPcHRpb25zKQpAQCAtMTQ4OCw2ICsxNTAyLDEyIEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB2YWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY3VycmVudFZhbHVlOyB9CiAgICAgdmlydHVhbCBib29sIGxvYWRDdXJy
ZW50Um93KCk7CiAKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIFZlY3RvcjxjaGFyPiBlbmNvZGVL
ZXkoY29uc3QgSURCS2V5ICZrZXkpCisgICAgeworICAgICAgICByZXR1cm4gT2JqZWN0U3RvcmVE
YXRhS2V5OjplbmNvZGUobV9jdXJzb3JPcHRpb25zLmRhdGFiYXNlSWQsIG1fY3Vyc29yT3B0aW9u
cy5vYmplY3RTdG9yZUlkLCBrZXkpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBPYmplY3RTdG9y
ZUN1cnNvckltcGwoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgY29uc3QgSURCQmFj
a2luZ1N0b3JlOjpDdXJzb3I6OkN1cnNvck9wdGlvbnMmIGN1cnNvck9wdGlvbnMpCiAgICAgICAg
IDogSURCQmFja2luZ1N0b3JlOjpDdXJzb3IodHJhbnNhY3Rpb24sIGN1cnNvck9wdGlvbnMpCkBA
IC0xNTUxLDYgKzE1NzEsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgSURCQmFja2lu
Z1N0b3JlOjpSZWNvcmRJZGVudGlmaWVyJiByZWNvcmRJZGVudGlmaWVyKCkgY29uc3QgeyBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIG1fcmVjb3JkSWRlbnRpZmllcjsgfQogICAgIHZpcnR1
YWwgYm9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBWZWN0
b3I8Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAma2V5KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIEluZGV4RGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29yT3B0aW9ucy5kYXRhYmFzZUlkLCBtX2N1
cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwgbV9jdXJzb3JPcHRpb25zLmluZGV4SWQsIGtleSk7
CisgICAgfQorCiBwcml2YXRlOgogICAgIEluZGV4S2V5Q3Vyc29ySW1wbChMZXZlbERCVHJhbnNh
Y3Rpb24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Q3Vyc29y
T3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAgICAgOiBJREJCYWNraW5nU3RvcmU6OkN1cnNv
cih0cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykKQEAgLTE2MzYsNiArMTY2MiwxMiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBjb25zdCBJREJCYWNraW5nU3RvcmU6OlJlY29yZElkZW50aWZpZXIm
IHJlY29yZElkZW50aWZpZXIoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4g
bV9yZWNvcmRJZGVudGlmaWVyOyB9CiAgICAgYm9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90
ZWN0ZWQ6CisgICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAm
a2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEluZGV4RGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29y
T3B0aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwgbV9jdXJz
b3JPcHRpb25zLmluZGV4SWQsIGtleSk7CisgICAgfQorCiBwcml2YXRlOgogICAgIEluZGV4Q3Vy
c29ySW1wbChMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJCYWNraW5n
U3RvcmU6OkN1cnNvcjo6Q3Vyc29yT3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAgICAgOiBJ
REJCYWNraW5nU3RvcmU6OkN1cnNvcih0cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykKQEAgLTE3
MTQsNiArMTc0Niw5IEBAIGJvb2wgSW5kZXhDdXJzb3JJbXBsOjpsb2FkQ3VycmVudFJvdygpCiAK
IGJvb2wgb2JqZWN0U3RvcmVDdXJzb3JPcHRpb25zKExldmVsREJUcmFuc2FjdGlvbiogdHJhbnNh
Y3Rpb24sIGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBjb25zdCBJ
REJLZXlSYW5nZSogcmFuZ2UsIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGRpcmVjdGlvbiwg
SURCQmFja2luZ1N0b3JlOjpDdXJzb3I6OkN1cnNvck9wdGlvbnMmIGN1cnNvck9wdGlvbnMpCiB7
CisgICAgY3Vyc29yT3B0aW9ucy5kYXRhYmFzZUlkID0gZGF0YWJhc2VJZDsKKyAgICBjdXJzb3JP
cHRpb25zLm9iamVjdFN0b3JlSWQgPSBvYmplY3RTdG9yZUlkOworCiAgICAgYm9vbCBsb3dlckJv
dW5kID0gcmFuZ2UgJiYgcmFuZ2UtPmxvd2VyKCk7CiAgICAgYm9vbCB1cHBlckJvdW5kID0gcmFu
Z2UgJiYgcmFuZ2UtPnVwcGVyKCk7CiAgICAgY3Vyc29yT3B0aW9ucy5mb3J3YXJkID0gKGRpcmVj
dGlvbiA9PSBJbmRleGVkREI6OkN1cnNvck5leHROb0R1cGxpY2F0ZSB8fCBkaXJlY3Rpb24gPT0g
SW5kZXhlZERCOjpDdXJzb3JOZXh0KTsKQEAgLTE3NjIsNiArMTc5NywxMSBAQCBib29sIG9iamVj
dFN0b3JlQ3Vyc29yT3B0aW9ucyhMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQ2
NF90IGRhdGFiYXNlSQogYm9vbCBpbmRleEN1cnNvck9wdGlvbnMoTGV2ZWxEQlRyYW5zYWN0aW9u
KiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQs
IGludDY0X3QgaW5kZXhJZCwgY29uc3QgSURCS2V5UmFuZ2UqIHJhbmdlLCBJbmRleGVkREI6OkN1
cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24sIElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJzb3JP
cHRpb25zJiBjdXJzb3JPcHRpb25zKQogewogICAgIEFTU0VSVCh0cmFuc2FjdGlvbik7CisKKyAg
ICBjdXJzb3JPcHRpb25zLmRhdGFiYXNlSWQgPSBkYXRhYmFzZUlkOworICAgIGN1cnNvck9wdGlv
bnMub2JqZWN0U3RvcmVJZCA9IG9iamVjdFN0b3JlSWQ7CisgICAgY3Vyc29yT3B0aW9ucy5pbmRl
eElkID0gaW5kZXhJZDsKKwogICAgIGJvb2wgbG93ZXJCb3VuZCA9IHJhbmdlICYmIHJhbmdlLT5s
b3dlcigpOwogICAgIGJvb2wgdXBwZXJCb3VuZCA9IHJhbmdlICYmIHJhbmdlLT51cHBlcigpOwog
ICAgIGN1cnNvck9wdGlvbnMuZm9yd2FyZCA9IChkaXJlY3Rpb24gPT0gSW5kZXhlZERCOjpDdXJz
b3JOZXh0Tm9EdXBsaWNhdGUgfHwgZGlyZWN0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29yTmV4dCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5n
U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9y
ZS5oCmluZGV4IGU4ZWU2YjZjODgwYzYyNTg1ODk1NjA2MTY0OWUzMjU3Y2E2YjYyYjUuLjYxNDlm
YjQzODhkYWNlY2M5NjViN2VkM2M3YWU1MDc2MWEzYjIzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCkBAIC0xMDksNiArMTA5
LDkgQEAgcHVibGljOgogICAgICAgICB9OwogCiAgICAgICAgIHN0cnVjdCBDdXJzb3JPcHRpb25z
IHsKKyAgICAgICAgICAgIGludDY0X3QgZGF0YWJhc2VJZDsKKyAgICAgICAgICAgIGludDY0X3Qg
b2JqZWN0U3RvcmVJZDsKKyAgICAgICAgICAgIGludDY0X3QgaW5kZXhJZDsKICAgICAgICAgICAg
IFZlY3RvcjxjaGFyPiBsb3dLZXk7CiAgICAgICAgICAgICBib29sIGxvd09wZW47CiAgICAgICAg
ICAgICBWZWN0b3I8Y2hhcj4gaGlnaEtleTsKQEAgLTEzNyw2ICsxNDAsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIH0KICAgICAgICAgZXhwbGljaXQgQ3Vyc29yKGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6
Q3Vyc29yKiBvdGhlcik7CiAKKyAgICAgICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5
KGNvbnN0IElEQktleSYpID0gMDsKKwogICAgICAgICBib29sIGlzUGFzdEJvdW5kcygpIGNvbnN0
OwogICAgICAgICBib29sIGhhdmVFbnRlcmVkUmFuZ2UoKSBjb25zdDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193665</attachid>
            <date>2013-03-18 15:08:21 -0700</date>
            <delta_ts>2013-03-18 16:34:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109972-20130318150413.patch</filename>
            <type>text/plain</type>
            <size>7508</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUyODA5N2JkZTNhNzll
MGJhZDg5YTNlNGY0NDAzZTVkZGVmMjk5NC4uMDBjNTQzOGI0ZDk4ZmQ5ZTNjOTJiNWM3M2M5ZjA4
MTY1ODg5YTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE1ICBKb3No
dWEgQmVsbCA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJREIgQ3Vyc29yIGNvbnRp
bnVlIG1vdmVzIG9uZSBpdGVtIGF0IGEgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBD
aGFuZy4KKworICAgICAgICBJbmRleGVkREI6IFVzZSBzZWVrIG9uIHRoZSB1bmRlcmx5aW5nIGxl
dmVsREIgaXRlcmF0b3IgdG8gaW1wbGVtZW50IHRoZSBjb250aW51ZSBvcGVyYXRpb24KKyAgICAg
ICAgb24gYSBjdXJzb3IsIGluc3RlYWQgb2YgYWR2YW5jaW5nIG9uZSBpdGVtIGF0IGEgdGltZS4g
T24gYSBzaW1wbGUgdGVzdCBpbiBDaHJvbWUgLSBvcGVuIGEKKyAgICAgICAga2V5IGN1cnNvciBv
biBhbiBpbmRleCB3LyAxMDAgaXRlbXMsIHRoZW4gZG8gY29udGludWUoNTApLCByaW5zZSBhbmQg
cmVwZWF0IC0gdGhpcyBjdXRzIHRoZQorICAgICAgICB0aW1lIDUwJSAoODUwYy9zIHRvIDE3MDBj
L3MpLiAoT3JpZ2luYWwgcGF0Y2ggYy9vIFBhbmthaiBLYWtrYXIgPHBhbmthakBnb29nbGUuY29t
PikKKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHN0b3JhZ2UvaW5kZXhlZGRiIGN1cnNv
ciB0ZXN0czsganVzdCBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbi4KKworICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Y29udGludWVGdW5jdGlvbik6IFNwZWNpYWwgY2FzZSBm
aXJzdCBpdGVyYXRpb24gdy8ga2V5CisgICAgICAgIHRvIHVzZSBsZXZlbGRiIHNlZWsgKGZvcndh
cmQgY3Vyc29ycyBvbmx5LCBzaW5jZSByZXZlcnNlIHNlZWsgaXNuJ3QgZXhwb3NlZCkuCisgICAg
ICAgIChXZWJDb3JlOjpPYmplY3RTdG9yZUtleUN1cnNvckltcGw6OmVuY29kZUtleSk6IEhlbHBl
ciBmb3IgZW5jb2Rpbmcga2V5IHRvIHNlZWsgdG8uCisgICAgICAgIChXZWJDb3JlOjpPYmplY3RT
dG9yZUN1cnNvckltcGw6OmVuY29kZUtleSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5k
ZXhLZXlDdXJzb3JJbXBsOjplbmNvZGVLZXkpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Oklu
ZGV4Q3Vyc29ySW1wbDo6ZW5jb2RlS2V5KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpvYmpl
Y3RTdG9yZUN1cnNvck9wdGlvbnMpOiBTdG9yZSBJRHMgZm9yIGVuY29kZUtleSgpIHRvIHVzZS4K
KyAgICAgICAgKFdlYkNvcmU6OmluZGV4Q3Vyc29yT3B0aW9ucyk6IERpdHRvLgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoQ3Vyc29yT3B0
aW9ucyk6IFN0b3JhZ2UgZm9yIElEcy4KKyAgICAgICAgKEN1cnNvcik6IEFkZCBlbmNvZGVLZXko
KSB0byBpbnRlcmZhY2UuCisKIDIwMTMtMDMtMTUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmF0aXZlIE1lbW9yeSBUaW1l
bGluZSBhZmZlY3RzIHRoZSBwZXJmb3JtYWNlIGV2ZW4gaWYgd2FzIHN3aXRjaGVkIG9mZi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9y
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUu
Y3BwCmluZGV4IDFmOTlmMWEyOTllOTE5MTg1ZTJhY2E3MDk3ZDJjMDMzMTM4OWE4NjguLmNjZGJk
YTAyNmQ4MTUyNzFhNGZlNmQ1MDkxZjQ5NGEzMDM2ZDg1ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcApAQCAtMTMwNSw2
ICsxMzA1LDggQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Y29udGludWVGdW5jdGlv
bihjb25zdCBJREJLZXkqIGtleSwgSXRlcmF0b3JTdGF0ZQogewogICAgIFJlZlB0cjxJREJLZXk+
IHByZXZpb3VzS2V5ID0gbV9jdXJyZW50S2V5OwogCisgICAgYm9vbCBmaXJzdEl0ZXJhdGlvbiA9
IHRydWU7CisKICAgICAvLyBXaGVuIGl0ZXJhdGluZyB3aXRoIFByZXZOb0R1cGxpY2F0ZSwgc3Bl
YyByZXF1aXJlcyB0aGF0IHRoZQogICAgIC8vIHZhbHVlIHdlIHlpZWxkIGZvciBlYWNoIGtleSBp
cyB0aGUgZmlyc3QgZHVwbGljYXRlIGluIGZvcndhcmRzCiAgICAgLy8gb3JkZXIuCkBAIC0xMzE0
LDcgKzEzMTYsMTEgQEAgYm9vbCBJREJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Y29udGludWVGdW5j
dGlvbihjb25zdCBJREJLZXkqIGtleSwgSXRlcmF0b3JTdGF0ZQogCiAgICAgZm9yICg7Oykgewog
ICAgICAgICBpZiAobmV4dFN0YXRlID09IFNlZWspIHsKLSAgICAgICAgICAgIGlmIChmb3J3YXJk
KQorICAgICAgICAgICAgLy8gRklYTUU6IE9wdGltaXplIHNlZWtpbmcgZm9yIHJldmVyc2UgY3Vy
c29ycyBhcyB3ZWxsLgorICAgICAgICAgICAgaWYgKGZpcnN0SXRlcmF0aW9uICYmIGtleSAmJiBm
b3J3YXJkKSB7CisgICAgICAgICAgICAgICAgbV9pdGVyYXRvci0+c2VlayhlbmNvZGVLZXkoKmtl
eSkpOworICAgICAgICAgICAgICAgIGZpcnN0SXRlcmF0aW9uID0gZmFsc2U7CisgICAgICAgICAg
ICB9IGVsc2UgaWYgKGZvcndhcmQpCiAgICAgICAgICAgICAgICAgbV9pdGVyYXRvci0+bmV4dCgp
OwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG1faXRlcmF0b3ItPnByZXYoKTsK
QEAgLTE0MzYsNiArMTQ0MiwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gdmFsdWUoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4g
MDsgfQogICAgIHZpcnR1YWwgYm9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90ZWN0ZWQ6Cisg
ICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAma2V5KQorICAg
IHsKKyAgICAgICAgcmV0dXJuIE9iamVjdFN0b3JlRGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29yT3B0
aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwga2V5KTsKKyAg
ICB9CisKIHByaXZhdGU6CiAgICAgT2JqZWN0U3RvcmVLZXlDdXJzb3JJbXBsKExldmVsREJUcmFu
c2FjdGlvbiogdHJhbnNhY3Rpb24sIGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJz
b3JPcHRpb25zJiBjdXJzb3JPcHRpb25zKQogICAgICAgICA6IElEQkJhY2tpbmdTdG9yZTo6Q3Vy
c29yKHRyYW5zYWN0aW9uLCBjdXJzb3JPcHRpb25zKQpAQCAtMTQ5MSw2ICsxNTAzLDEyIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB2YWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY3VycmVudFZhbHVlOyB9CiAgICAgdmlydHVhbCBib29sIGxvYWRDdXJyZW50
Um93KCk7CiAKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIFZlY3RvcjxjaGFyPiBlbmNvZGVLZXko
Y29uc3QgSURCS2V5ICZrZXkpCisgICAgeworICAgICAgICByZXR1cm4gT2JqZWN0U3RvcmVEYXRh
S2V5OjplbmNvZGUobV9jdXJzb3JPcHRpb25zLmRhdGFiYXNlSWQsIG1fY3Vyc29yT3B0aW9ucy5v
YmplY3RTdG9yZUlkLCBrZXkpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBPYmplY3RTdG9yZUN1
cnNvckltcGwoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgY29uc3QgSURCQmFja2lu
Z1N0b3JlOjpDdXJzb3I6OkN1cnNvck9wdGlvbnMmIGN1cnNvck9wdGlvbnMpCiAgICAgICAgIDog
SURCQmFja2luZ1N0b3JlOjpDdXJzb3IodHJhbnNhY3Rpb24sIGN1cnNvck9wdGlvbnMpCkBAIC0x
NTU0LDYgKzE1NzIsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgSURCQmFja2luZ1N0
b3JlOjpSZWNvcmRJZGVudGlmaWVyJiByZWNvcmRJZGVudGlmaWVyKCkgY29uc3QgeyBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgcmV0dXJuIG1fcmVjb3JkSWRlbnRpZmllcjsgfQogICAgIHZpcnR1YWwg
Ym9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCBWZWN0b3I8
Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAma2V5KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IEluZGV4RGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29yT3B0aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNv
ck9wdGlvbnMub2JqZWN0U3RvcmVJZCwgbV9jdXJzb3JPcHRpb25zLmluZGV4SWQsIGtleSk7Cisg
ICAgfQorCiBwcml2YXRlOgogICAgIEluZGV4S2V5Q3Vyc29ySW1wbChMZXZlbERCVHJhbnNhY3Rp
b24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Q3Vyc29yT3B0
aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAgICAgOiBJREJCYWNraW5nU3RvcmU6OkN1cnNvcih0
cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykKQEAgLTE2MzksNiArMTY2MywxMiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBjb25zdCBJREJCYWNraW5nU3RvcmU6OlJlY29yZElkZW50aWZpZXImIHJl
Y29yZElkZW50aWZpZXIoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gbV9y
ZWNvcmRJZGVudGlmaWVyOyB9CiAgICAgYm9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90ZWN0
ZWQ6CisgICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAma2V5
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEluZGV4RGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29yT3B0
aW9ucy5kYXRhYmFzZUlkLCBtX2N1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwgbV9jdXJzb3JP
cHRpb25zLmluZGV4SWQsIGtleSk7CisgICAgfQorCiBwcml2YXRlOgogICAgIEluZGV4Q3Vyc29y
SW1wbChMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJCYWNraW5nU3Rv
cmU6OkN1cnNvcjo6Q3Vyc29yT3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAgICAgOiBJREJC
YWNraW5nU3RvcmU6OkN1cnNvcih0cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykKQEAgLTE3MTcs
NiArMTc0Nyw5IEBAIGJvb2wgSW5kZXhDdXJzb3JJbXBsOjpsb2FkQ3VycmVudFJvdygpCiAKIGJv
b2wgb2JqZWN0U3RvcmVDdXJzb3JPcHRpb25zKExldmVsREJUcmFuc2FjdGlvbiogdHJhbnNhY3Rp
b24sIGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkLCBjb25zdCBJREJL
ZXlSYW5nZSogcmFuZ2UsIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGRpcmVjdGlvbiwgSURC
QmFja2luZ1N0b3JlOjpDdXJzb3I6OkN1cnNvck9wdGlvbnMmIGN1cnNvck9wdGlvbnMpCiB7Cisg
ICAgY3Vyc29yT3B0aW9ucy5kYXRhYmFzZUlkID0gZGF0YWJhc2VJZDsKKyAgICBjdXJzb3JPcHRp
b25zLm9iamVjdFN0b3JlSWQgPSBvYmplY3RTdG9yZUlkOworCiAgICAgYm9vbCBsb3dlckJvdW5k
ID0gcmFuZ2UgJiYgcmFuZ2UtPmxvd2VyKCk7CiAgICAgYm9vbCB1cHBlckJvdW5kID0gcmFuZ2Ug
JiYgcmFuZ2UtPnVwcGVyKCk7CiAgICAgY3Vyc29yT3B0aW9ucy5mb3J3YXJkID0gKGRpcmVjdGlv
biA9PSBJbmRleGVkREI6OkN1cnNvck5leHROb0R1cGxpY2F0ZSB8fCBkaXJlY3Rpb24gPT0gSW5k
ZXhlZERCOjpDdXJzb3JOZXh0KTsKQEAgLTE3NjUsNiArMTc5OCwxMSBAQCBib29sIG9iamVjdFN0
b3JlQ3Vyc29yT3B0aW9ucyhMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQ2NF90
IGRhdGFiYXNlSQogYm9vbCBpbmRleEN1cnNvck9wdGlvbnMoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0
cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGlu
dDY0X3QgaW5kZXhJZCwgY29uc3QgSURCS2V5UmFuZ2UqIHJhbmdlLCBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbiBkaXJlY3Rpb24sIElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJzb3JPcHRp
b25zJiBjdXJzb3JPcHRpb25zKQogewogICAgIEFTU0VSVCh0cmFuc2FjdGlvbik7CisKKyAgICBj
dXJzb3JPcHRpb25zLmRhdGFiYXNlSWQgPSBkYXRhYmFzZUlkOworICAgIGN1cnNvck9wdGlvbnMu
b2JqZWN0U3RvcmVJZCA9IG9iamVjdFN0b3JlSWQ7CisgICAgY3Vyc29yT3B0aW9ucy5pbmRleElk
ID0gaW5kZXhJZDsKKwogICAgIGJvb2wgbG93ZXJCb3VuZCA9IHJhbmdlICYmIHJhbmdlLT5sb3dl
cigpOwogICAgIGJvb2wgdXBwZXJCb3VuZCA9IHJhbmdlICYmIHJhbmdlLT51cHBlcigpOwogICAg
IGN1cnNvck9wdGlvbnMuZm9yd2FyZCA9IChkaXJlY3Rpb24gPT0gSW5kZXhlZERCOjpDdXJzb3JO
ZXh0Tm9EdXBsaWNhdGUgfHwgZGlyZWN0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29yTmV4dCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3Rv
cmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5o
CmluZGV4IGU4ZWU2YjZjODgwYzYyNTg1ODk1NjA2MTY0OWUzMjU3Y2E2YjYyYjUuLjYxNDlmYjQz
ODhkYWNlY2M5NjViN2VkM2M3YWU1MDc2MWEzYjIzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCkBAIC0xMDksNiArMTA5LDkg
QEAgcHVibGljOgogICAgICAgICB9OwogCiAgICAgICAgIHN0cnVjdCBDdXJzb3JPcHRpb25zIHsK
KyAgICAgICAgICAgIGludDY0X3QgZGF0YWJhc2VJZDsKKyAgICAgICAgICAgIGludDY0X3Qgb2Jq
ZWN0U3RvcmVJZDsKKyAgICAgICAgICAgIGludDY0X3QgaW5kZXhJZDsKICAgICAgICAgICAgIFZl
Y3RvcjxjaGFyPiBsb3dLZXk7CiAgICAgICAgICAgICBib29sIGxvd09wZW47CiAgICAgICAgICAg
ICBWZWN0b3I8Y2hhcj4gaGlnaEtleTsKQEAgLTEzNyw2ICsxNDAsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIH0KICAgICAgICAgZXhwbGljaXQgQ3Vyc29yKGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6Q3Vy
c29yKiBvdGhlcik7CiAKKyAgICAgICAgdmlydHVhbCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5KGNv
bnN0IElEQktleSYpID0gMDsKKwogICAgICAgICBib29sIGlzUGFzdEJvdW5kcygpIGNvbnN0Owog
ICAgICAgICBib29sIGhhdmVFbnRlcmVkUmFuZ2UoKSBjb25zdDsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193687</attachid>
            <date>2013-03-18 16:34:39 -0700</date>
            <delta_ts>2013-03-18 16:56:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109972-20130318163031.patch</filename>
            <type>text/plain</type>
            <size>7300</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkNzJhZmYzYjFjNjM3
NGQxMDg2MWRiOGUwYmI1NDRmYjE4NTM2Yi4uMTAxMzM4YTY5OWI5NzhlYTk1ZWY2ZTM3M2JjNTlk
N2RlYTQ5MDk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE1ICBKb3No
dWEgQmVsbCA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJREIgQ3Vyc29yIGNvbnRp
bnVlIG1vdmVzIG9uZSBpdGVtIGF0IGEgdGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBD
aGFuZy4KKworICAgICAgICBJbmRleGVkREI6IFVzZSBzZWVrIG9uIHRoZSB1bmRlcmx5aW5nIGxl
dmVsREIgaXRlcmF0b3IgdG8gaW1wbGVtZW50IHRoZSBjb250aW51ZSBvcGVyYXRpb24KKyAgICAg
ICAgb24gYSBjdXJzb3IsIGluc3RlYWQgb2YgYWR2YW5jaW5nIG9uZSBpdGVtIGF0IGEgdGltZS4g
T24gYSBzaW1wbGUgdGVzdCBpbiBDaHJvbWUgLSBvcGVuIGEKKyAgICAgICAga2V5IGN1cnNvciBv
biBhbiBpbmRleCB3LyAxMDAgaXRlbXMsIHRoZW4gZG8gY29udGludWUoNTApLCByaW5zZSBhbmQg
cmVwZWF0IC0gdGhpcyBjdXRzIHRoZQorICAgICAgICB0aW1lIDUwJSAoODUwYy9zIHRvIDE3MDBj
L3MpLiAoT3JpZ2luYWwgcGF0Y2ggYy9vIFBhbmthaiBLYWtrYXIgPHBhbmthakBnb29nbGUuY29t
PikKKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHN0b3JhZ2UvaW5kZXhlZGRiIGN1cnNv
ciB0ZXN0czsganVzdCBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbi4KKworICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
REJCYWNraW5nU3RvcmU6OkN1cnNvcjo6Y29udGludWVGdW5jdGlvbik6IFNwZWNpYWwgY2FzZSBm
aXJzdCBpdGVyYXRpb24gdy8ga2V5CisgICAgICAgIHRvIHVzZSBsZXZlbGRiIHNlZWsgKGZvcndh
cmQgY3Vyc29ycyBvbmx5LCBzaW5jZSByZXZlcnNlIHNlZWsgaXNuJ3QgZXhwb3NlZCkuCisgICAg
ICAgIChXZWJDb3JlOjpPYmplY3RTdG9yZUtleUN1cnNvckltcGw6OmVuY29kZUtleSk6IEhlbHBl
ciBmb3IgZW5jb2Rpbmcga2V5IHRvIHNlZWsgdG8uCisgICAgICAgIChXZWJDb3JlOjpPYmplY3RT
dG9yZUN1cnNvckltcGw6OmVuY29kZUtleSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5k
ZXhLZXlDdXJzb3JJbXBsOjplbmNvZGVLZXkpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Oklu
ZGV4Q3Vyc29ySW1wbDo6ZW5jb2RlS2V5KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpvYmpl
Y3RTdG9yZUN1cnNvck9wdGlvbnMpOiBTdG9yZSBJRHMgZm9yIGVuY29kZUtleSgpIHRvIHVzZS4K
KyAgICAgICAgKFdlYkNvcmU6OmluZGV4Q3Vyc29yT3B0aW9ucyk6IERpdHRvLgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoQ3Vyc29yT3B0
aW9ucyk6IFN0b3JhZ2UgZm9yIElEcy4KKyAgICAgICAgKEN1cnNvcik6IEFkZCBlbmNvZGVLZXko
KSB0byBpbnRlcmZhY2UuCisKIDIwMTMtMDMtMTggIFRvbSBTZXBleiAgPHRzZXBlekBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW3Y4XSBTdXBwcmVzcyBiaW5kaW5nIGludGVncml0eSBjaGVjayBv
ZiBIVE1MQ29udGVudEVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCBjYTBiYjU2OTFjZTRjMDdiNjg4M2Uy
NjY5OWFmODhhZjU1MDY1NjBlLi42NjJmMzhlY2E0YjlhNGRhZDkwZWNjODU0MTczOGU4ZDhhODk2
MGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNr
aW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJh
Y2tpbmdTdG9yZS5jcHAKQEAgLTEzNDUsNiArMTM0NSw4IEBAIGJvb2wgSURCQmFja2luZ1N0b3Jl
OjpDdXJzb3I6OmNvbnRpbnVlRnVuY3Rpb24oY29uc3QgSURCS2V5KiBrZXksIEl0ZXJhdG9yU3Rh
dGUKIHsKICAgICBSZWZQdHI8SURCS2V5PiBwcmV2aW91c0tleSA9IG1fY3VycmVudEtleTsKIAor
ICAgIGJvb2wgZmlyc3RJdGVyYXRpb24gPSB0cnVlOworCiAgICAgLy8gV2hlbiBpdGVyYXRpbmcg
d2l0aCBQcmV2Tm9EdXBsaWNhdGUsIHNwZWMgcmVxdWlyZXMgdGhhdCB0aGUKICAgICAvLyB2YWx1
ZSB3ZSB5aWVsZCBmb3IgZWFjaCBrZXkgaXMgdGhlIGZpcnN0IGR1cGxpY2F0ZSBpbiBmb3J3YXJk
cwogICAgIC8vIG9yZGVyLgpAQCAtMTM1NCw3ICsxMzU2LDExIEBAIGJvb2wgSURCQmFja2luZ1N0
b3JlOjpDdXJzb3I6OmNvbnRpbnVlRnVuY3Rpb24oY29uc3QgSURCS2V5KiBrZXksIEl0ZXJhdG9y
U3RhdGUKIAogICAgIGZvciAoOzspIHsKICAgICAgICAgaWYgKG5leHRTdGF0ZSA9PSBTZWVrKSB7
Ci0gICAgICAgICAgICBpZiAoZm9yd2FyZCkKKyAgICAgICAgICAgIC8vIEZJWE1FOiBPcHRpbWl6
ZSBzZWVraW5nIGZvciByZXZlcnNlIGN1cnNvcnMgYXMgd2VsbC4KKyAgICAgICAgICAgIGlmIChm
aXJzdEl0ZXJhdGlvbiAmJiBrZXkgJiYgZm9yd2FyZCkgeworICAgICAgICAgICAgICAgIG1faXRl
cmF0b3ItPnNlZWsoZW5jb2RlS2V5KCprZXkpKTsKKyAgICAgICAgICAgICAgICBmaXJzdEl0ZXJh
dGlvbiA9IGZhbHNlOworICAgICAgICAgICAgfSBlbHNlIGlmIChmb3J3YXJkKQogICAgICAgICAg
ICAgICAgIG1faXRlcmF0b3ItPm5leHQoKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICBtX2l0ZXJhdG9yLT5wcmV2KCk7CkBAIC0xNDc2LDYgKzE0ODIsMTIgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHZhbHVlKCkgY29uc3QgeyBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIGJvb2wgbG9hZEN1cnJl
bnRSb3coKTsKIAorcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgVmVjdG9yPGNoYXI+IGVuY29kZUtl
eShjb25zdCBJREJLZXkgJmtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBPYmplY3RTdG9yZURh
dGFLZXk6OmVuY29kZShtX2N1cnNvck9wdGlvbnMuZGF0YWJhc2VJZCwgbV9jdXJzb3JPcHRpb25z
Lm9iamVjdFN0b3JlSWQsIGtleSk7CisgICAgfQorCiBwcml2YXRlOgogICAgIE9iamVjdFN0b3Jl
S2V5Q3Vyc29ySW1wbChMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBjb25zdCBJREJC
YWNraW5nU3RvcmU6OkN1cnNvcjo6Q3Vyc29yT3B0aW9ucyYgY3Vyc29yT3B0aW9ucykKICAgICAg
ICAgOiBJREJCYWNraW5nU3RvcmU6OkN1cnNvcih0cmFuc2FjdGlvbiwgY3Vyc29yT3B0aW9ucykK
QEAgLTE1MzEsNiArMTU0MywxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRWYWx1ZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBsb2FkQ3VycmVudFJvdygpOwogCitwcm90ZWN0ZWQ6CisgICAgdmlydHVh
bCBWZWN0b3I8Y2hhcj4gZW5jb2RlS2V5KGNvbnN0IElEQktleSAma2V5KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIE9iamVjdFN0b3JlRGF0YUtleTo6ZW5jb2RlKG1fY3Vyc29yT3B0aW9ucy5kYXRh
YmFzZUlkLCBtX2N1cnNvck9wdGlvbnMub2JqZWN0U3RvcmVJZCwga2V5KTsKKyAgICB9CisKIHBy
aXZhdGU6CiAgICAgT2JqZWN0U3RvcmVDdXJzb3JJbXBsKExldmVsREJUcmFuc2FjdGlvbiogdHJh
bnNhY3Rpb24sIGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJzb3JPcHRpb25zJiBj
dXJzb3JPcHRpb25zKQogICAgICAgICA6IElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yKHRyYW5zYWN0
aW9uLCBjdXJzb3JPcHRpb25zKQpAQCAtMTU5NCw2ICsxNjEyLDEyIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGNvbnN0IElEQkJhY2tpbmdTdG9yZTo6UmVjb3JkSWRlbnRpZmllciYgcmVjb3JkSWRl
bnRpZmllcigpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBtX3JlY29yZElk
ZW50aWZpZXI7IH0KICAgICB2aXJ0dWFsIGJvb2wgbG9hZEN1cnJlbnRSb3coKTsKIAorcHJvdGVj
dGVkOgorICAgIHZpcnR1YWwgVmVjdG9yPGNoYXI+IGVuY29kZUtleShjb25zdCBJREJLZXkgJmtl
eSkKKyAgICB7CisgICAgICAgIHJldHVybiBJbmRleERhdGFLZXk6OmVuY29kZShtX2N1cnNvck9w
dGlvbnMuZGF0YWJhc2VJZCwgbV9jdXJzb3JPcHRpb25zLm9iamVjdFN0b3JlSWQsIG1fY3Vyc29y
T3B0aW9ucy5pbmRleElkLCBrZXkpOworICAgIH0KKwogcHJpdmF0ZToKICAgICBJbmRleEtleUN1
cnNvckltcGwoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgY29uc3QgSURCQmFja2lu
Z1N0b3JlOjpDdXJzb3I6OkN1cnNvck9wdGlvbnMmIGN1cnNvck9wdGlvbnMpCiAgICAgICAgIDog
SURCQmFja2luZ1N0b3JlOjpDdXJzb3IodHJhbnNhY3Rpb24sIGN1cnNvck9wdGlvbnMpCkBAIC0x
Njc5LDYgKzE3MDMsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgSURCQmFja2luZ1N0
b3JlOjpSZWNvcmRJZGVudGlmaWVyJiByZWNvcmRJZGVudGlmaWVyKCkgY29uc3QgeyBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgcmV0dXJuIG1fcmVjb3JkSWRlbnRpZmllcjsgfQogICAgIGJvb2wgbG9h
ZEN1cnJlbnRSb3coKTsKIAorcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgVmVjdG9yPGNoYXI+IGVu
Y29kZUtleShjb25zdCBJREJLZXkgJmtleSkKKyAgICB7CisgICAgICAgIHJldHVybiBJbmRleERh
dGFLZXk6OmVuY29kZShtX2N1cnNvck9wdGlvbnMuZGF0YWJhc2VJZCwgbV9jdXJzb3JPcHRpb25z
Lm9iamVjdFN0b3JlSWQsIG1fY3Vyc29yT3B0aW9ucy5pbmRleElkLCBrZXkpOworICAgIH0KKwog
cHJpdmF0ZToKICAgICBJbmRleEN1cnNvckltcGwoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2Fj
dGlvbiwgY29uc3QgSURCQmFja2luZ1N0b3JlOjpDdXJzb3I6OkN1cnNvck9wdGlvbnMmIGN1cnNv
ck9wdGlvbnMpCiAgICAgICAgIDogSURCQmFja2luZ1N0b3JlOjpDdXJzb3IodHJhbnNhY3Rpb24s
IGN1cnNvck9wdGlvbnMpCkBAIC0xNzU3LDYgKzE3ODcsOSBAQCBib29sIEluZGV4Q3Vyc29ySW1w
bDo6bG9hZEN1cnJlbnRSb3coKQogCiBib29sIG9iamVjdFN0b3JlQ3Vyc29yT3B0aW9ucyhMZXZl
bERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uLCBpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qg
b2JqZWN0U3RvcmVJZCwgY29uc3QgSURCS2V5UmFuZ2UqIHJhbmdlLCBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbiBkaXJlY3Rpb24sIElEQkJhY2tpbmdTdG9yZTo6Q3Vyc29yOjpDdXJzb3JPcHRp
b25zJiBjdXJzb3JPcHRpb25zKQogeworICAgIGN1cnNvck9wdGlvbnMuZGF0YWJhc2VJZCA9IGRh
dGFiYXNlSWQ7CisgICAgY3Vyc29yT3B0aW9ucy5vYmplY3RTdG9yZUlkID0gb2JqZWN0U3RvcmVJ
ZDsKKwogICAgIGJvb2wgbG93ZXJCb3VuZCA9IHJhbmdlICYmIHJhbmdlLT5sb3dlcigpOwogICAg
IGJvb2wgdXBwZXJCb3VuZCA9IHJhbmdlICYmIHJhbmdlLT51cHBlcigpOwogICAgIGN1cnNvck9w
dGlvbnMuZm9yd2FyZCA9IChkaXJlY3Rpb24gPT0gSW5kZXhlZERCOjpDdXJzb3JOZXh0Tm9EdXBs
aWNhdGUgfHwgZGlyZWN0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29yTmV4dCk7CkBAIC0xODA4LDYg
KzE4NDEsMTAgQEAgYm9vbCBpbmRleEN1cnNvck9wdGlvbnMoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0
cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQKICAgICBpZiAoIUtleVByZWZpeDo6
dmFsaWRJZHMoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCwgaW5kZXhJZCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAorICAgIGN1cnNvck9wdGlvbnMuZGF0YWJhc2VJZCA9IGRhdGFiYXNlSWQ7
CisgICAgY3Vyc29yT3B0aW9ucy5vYmplY3RTdG9yZUlkID0gb2JqZWN0U3RvcmVJZDsKKyAgICBj
dXJzb3JPcHRpb25zLmluZGV4SWQgPSBpbmRleElkOworCiAgICAgYm9vbCBsb3dlckJvdW5kID0g
cmFuZ2UgJiYgcmFuZ2UtPmxvd2VyKCk7CiAgICAgYm9vbCB1cHBlckJvdW5kID0gcmFuZ2UgJiYg
cmFuZ2UtPnVwcGVyKCk7CiAgICAgY3Vyc29yT3B0aW9ucy5mb3J3YXJkID0gKGRpcmVjdGlvbiA9
PSBJbmRleGVkREI6OkN1cnNvck5leHROb0R1cGxpY2F0ZSB8fCBkaXJlY3Rpb24gPT0gSW5kZXhl
ZERCOjpDdXJzb3JOZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQmFja2luZ1N0b3JlLmgKaW5kZXggOWM4ZTM3N2U5OTA4ZDU3MTg2M2I0ODViNDk2ZGZi
YmQyOGEzNWJjNS4uYTIzYTdiY2Y2OGRmZWQ2MGU1Zjk5YTVhYjA4MGI5YmNmZTMxYWUwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3Jl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3Jl
LmgKQEAgLTEwOSw2ICsxMDksOSBAQCBwdWJsaWM6CiAgICAgICAgIH07CiAKICAgICAgICAgc3Ry
dWN0IEN1cnNvck9wdGlvbnMgeworICAgICAgICAgICAgaW50NjRfdCBkYXRhYmFzZUlkOworICAg
ICAgICAgICAgaW50NjRfdCBvYmplY3RTdG9yZUlkOworICAgICAgICAgICAgaW50NjRfdCBpbmRl
eElkOwogICAgICAgICAgICAgVmVjdG9yPGNoYXI+IGxvd0tleTsKICAgICAgICAgICAgIGJvb2wg
bG93T3BlbjsKICAgICAgICAgICAgIFZlY3RvcjxjaGFyPiBoaWdoS2V5OwpAQCAtMTM3LDYgKzE0
MCw4IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgICAgICBleHBsaWNpdCBDdXJzb3IoY29uc3Qg
SURCQmFja2luZ1N0b3JlOjpDdXJzb3IqIG90aGVyKTsKIAorICAgICAgICB2aXJ0dWFsIFZlY3Rv
cjxjaGFyPiBlbmNvZGVLZXkoY29uc3QgSURCS2V5JikgPSAwOworCiAgICAgICAgIGJvb2wgaXNQ
YXN0Qm91bmRzKCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaGF2ZUVudGVyZWRSYW5nZSgpIGNvbnN0
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>