<?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>87035</bug_id>
          
          <creation_ts>2012-05-21 11:36:24 -0700</creation_ts>
          <short_desc>!HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility</short_desc>
          <delta_ts>2012-05-21 22:46:09 -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>
          
          <blocked>66687</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>eric</cc>
    
    <cc>peter</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>629307</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 11:36:24 -0700</bug_when>
    <thetext>!HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629309</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-21 11:39:44 -0700</bug_when>
    <thetext>Presumably this is a chromium-only issue? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629310</commentid>
    <comment_count>2</comment_count>
      <attachid>143067</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 11:40:05 -0700</bug_when>
    <thetext>Created attachment 143067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629313</commentid>
    <comment_count>3</comment_count>
      <attachid>143067</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-05-21 11:41:42 -0700</bug_when>
    <thetext>Comment on attachment 143067
Patch

looks ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629336</commentid>
    <comment_count>4</comment_count>
      <attachid>143067</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 11:54:02 -0700</bug_when>
    <thetext>Comment on attachment 143067
Patch

Attachment 143067 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12731700</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629337</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 11:54:38 -0700</bug_when>
    <thetext>&gt; Presumably this is a chromium-only issue? :)

It&apos;s likely to reduce the binary size on other ports that use !HAVE(ACCESSIBILITY) too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629346</commentid>
    <comment_count>6</comment_count>
      <attachid>143067</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 11:57:54 -0700</bug_when>
    <thetext>Comment on attachment 143067
Patch

Attachment 143067 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12736641</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629554</commentid>
    <comment_count>7</comment_count>
      <attachid>143110</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 15:08:13 -0700</bug_when>
    <thetext>Created attachment 143110
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629557</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 15:08:56 -0700</bug_when>
    <thetext>This patch should remove the duplicate symbols.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629628</commentid>
    <comment_count>9</comment_count>
      <attachid>143110</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 15:43:51 -0700</bug_when>
    <thetext>Comment on attachment 143110
Patch for landing

Attachment 143110 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12747180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629642</commentid>
    <comment_count>10</comment_count>
      <attachid>143110</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 15:49:55 -0700</bug_when>
    <thetext>Comment on attachment 143110
Patch for landing

Attachment 143110 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12740569</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629644</commentid>
    <comment_count>11</comment_count>
      <attachid>143110</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 15:50:40 -0700</bug_when>
    <thetext>Comment on attachment 143110
Patch for landing

Too tight.  /me tries again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629653</commentid>
    <comment_count>12</comment_count>
      <attachid>143123</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 15:57:02 -0700</bug_when>
    <thetext>Created attachment 143123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629664</commentid>
    <comment_count>13</comment_count>
      <attachid>143123</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 16:05:12 -0700</bug_when>
    <thetext>Comment on attachment 143123
Patch

Attachment 143123 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12738599</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629673</commentid>
    <comment_count>14</comment_count>
      <attachid>143125</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 16:11:06 -0700</bug_when>
    <thetext>Created attachment 143125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629679</commentid>
    <comment_count>15</comment_count>
      <attachid>143125</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 16:17:42 -0700</bug_when>
    <thetext>Comment on attachment 143125
Patch

Attachment 143125 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12747194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629682</commentid>
    <comment_count>16</comment_count>
      <attachid>143125</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-21 16:18:52 -0700</bug_when>
    <thetext>Comment on attachment 143125
Patch

Attachment 143125 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12742372</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629685</commentid>
    <comment_count>17</comment_count>
      <attachid>143126</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 16:23:06 -0700</bug_when>
    <thetext>Created attachment 143126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629941</commentid>
    <comment_count>18</comment_count>
      <attachid>143126</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 22:46:01 -0700</bug_when>
    <thetext>Comment on attachment 143126
Patch

Clearing flags on attachment: 143126

Committed r117907: &lt;http://trac.webkit.org/changeset/117907&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629942</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 22:46:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143067</attachid>
            <date>2012-05-21 11:40:05 -0700</date>
            <delta_ts>2012-05-21 15:08:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87035-20120521114003.patch</filename>
            <type>text/plain</type>
            <size>9278</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA1LTIxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgIUhBVkUoQUNDRVNTSUJJTElUWSkg
c2hvdWxkIGJlIGFibGUgdG8gYnVpbGQgd2l0aG91dCBsaW5raW5nIGluIGFueSBjb2RlIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzAzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBPUyhBTkRST0lEKSBhbHJlYWR5IGJ1aWxkcyB3aXRoICFIQVZFKEFD
Q0VTU0lCSUxJVFkpLCBidXQgYmVjYXVzZQorICAgICAgICB0aGVyZSBhcmUgYSBmZXcgc3RyYWdn
bGluZyByZWZlcmVuY2VzIHRvIG9iamVjdHMgaW4gdGhlCisgICAgICAgIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eSBkaXJlY3RvcnksIHdlIGVuZCB1cCBwdWxsaW5nIGluIGEgYnVuY2ggb2YgY29kZQor
ICAgICAgICBpbnRvIHRoZSBiaW5hcnkgdGhhdCB3ZSBkb24ndCBuZWVkLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggc3R1YnMgb3V0IGEgZmV3IG1vcmUgZnVuY3Rpb25zIGZvciAhSEFWRShBQ0NFU1NJ
QklMSVRZKSBzbworICAgICAgICB3ZSBjYW4gbGluayB3aXRob3V0IGFueSBvYmplY3RzIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5LiBUaGlzIHBhdGNoCisgICAgICAgIGFsc28gbG9ja3MgaW4g
dGhhdCBwcm9wZXJ0eSBieSBhY3R1YWxseSBleGNsdWRpbmcgdGhlCisgICAgICAgIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eSBkaXJlY3RvcnkgZnJvbSB0aGUgYnVpbGQgb24gT1MoQU5EUk9JRCkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKEFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmls
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OkFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6fkFY
T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZGV0YWNoV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpoYW5kbGVBcmlhUm9sZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Y2hpbGRyZW4pOgor
CiAyMDEyLTA1LTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHJldmlzaW9uIGhpc3RvcnkgdG8gbm90IGlu
Y2x1ZGUgcmVzb3VyY2UgaXRzZWxmLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAJKHJldmlzaW9uIDExNzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAyLDYgKzEzMDIsMTEgQEAKICAgICAg
ICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL2xpbnV4L3N5c3RlbS5neXA6Z3RrJywK
ICAgICAgICAgICBdLAogICAgICAgICB9XSwKKyAgICAgICAgWydPUz09ImFuZHJvaWQiJywgewor
ICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdhY2Nlc3Np
YmlsaXR5LyddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAogICAgICAgICBbJ09TPT0ibWFj
IicsIHsKICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgJ3dlYmtpdF9z
eXN0ZW1faW50ZXJmYWNlJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5oCShyZXZpc2lvbiAxMTc3OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTMgKzk2LDIw
IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSog
YW5jaG9yTm9kZSk7CiAgICAgdm9pZCBoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2UoUmVuZGVyT2Jq
ZWN0Kik7CiAgICAgdm9pZCBoYW5kbGVTY3JvbGxiYXJVcGRhdGUoU2Nyb2xsVmlldyopOwotICAg
IAorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAgIHN0YXRpYyB2b2lkIGVuYWJsZUFjY2Vz
c2liaWxpdHkoKSB7IGdBY2Nlc3NpYmlsaXR5RW5hYmxlZCA9IHRydWU7IH0KICAgICAvLyBFbmhh
bmNlZCB1c2VyIGludGVyZmFjZSBhY2Nlc3NpYmlsaXR5IGNhbiBiZSB0b2dnbGVkIGJ5IHRoZSBh
c3Npc3RpdmUgdGVjaG5vbG9neS4KICAgICBzdGF0aWMgdm9pZCBzZXRFbmhhbmNlZFVzZXJJbnRl
cmZhY2VBY2Nlc3NpYmlsaXR5KGJvb2wgZmxhZykgeyBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNl
ckludGVyZmFjZUVuYWJsZWQgPSBmbGFnOyB9CiAgICAgCiAgICAgc3RhdGljIGJvb2wgYWNjZXNz
aWJpbGl0eUVuYWJsZWQoKSB7IHJldHVybiBnQWNjZXNzaWJpbGl0eUVuYWJsZWQ7IH0KICAgICBz
dGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCgpIHsg
cmV0dXJuIGdBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZDsgfQorI2Vs
c2UKKyAgICBzdGF0aWMgdm9pZCBlbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAgc3RhdGlj
IHZvaWQgc2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpIHsg
fQorICAgIHN0YXRpYyBib29sIGFjY2Vzc2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7
IH0KKyAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5h
YmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKIAogICAgIHZvaWQgcmVtb3ZlQVhJRChB
Y2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgYm9vbCBpc0lEaW5Vc2UoQVhJRCBpZCkgY29uc3Qg
eyByZXR1cm4gbV9pZHNJblVzZS5jb250YWlucyhpZCk7IH0KQEAgLTE5MywyNCArMjAwLDM5IEBA
IHByaXZhdGU6CiBib29sIG5vZGVIYXNSb2xlKE5vZGUqLCBjb25zdCBTdHJpbmcmIHJvbGUpOwog
CiAjaWYgIUhBVkUoQUNDRVNTSUJJTElUWSkKLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6Omhh
bmRsZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQotaW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsg
fQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZGV0YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5
T2JqZWN0KikgeyB9CitpbmxpbmUgQVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZShjb25zdCBE
b2N1bWVudCopIDogbV9kb2N1bWVudCgwKSwgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIodGhpcywg
MCkgeyB9CitpbmxpbmUgQVhPYmplY3RDYWNoZTo6fkFYT2JqZWN0Q2FjaGUoKSB7IH0KK2lubGlu
ZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXQoUmVuZGVyT2JqZWN0Kikg
eyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6
OmdldChXaWRnZXQqKSB7IHJldHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoQWNjZXNzaWJpbGl0eVJvbGUpIHsgcmV0dXJuIDA7
IH0KK2lubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0
ZShSZW5kZXJPYmplY3QqKSB7IHJldHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVj
dCogQVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoV2lkZ2V0KikgeyByZXR1cm4gMDsgfQoraW5s
aW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QoKSB7IHJl
dHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9v
dE9iamVjdEZvckZyYW1lKEZyYW1lKikgeyByZXR1cm4gMDsgfQoraW5saW5lIEVsZW1lbnQqIEFY
T2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudChOb2RlKikgeyByZXR1cm4gMDsgfQor
aW5saW5lIGNvbnN0IEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVu
dChjb25zdCBOb2RlKikgeyByZXR1cm4gMDsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6
YXR0YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9i
amVjdENhY2hlOjpjaGVja2VkU3RhdGVDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQotaW5saW5l
IHZvaWQgQVhPYmplY3RDYWNoZTo6c2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0
KikgeyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKFJlbmRl
ck9iamVjdCosIEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlKSB7
IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJp
bGl0eU9iamVjdCosIERvY3VtZW50KiwgQVhOb3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVu
dCwgUG9zdFR5cGUpIHsgfQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3Jt
Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWE5vdGlmaWNhdGlvbikgeyB9Ci1p
bmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihSZW5k
ZXJPYmplY3QqLCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSB7IH0KLWlu
bGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1Ob3RpZmljYXRp
b24oQWNjZXNzaWJpbGl0eU9iamVjdCosIEFYVGV4dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0
cmluZyYpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKFJl
bmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENoYW5n
ZWQoUmVuZGVyT2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hX
cmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqKSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmZyYW1lTG9hZGluZ0V2ZW50Tm90aWZpY2F0aW9uKEZyYW1lKiwgQVhMb2FkaW5nRXZlbnQp
IHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9y
bU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhMb2FkaW5nRXZlbnQpIHsgfQot
aW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQo
UmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0KikgeyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENh
Y2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqKSB7IH0KLWlubGluZSB2b2lk
IEFYT2JqZWN0Q2FjaGU6OmNvbnRlbnRDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5l
IHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQWN0aXZlRGVzY2VuZGFudENoYW5nZWQoUmVuZGVy
T2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBcmlhRXhwYW5k
ZWRDaGFuZ2UoUmVuZGVyT2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpo
YW5kbGVBcmlhUm9sZUNoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9i
amVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBS
ZW5kZXJPYmplY3QqKSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9s
bGJhclVwZGF0ZShTY3JvbGxWaWV3KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpo
YW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqKSB7IH0KK2lubGluZSB2b2lkIEFYT2Jq
ZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlTm90aWZpY2F0aW9uKFJlbmRlck9iamVjdCosIEFYVGV4
dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQoraW5saW5lIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgQVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9Citpbmxp
bmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmpl
Y3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RU
eXBlKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVu
ZGVyT2JqZWN0KiwgQVhOb3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUp
IHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9u
KEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWE5vdGlmaWNhdGlvbikgeyB9CitpbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpyZW1vdmUoQVhJRCkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmUoUmVuZGVyT2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpy
ZW1vdmUoV2lkZ2V0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpzZWxlY3RlZENo
aWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KICNlbmRpZgogCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAko
cmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTczMSw2ICs3MzEsMTIgQEAgcHJvdGVj
dGVkOgogI2VuZGlmCiB9OwogCisjaWYgIUhBVkUoQUNDRVNTSUJJTElUWSkKK2lubGluZSB2b2lk
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9yZSgpIHsgfQoraW5saW5lIGlu
dCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJikgY29uc3QgeyByZXR1cm4gLTE7IH0KK2lubGluZSBjb25zdCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmNo
aWxkcmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEFjY2Vzc2liaWxpdHlPYmplY3RfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143110</attachid>
            <date>2012-05-21 15:08:13 -0700</date>
            <delta_ts>2012-05-21 15:56:57 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-87035-20120521150812.patch</filename>
            <type>text/plain</type>
            <size>11961</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA1LTIxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgIUhBVkUoQUNDRVNTSUJJTElUWSkg
c2hvdWxkIGJlIGFibGUgdG8gYnVpbGQgd2l0aG91dCBsaW5raW5nIGluIGFueSBjb2RlIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzAzNQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNo
LgorCisgICAgICAgIFRoZSBPUyhBTkRST0lEKSBhbHJlYWR5IGJ1aWxkcyB3aXRoICFIQVZFKEFD
Q0VTU0lCSUxJVFkpLCBidXQgYmVjYXVzZQorICAgICAgICB0aGVyZSBhcmUgYSBmZXcgc3RyYWdn
bGluZyByZWZlcmVuY2VzIHRvIG9iamVjdHMgaW4gdGhlCisgICAgICAgIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eSBkaXJlY3RvcnksIHdlIGVuZCB1cCBwdWxsaW5nIGluIGEgYnVuY2ggb2YgY29kZQor
ICAgICAgICBpbnRvIHRoZSBiaW5hcnkgdGhhdCB3ZSBkb24ndCBuZWVkLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggc3R1YnMgb3V0IGEgZmV3IG1vcmUgZnVuY3Rpb25zIGZvciAhSEFWRShBQ0NFU1NJ
QklMSVRZKSBzbworICAgICAgICB3ZSBjYW4gbGluayB3aXRob3V0IGFueSBvYmplY3RzIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5LiBUaGlzIHBhdGNoCisgICAgICAgIGFsc28gbG9ja3MgaW4g
dGhhdCBwcm9wZXJ0eSBieSBhY3R1YWxseSBleGNsdWRpbmcgdGhlCisgICAgICAgIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eSBkaXJlY3RvcnkgZnJvbSB0aGUgYnVpbGQgb24gT1MoQU5EUk9JRCkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKEFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmls
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OkFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6fkFY
T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZGV0YWNoV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpoYW5kbGVBcmlhUm9sZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Y2hpbGRyZW4pOgor
CiAyMDEyLTA1LTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHJldmlzaW9uIGhpc3RvcnkgdG8gbm90IGlu
Y2x1ZGUgcmVzb3VyY2UgaXRzZWxmLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAJKHJldmlzaW9uIDExNzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAyLDYgKzEzMDIsMTEgQEAKICAgICAg
ICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL2xpbnV4L3N5c3RlbS5neXA6Z3RrJywK
ICAgICAgICAgICBdLAogICAgICAgICB9XSwKKyAgICAgICAgWydPUz09ImFuZHJvaWQiJywgewor
ICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdhY2Nlc3Np
YmlsaXR5LyddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAogICAgICAgICBbJ09TPT0ibWFj
IicsIHsKICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgJ3dlYmtpdF9z
eXN0ZW1faW50ZXJmYWNlJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKKwogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlBUklBR3JpZC5oIgpAQCAtNDQ0LDE0ICs0NDcsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmVBWElEKEFjY2Vzc2liaQogICAgIG1faWRzSW5Vc2UucmVtb3ZlKG9iaklEKTsKIH0K
IAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENo
YW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QgPSBnZXRPckNyZWF0ZShyZW5kZXJlcik7CiAgICAgaWYgKG9iamVjdCkKICAgICAg
ICAgb2JqZWN0LT5jb250ZW50Q2hhbmdlZCgpOyAKIH0KLSNlbmRpZgogCiB2b2lkIEFYT2JqZWN0
Q2FjaGU6OmNoaWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpAQCAtNDkx
LDcgKzQ5Miw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6bm90aWZpY2F0aW9uUG9zdFRpbWUKICAg
ICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuY2xlYXIoKTsKIH0KICAgICAKLSNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0Vs
ZW1lbnQsIFBvc3RUeXBlIHBvc3RUeXBlKQogewogICAgIC8vIE5vdGlmaWNhdGlvbnMgZm9yIHRl
eHQgaW5wdXQgb2JqZWN0cyBhcmUgc2VudCB0byB0aGF0IG9iamVjdC4KQEAgLTU2Nyw5ICs1Njcs
NiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGluZ0V2ZW50Tm90CiAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqID0gZ2V0T3JDcmVhdGUoY29udGVudFJlbmRlcmVyKTsKICAgICBm
cmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iaiwgbG9hZGluZ0V2ZW50KTsK
IH0KLSNlbmRpZgotCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZVNjcm9sbGJhclVwZGF0ZShTY3JvbGxWaWV3KiB2aWV3KQogewpAQCAtNjA4LDcg
KzYwNSw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2UKICAgICBp
ZiAob2JqICYmIG9iai0+aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkpCiAgICAgICAgIHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QqPihvYmopLT51cGRhdGVBY2Nlc3Np
YmlsaXR5Um9sZSgpOwogfQotI2VuZGlmCiAKIFZpc2libGVQb3NpdGlvbiBBWE9iamVjdENhY2hl
Ojp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyRGF0YShUZXh0TWFya2VyRGF0YSYgdGV4dE1h
cmtlckRhdGEpCiB7CkBAIC02OTUsMyArNjkxLDUgQEAgYm9vbCBBWE9iamVjdENhY2hlOjpub2Rl
SXNUZXh0Q29udHJvbChjbwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBIQVZFKEFDQ0VTU0lCSUxJVFkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEzICs5
NiwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqIGFuY2hvck5vZGUpOwogICAgIHZvaWQgaGFuZGxlQXJpYUV4cGFuZGVkQ2hhbmdlKFJlbmRl
ck9iamVjdCopOwogICAgIHZvaWQgaGFuZGxlU2Nyb2xsYmFyVXBkYXRlKFNjcm9sbFZpZXcqKTsK
LSAgICAKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKICAgICBzdGF0aWMgdm9pZCBlbmFibGVB
Y2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVuYWJsZWQgPSB0cnVlOyB9CiAgICAgLy8g
RW5oYW5jZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0
aGUgYXNzaXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgc3RhdGljIHZvaWQgc2V0RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpIHsgZ0FjY2Vzc2liaWxpdHlFbmhhbmNl
ZFVzZXJJbnRlcmZhY2VFbmFibGVkID0gZmxhZzsgfQogICAgIAogICAgIHN0YXRpYyBib29sIGFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmFibGVkOyB9CiAg
ICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQo
KSB7IHJldHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0K
KyNlbHNlCisgICAgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpIHsgfQorICAgIHN0
YXRpYyB2b2lkIHNldEVuaGFuY2VkVXNlckludGVyZmFjZUFjY2Vzc2liaWxpdHkoYm9vbCBmbGFn
KSB7IH0KKyAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5hYmxlZCgpIHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKICAgICB2b2lkIHJlbW92ZUFY
SUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNv
bnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CkBAIC0xOTMsMjQgKzIwMCwz
OSBAQCBwcml2YXRlOgogYm9vbCBub2RlSGFzUm9sZShOb2RlKiwgY29uc3QgU3RyaW5nJiByb2xl
KTsKIAogI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCi1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
OjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KLWlubGlu
ZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFyaWFSb2xlQ2hhbmdlZChSZW5kZXJPYmplY3Qq
KSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBwZXIoQWNjZXNzaWJp
bGl0eU9iamVjdCopIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2FjaGUoY29u
c3QgRG9jdW1lbnQqKSA6IG1fZG9jdW1lbnQoMCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRo
aXMsIDApIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6On5BWE9iamVjdENhY2hlKCkgeyB9Citp
bmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0KFJlbmRlck9iamVj
dCopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENh
Y2hlOjpnZXQoV2lkZ2V0KikgeyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xlKSB7IHJldHVy
biAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0T3JD
cmVhdGUoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlP
YmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFdpZGdldCopIHsgcmV0dXJuIDA7IH0K
K2lubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0KCkg
eyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6
OnJvb3RPYmplY3RGb3JGcmFtZShGcmFtZSopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBFbGVtZW50
KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnQoTm9kZSopIHsgcmV0dXJuIDA7
IH0KK2lubGluZSBjb25zdCBFbGVtZW50KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVs
ZW1lbnQoY29uc3QgTm9kZSopIHsgcmV0dXJuIDA7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCopIHsgfQogaW5saW5lIHZvaWQg
QVhPYmplY3RDYWNoZTo6Y2hlY2tlZFN0YXRlQ2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KLWlu
bGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkKFJlbmRlck9i
amVjdCopIHsgfQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihS
ZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50LCBQb3N0VHlw
ZSkgeyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFjY2Vz
c2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0Vs
ZW1lbnQsIFBvc3RUeXBlKSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0
Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhOb3RpZmljYXRpb24pIHsg
fQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VOb3RpZmljYXRpb24o
UmVuZGVyT2JqZWN0KiwgQVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9
Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25z
dCBTdHJpbmcmKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmNoaWxkcmVuQ2hhbmdl
ZChSZW5kZXJPYmplY3QqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmNvbnRlbnRD
aGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZGV0
YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVj
dENhY2hlOjpmcmFtZUxvYWRpbmdFdmVudE5vdGlmaWNhdGlvbihGcmFtZSosIEFYTG9hZGluZ0V2
ZW50KSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGluZ0V2ZW50UGxh
dGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIEFYTG9hZGluZ0V2ZW50KSB7
IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdCopIHsgfQotaW5saW5lIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikgeyB9Ci1pbmxpbmUg
dm9pZCBBWE9iamVjdENhY2hlOjpjb250ZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KK2lu
bGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKFJl
bmRlck9iamVjdCopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYUV4
cGFuZGVkQ2hhbmdlKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQg
QVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0
KiwgUmVuZGVyT2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVT
Y3JvbGxiYXJVcGRhdGUoU2Nyb2xsVmlldyopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikgeyB9CitpbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBB
WFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSB7IH0KK2lubGluZSB2b2lkIEFY
T2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJp
bGl0eU9iamVjdCosIEFYVGV4dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQor
aW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgRG9jdW1lbnQqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50LCBQ
b3N0VHlwZSkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9u
KFJlbmRlck9iamVjdCosIEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RU
eXBlKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNh
dGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhOb3RpZmljYXRpb24pIHsgfQoraW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6cmVtb3ZlKEFYSUQpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RD
YWNoZTo6cmVtb3ZlKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6cmVtb3ZlKFdpZGdldCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6c2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CiAjZW5kaWYKIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxMTc3OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw5IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQor
CiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgpAQCAtODUsOSArODgsNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp+QWNjZXNzaWJp
bGl0eU9iamVjCiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGV0YWNoKCkKIHsKLSNpZiBI
QVZFKEFDQ0VTU0lCSUxJVFkpCiAgICAgc2V0V3JhcHBlcigwKTsKLSNlbmRpZiAgICAKIH0KIAog
Ym9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc0FjY2Vzc2liaWxpdHlPYmplY3RTZWFyY2hNYXRj
aChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRl
cmlhKiBjcml0ZXJpYSkKQEAgLTE3MTEsNSArMTcxMiw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU9i
amVjdDo6c2Nyb2xsVG9HbG9iYWwKICAgICAgICAgfQogICAgIH0KIH0KLSAgICAKKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmgJKHJldmlzaW9uIDExNzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MzEsNiArNzMxLDEyIEBAIHBy
b3RlY3RlZDoKICNlbmRpZgogfTsKIAorI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCitpbmxpbmUg
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp1cGRhdGVCYWNraW5nU3RvcmUoKSB7IH0KK2lubGlu
ZSBpbnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYpIGNvbnN0IHsgcmV0dXJuIC0xOyB9CitpbmxpbmUgY29uc3QgQWNjZXNzaWJpbGl0
eU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBBY2Nlc3NpYmlsaXR5T2JqZWN0
OjpjaGlsZHJlbigpIHsgcmV0dXJuIG1fY2hpbGRyZW47IH0KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5T2JqZWN0X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143123</attachid>
            <date>2012-05-21 15:57:02 -0700</date>
            <delta_ts>2012-05-21 16:10:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87035-20120521155701.patch</filename>
            <type>text/plain</type>
            <size>13048</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA1LTIxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgIUhBVkUoQUNDRVNTSUJJTElUWSkg
c2hvdWxkIGJlIGFibGUgdG8gYnVpbGQgd2l0aG91dCBsaW5raW5nIGluIGFueSBjb2RlIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzAzNQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNo
LgorCisgICAgICAgIFRoZSBPUyhBTkRST0lEKSBhbHJlYWR5IGJ1aWxkcyB3aXRoICFIQVZFKEFD
Q0VTU0lCSUxJVFkpLCBidXQgYmVjYXVzZQorICAgICAgICB0aGVyZSBhcmUgYSBmZXcgc3RyYWdn
bGluZyByZWZlcmVuY2VzIHRvIG9iamVjdHMgaW4gdGhlCisgICAgICAgIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eSBkaXJlY3RvcnksIHdlIGVuZCB1cCBwdWxsaW5nIGluIGEgYnVuY2ggb2YgY29kZQor
ICAgICAgICBpbnRvIHRoZSBiaW5hcnkgdGhhdCB3ZSBkb24ndCBuZWVkLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggc3R1YnMgb3V0IGEgZmV3IG1vcmUgZnVuY3Rpb25zIGZvciAhSEFWRShBQ0NFU1NJ
QklMSVRZKSBzbworICAgICAgICB3ZSBjYW4gbGluayB3aXRob3V0IGFueSBvYmplY3RzIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5LiBUaGlzIHBhdGNoCisgICAgICAgIGFsc28gbG9ja3MgaW4g
dGhhdCBwcm9wZXJ0eSBieSBhY3R1YWxseSBleGNsdWRpbmcgdGhlCisgICAgICAgIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eSBkaXJlY3RvcnkgZnJvbSB0aGUgYnVpbGQgb24gT1MoQU5EUk9JRCkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKEFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmls
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OkFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6fkFY
T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZGV0YWNoV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpoYW5kbGVBcmlhUm9sZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Y2hpbGRyZW4pOgor
CiAyMDEyLTA1LTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHJldmlzaW9uIGhpc3RvcnkgdG8gbm90IGlu
Y2x1ZGUgcmVzb3VyY2UgaXRzZWxmLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAJKHJldmlzaW9uIDExNzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAyLDYgKzEzMDIsMTEgQEAKICAgICAg
ICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL2xpbnV4L3N5c3RlbS5neXA6Z3RrJywK
ICAgICAgICAgICBdLAogICAgICAgICB9XSwKKyAgICAgICAgWydPUz09ImFuZHJvaWQiJywgewor
ICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdhY2Nlc3Np
YmlsaXR5LyddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAogICAgICAgICBbJ09TPT0ibWFj
IicsIHsKICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgJ3dlYmtpdF9z
eXN0ZW1faW50ZXJmYWNlJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKKwogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlBUklBR3JpZC5oIgpAQCAtNDQ0LDE0ICs0NDcsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmVBWElEKEFjY2Vzc2liaQogICAgIG1faWRzSW5Vc2UucmVtb3ZlKG9iaklEKTsKIH0K
IAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENo
YW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QgPSBnZXRPckNyZWF0ZShyZW5kZXJlcik7CiAgICAgaWYgKG9iamVjdCkKICAgICAg
ICAgb2JqZWN0LT5jb250ZW50Q2hhbmdlZCgpOyAKIH0KLSNlbmRpZgogCiB2b2lkIEFYT2JqZWN0
Q2FjaGU6OmNoaWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpAQCAtNDkx
LDcgKzQ5Miw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6bm90aWZpY2F0aW9uUG9zdFRpbWUKICAg
ICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuY2xlYXIoKTsKIH0KICAgICAKLSNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0Vs
ZW1lbnQsIFBvc3RUeXBlIHBvc3RUeXBlKQogewogICAgIC8vIE5vdGlmaWNhdGlvbnMgZm9yIHRl
eHQgaW5wdXQgb2JqZWN0cyBhcmUgc2VudCB0byB0aGF0IG9iamVjdC4KQEAgLTU2Nyw5ICs1Njcs
NiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGluZ0V2ZW50Tm90CiAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqID0gZ2V0T3JDcmVhdGUoY29udGVudFJlbmRlcmVyKTsKICAgICBm
cmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iaiwgbG9hZGluZ0V2ZW50KTsK
IH0KLSNlbmRpZgotCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZVNjcm9sbGJhclVwZGF0ZShTY3JvbGxWaWV3KiB2aWV3KQogewpAQCAtNjA4LDcg
KzYwNSw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2UKICAgICBp
ZiAob2JqICYmIG9iai0+aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkpCiAgICAgICAgIHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QqPihvYmopLT51cGRhdGVBY2Nlc3Np
YmlsaXR5Um9sZSgpOwogfQotI2VuZGlmCiAKIFZpc2libGVQb3NpdGlvbiBBWE9iamVjdENhY2hl
Ojp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyRGF0YShUZXh0TWFya2VyRGF0YSYgdGV4dE1h
cmtlckRhdGEpCiB7CkBAIC02OTUsMyArNjkxLDUgQEAgYm9vbCBBWE9iamVjdENhY2hlOjpub2Rl
SXNUZXh0Q29udHJvbChjbwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBIQVZFKEFDQ0VTU0lCSUxJVFkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEzICs5
NiwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqIGFuY2hvck5vZGUpOwogICAgIHZvaWQgaGFuZGxlQXJpYUV4cGFuZGVkQ2hhbmdlKFJlbmRl
ck9iamVjdCopOwogICAgIHZvaWQgaGFuZGxlU2Nyb2xsYmFyVXBkYXRlKFNjcm9sbFZpZXcqKTsK
LSAgICAKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKICAgICBzdGF0aWMgdm9pZCBlbmFibGVB
Y2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVuYWJsZWQgPSB0cnVlOyB9CiAgICAgLy8g
RW5oYW5jZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0
aGUgYXNzaXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgc3RhdGljIHZvaWQgc2V0RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpIHsgZ0FjY2Vzc2liaWxpdHlFbmhhbmNl
ZFVzZXJJbnRlcmZhY2VFbmFibGVkID0gZmxhZzsgfQogICAgIAogICAgIHN0YXRpYyBib29sIGFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmFibGVkOyB9CiAg
ICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQo
KSB7IHJldHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0K
KyNlbHNlCisgICAgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpIHsgfQorICAgIHN0
YXRpYyB2b2lkIHNldEVuaGFuY2VkVXNlckludGVyZmFjZUFjY2Vzc2liaWxpdHkoYm9vbCBmbGFn
KSB7IH0KKyAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5hYmxlZCgpIHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKICAgICB2b2lkIHJlbW92ZUFY
SUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNv
bnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CkBAIC0xOTMsMjQgKzIwMCwz
OSBAQCBwcml2YXRlOgogYm9vbCBub2RlSGFzUm9sZShOb2RlKiwgY29uc3QgU3RyaW5nJiByb2xl
KTsKIAogI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCi1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
OjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KLWlubGlu
ZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFyaWFSb2xlQ2hhbmdlZChSZW5kZXJPYmplY3Qq
KSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBwZXIoQWNjZXNzaWJp
bGl0eU9iamVjdCopIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2FjaGUoY29u
c3QgRG9jdW1lbnQqKSA6IG1fZG9jdW1lbnQoMCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRo
aXMsIDApIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6On5BWE9iamVjdENhY2hlKCkgeyB9Citp
bmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0KFJlbmRlck9iamVj
dCopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENh
Y2hlOjpnZXQoV2lkZ2V0KikgeyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xlKSB7IHJldHVy
biAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0T3JD
cmVhdGUoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlP
YmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKFdpZGdldCopIHsgcmV0dXJuIDA7IH0K
K2lubGluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0KCkg
eyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6
OnJvb3RPYmplY3RGb3JGcmFtZShGcmFtZSopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBFbGVtZW50
KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVsZW1lbnQoTm9kZSopIHsgcmV0dXJuIDA7
IH0KK2lubGluZSBjb25zdCBFbGVtZW50KiBBWE9iamVjdENhY2hlOjpyb290QVhFZGl0YWJsZUVs
ZW1lbnQoY29uc3QgTm9kZSopIHsgcmV0dXJuIDA7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmF0dGFjaFdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdCopIHsgfQogaW5saW5lIHZvaWQg
QVhPYmplY3RDYWNoZTo6Y2hlY2tlZFN0YXRlQ2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KLWlu
bGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkKFJlbmRlck9i
amVjdCopIHsgfQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihS
ZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50LCBQb3N0VHlw
ZSkgeyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFjY2Vz
c2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0Vs
ZW1lbnQsIFBvc3RUeXBlKSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0
Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhOb3RpZmljYXRpb24pIHsg
fQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VOb3RpZmljYXRpb24o
UmVuZGVyT2JqZWN0KiwgQVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9
Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25z
dCBTdHJpbmcmKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmNoaWxkcmVuQ2hhbmdl
ZChSZW5kZXJPYmplY3QqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmNvbnRlbnRD
aGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZGV0
YWNoV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVj
dENhY2hlOjpmcmFtZUxvYWRpbmdFdmVudE5vdGlmaWNhdGlvbihGcmFtZSosIEFYTG9hZGluZ0V2
ZW50KSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGluZ0V2ZW50UGxh
dGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIEFYTG9hZGluZ0V2ZW50KSB7
IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdCopIHsgfQotaW5saW5lIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikgeyB9Ci1pbmxpbmUg
dm9pZCBBWE9iamVjdENhY2hlOjpjb250ZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KK2lu
bGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKFJl
bmRlck9iamVjdCopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYUV4
cGFuZGVkQ2hhbmdlKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQg
QVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0
KiwgUmVuZGVyT2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVT
Y3JvbGxiYXJVcGRhdGUoU2Nyb2xsVmlldyopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikgeyB9CitpbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBB
WFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSB7IH0KK2lubGluZSB2b2lkIEFY
T2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJp
bGl0eU9iamVjdCosIEFYVGV4dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQor
aW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgRG9jdW1lbnQqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50LCBQ
b3N0VHlwZSkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9u
KFJlbmRlck9iamVjdCosIEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RU
eXBlKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNh
dGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhOb3RpZmljYXRpb24pIHsgfQoraW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6cmVtb3ZlKEFYSUQpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RD
YWNoZTo6cmVtb3ZlKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6cmVtb3ZlKFdpZGdldCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6c2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CiAjZW5kaWYKIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxMTc3OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw3ICs4Nyw3IEBA
IHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6ZGV0YWNoKCkKIHsKICNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFkpCiAgICAgc2V0V3JhcHBlcigwKTsKLSNlbmRpZiAgICAKKyNlbmRpZgogfQogCiBib29s
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzQWNjZXNzaWJpbGl0eU9iamVjdFNlYXJjaE1hdGNoKEFj
Y2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0LCBBY2Nlc3NpYmlsaXR5U2VhcmNoQ3JpdGVyaWEq
IGNyaXRlcmlhKQpAQCAtMTAyNCw2ICsxMDI0LDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNj
ZXNzaWJpbGl0eU9iamVjdAogICAgIHJldHVybiBvYmotPmRvY3VtZW50KCktPmF4T2JqZWN0Q2Fj
aGUoKS0+Z2V0T3JDcmVhdGUob2JqKTsKIH0KIAorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIGlu
dCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0
aW9uJiB2aXNpYmxlUG9zKSBjb25zdAogewogICAgIGlmICh2aXNpYmxlUG9zLmlzTnVsbCgpIHx8
ICFub2RlKCkpCkBAIC0xMDUwLDYgKzEwNTEsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eU9iamVjdDo6
bGluZUZvclBvc2l0aW9uCiAKICAgICByZXR1cm4gbGluZUNvdW50OwogfQorI2VuZGlmCiAKIC8v
IE5PVEU6IENvbnNpZGVyIHByb3ZpZGluZyB0aGlzIHV0aWxpdHkgbWV0aG9kIGFzIEFYIEFQSQog
UGxhaW5UZXh0UmFuZ2UgQWNjZXNzaWJpbGl0eU9iamVjdDo6cGxhaW5UZXh0UmFuZ2VGb3JWaXNp
YmxlUG9zaXRpb25SYW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25SYW5nZSYgcG9zaXRpb25SYW5n
ZSkgY29uc3QKQEAgLTEwOTEsMTMgKzEwOTMsMTUgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9i
amVjdDo6ZG9BWExpbmVGbwogewogICAgIHJldHVybiBsaW5lRm9yUG9zaXRpb24odmlzaWJsZVBv
c2l0aW9uRm9ySW5kZXgoaW5kZXgsIGZhbHNlKSk7CiB9Ci0gICAgCisKKyNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9yZSgp
CiB7CiAgICAgLy8gVXBkYXRpbmcgdGhlIGxheW91dCBtYXkgZGVsZXRlIHRoaXMgb2JqZWN0Lgog
ICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKQogICAgICAgICBk
b2N1bWVudC0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiB9CisjZW5k
aWYKIAogRG9jdW1lbnQqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRvY3VtZW50KCkgY29uc3QKIHsK
QEAgLTExMjgsMTMgKzExMzIsMTUgQEAgRnJhbWVWaWV3KiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpk
b2N1bWVudAogICAgIHJldHVybiBvYmplY3QtPmRvY3VtZW50RnJhbWVWaWV3KCk7CiB9CiAKKyNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiBjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3Np
YmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmNoaWxkcmVuKCkKIHsK
ICAgICB1cGRhdGVDaGlsZHJlbklmTmVjZXNzYXJ5KCk7Ci0gICAgCisKICAgICByZXR1cm4gbV9j
aGlsZHJlbjsKIH0KLSAgICAKKyNlbmRpZgorCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnVw
ZGF0ZUNoaWxkcmVuSWZOZWNlc3NhcnkoKQogewogICAgIGlmICghaGFzQ2hpbGRyZW4oKSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oCShyZXZpc2lvbiAxMTc3OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNzMxLDYgKzczMSwxMiBA
QCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKKyNpZiAhSEFWRShBQ0NFU1NJQklMSVRZKQoraW5s
aW5lIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlQmFja2luZ1N0b3JlKCkgeyB9Citp
bmxpbmUgaW50IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNp
YmxlUG9zaXRpb24mKSBjb25zdCB7IHJldHVybiAtMTsgfQoraW5saW5lIGNvbnN0IEFjY2Vzc2li
aWxpdHlPYmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgQWNjZXNzaWJpbGl0eU9i
amVjdDo6Y2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuOyB9CisjZW5kaWYKKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gQWNjZXNzaWJpbGl0eU9iamVjdF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143125</attachid>
            <date>2012-05-21 16:11:06 -0700</date>
            <delta_ts>2012-05-21 16:23:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87035-20120521161104.patch</filename>
            <type>text/plain</type>
            <size>13143</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA1LTIxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgIUhBVkUoQUNDRVNTSUJJTElUWSkg
c2hvdWxkIGJlIGFibGUgdG8gYnVpbGQgd2l0aG91dCBsaW5raW5nIGluIGFueSBjb2RlIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzAzNQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNo
LgorCisgICAgICAgIFRoZSBPUyhBTkRST0lEKSBhbHJlYWR5IGJ1aWxkcyB3aXRoICFIQVZFKEFD
Q0VTU0lCSUxJVFkpLCBidXQgYmVjYXVzZQorICAgICAgICB0aGVyZSBhcmUgYSBmZXcgc3RyYWdn
bGluZyByZWZlcmVuY2VzIHRvIG9iamVjdHMgaW4gdGhlCisgICAgICAgIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eSBkaXJlY3RvcnksIHdlIGVuZCB1cCBwdWxsaW5nIGluIGEgYnVuY2ggb2YgY29kZQor
ICAgICAgICBpbnRvIHRoZSBiaW5hcnkgdGhhdCB3ZSBkb24ndCBuZWVkLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggc3R1YnMgb3V0IGEgZmV3IG1vcmUgZnVuY3Rpb25zIGZvciAhSEFWRShBQ0NFU1NJ
QklMSVRZKSBzbworICAgICAgICB3ZSBjYW4gbGluayB3aXRob3V0IGFueSBvYmplY3RzIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5LiBUaGlzIHBhdGNoCisgICAgICAgIGFsc28gbG9ja3MgaW4g
dGhhdCBwcm9wZXJ0eSBieSBhY3R1YWxseSBleGNsdWRpbmcgdGhlCisgICAgICAgIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eSBkaXJlY3RvcnkgZnJvbSB0aGUgYnVpbGQgb24gT1MoQU5EUk9JRCkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKEFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmls
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OkFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6fkFY
T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZGV0YWNoV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpoYW5kbGVBcmlhUm9sZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Y2hpbGRyZW4pOgor
CiAyMDEyLTA1LTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHJldmlzaW9uIGhpc3RvcnkgdG8gbm90IGlu
Y2x1ZGUgcmVzb3VyY2UgaXRzZWxmLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAJKHJldmlzaW9uIDExNzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAyLDYgKzEzMDIsMTEgQEAKICAgICAg
ICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL2xpbnV4L3N5c3RlbS5neXA6Z3RrJywK
ICAgICAgICAgICBdLAogICAgICAgICB9XSwKKyAgICAgICAgWydPUz09ImFuZHJvaWQiJywgewor
ICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdhY2Nlc3Np
YmlsaXR5LyddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAogICAgICAgICBbJ09TPT0ibWFj
IicsIHsKICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgJ3dlYmtpdF9z
eXN0ZW1faW50ZXJmYWNlJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKKwogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlBUklBR3JpZC5oIgpAQCAtNDQ0LDE0ICs0NDcsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmVBWElEKEFjY2Vzc2liaQogICAgIG1faWRzSW5Vc2UucmVtb3ZlKG9iaklEKTsKIH0K
IAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENo
YW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QgPSBnZXRPckNyZWF0ZShyZW5kZXJlcik7CiAgICAgaWYgKG9iamVjdCkKICAgICAg
ICAgb2JqZWN0LT5jb250ZW50Q2hhbmdlZCgpOyAKIH0KLSNlbmRpZgogCiB2b2lkIEFYT2JqZWN0
Q2FjaGU6OmNoaWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpAQCAtNDkx
LDcgKzQ5Miw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6bm90aWZpY2F0aW9uUG9zdFRpbWUKICAg
ICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuY2xlYXIoKTsKIH0KICAgICAKLSNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0Vs
ZW1lbnQsIFBvc3RUeXBlIHBvc3RUeXBlKQogewogICAgIC8vIE5vdGlmaWNhdGlvbnMgZm9yIHRl
eHQgaW5wdXQgb2JqZWN0cyBhcmUgc2VudCB0byB0aGF0IG9iamVjdC4KQEAgLTU2Nyw5ICs1Njcs
NiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGluZ0V2ZW50Tm90CiAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqID0gZ2V0T3JDcmVhdGUoY29udGVudFJlbmRlcmVyKTsKICAgICBm
cmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iaiwgbG9hZGluZ0V2ZW50KTsK
IH0KLSNlbmRpZgotCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZVNjcm9sbGJhclVwZGF0ZShTY3JvbGxWaWV3KiB2aWV3KQogewpAQCAtNjA4LDcg
KzYwNSw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2UKICAgICBp
ZiAob2JqICYmIG9iai0+aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkpCiAgICAgICAgIHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QqPihvYmopLT51cGRhdGVBY2Nlc3Np
YmlsaXR5Um9sZSgpOwogfQotI2VuZGlmCiAKIFZpc2libGVQb3NpdGlvbiBBWE9iamVjdENhY2hl
Ojp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyRGF0YShUZXh0TWFya2VyRGF0YSYgdGV4dE1h
cmtlckRhdGEpCiB7CkBAIC02OTUsMyArNjkxLDUgQEAgYm9vbCBBWE9iamVjdENhY2hlOjpub2Rl
SXNUZXh0Q29udHJvbChjbwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBIQVZFKEFDQ0VTU0lCSUxJVFkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEzICs5
NiwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqIGFuY2hvck5vZGUpOwogICAgIHZvaWQgaGFuZGxlQXJpYUV4cGFuZGVkQ2hhbmdlKFJlbmRl
ck9iamVjdCopOwogICAgIHZvaWQgaGFuZGxlU2Nyb2xsYmFyVXBkYXRlKFNjcm9sbFZpZXcqKTsK
LSAgICAKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKICAgICBzdGF0aWMgdm9pZCBlbmFibGVB
Y2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVuYWJsZWQgPSB0cnVlOyB9CiAgICAgLy8g
RW5oYW5jZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0
aGUgYXNzaXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgc3RhdGljIHZvaWQgc2V0RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpIHsgZ0FjY2Vzc2liaWxpdHlFbmhhbmNl
ZFVzZXJJbnRlcmZhY2VFbmFibGVkID0gZmxhZzsgfQogICAgIAogICAgIHN0YXRpYyBib29sIGFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmFibGVkOyB9CiAg
ICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQo
KSB7IHJldHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0K
KyNlbHNlCisgICAgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpIHsgfQorICAgIHN0
YXRpYyB2b2lkIHNldEVuaGFuY2VkVXNlckludGVyZmFjZUFjY2Vzc2liaWxpdHkoYm9vbCBmbGFn
KSB7IH0KKyAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5hYmxlZCgpIHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKICAgICB2b2lkIHJlbW92ZUFY
SUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNv
bnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CkBAIC0xOTMsMjQgKzIwMCw0
MCBAQCBwcml2YXRlOgogYm9vbCBub2RlSGFzUm9sZShOb2RlKiwgY29uc3QgU3RyaW5nJiByb2xl
KTsKIAogI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCi1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
OjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KLWlubGlu
ZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFyaWFSb2xlQ2hhbmdlZChSZW5kZXJPYmplY3Qq
KSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBwZXIoQWNjZXNzaWJp
bGl0eU9iamVjdCopIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2FjaGUoY29u
c3QgRG9jdW1lbnQqKSA6IG1fZG9jdW1lbnQoMCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRo
aXMsIDApIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6On5BWE9iamVjdENhY2hlKCkgeyB9Citp
bmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Zm9jdXNlZFVJRWxlbWVu
dEZvclBhZ2UoY29uc3QgUGFnZSopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXQoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gMDsgfQor
aW5saW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldChXaWRnZXQqKSB7
IHJldHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6
Z2V0T3JDcmVhdGUoQWNjZXNzaWJpbGl0eVJvbGUpIHsgcmV0dXJuIDA7IH0KK2lubGluZSBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShSZW5kZXJPYmplY3Qq
KSB7IHJldHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNo
ZTo6Z2V0T3JDcmVhdGUoV2lkZ2V0KikgeyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxp
dHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QoKSB7IHJldHVybiAwOyB9Citpbmxp
bmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1l
KEZyYW1lKikgeyByZXR1cm4gMDsgfQoraW5saW5lIEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJv
b3RBWEVkaXRhYmxlRWxlbWVudChOb2RlKikgeyByZXR1cm4gMDsgfQoraW5saW5lIGNvbnN0IEVs
ZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudChjb25zdCBOb2RlKikg
eyByZXR1cm4gMDsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6YXR0YWNoV3JhcHBlcihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpjaGVj
a2VkU3RhdGVDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQotaW5saW5lIHZvaWQgQVhPYmplY3RD
YWNoZTo6c2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9Ci1pbmxpbmUg
dm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKFJlbmRlck9iamVjdCosIEFYTm90
aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlKSB7IH0KLWlubGluZSB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIERv
Y3VtZW50KiwgQVhOb3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUpIHsg
fQotaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKEFj
Y2Vzc2liaWxpdHlPYmplY3QqLCBBWE5vdGlmaWNhdGlvbikgeyB9Ci1pbmxpbmUgdm9pZCBBWE9i
amVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWFRl
eHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSB7IH0KLWlubGluZSB2b2lkIEFYT2Jq
ZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0
eU9iamVjdCosIEFYVGV4dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQoraW5s
aW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6Y2hpbGRyZW5DaGFuZ2VkKFJlbmRlck9iamVjdCopIHsg
fQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENoYW5nZWQoUmVuZGVyT2JqZWN0
KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFjY2Vzc2li
aWxpdHlPYmplY3QqKSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGlu
Z0V2ZW50Tm90aWZpY2F0aW9uKEZyYW1lKiwgQVhMb2FkaW5nRXZlbnQpIHsgfQogaW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhMb2FkaW5nRXZlbnQpIHsgfQotaW5saW5lIHZvaWQgQVhP
YmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0Kiwg
UmVuZGVyT2JqZWN0KikgeyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3Jv
bGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqKSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6
OmNvbnRlbnRDaGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RD
YWNoZTo6aGFuZGxlQWN0aXZlRGVzY2VuZGFudENoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CiBp
bmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2UoUmVuZGVy
T2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBcmlhUm9sZUNo
YW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5k
bGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKSB7
IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGJhclVwZGF0ZShTY3Jv
bGxWaWV3KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRv
QW5jaG9yKGNvbnN0IE5vZGUqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVU
ZXh0Q2hhbmdlTm90aWZpY2F0aW9uKFJlbmRlck9iamVjdCosIEFYVGV4dENoYW5nZSwgdW5zaWdu
ZWQsIGNvbnN0IFN0cmluZyYpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6bm9kZVRl
eHRDaGFuZ2VQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhUZXh0
Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVj
dENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCos
IEFYTm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlKSB7IH0KK2lubGlu
ZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0KiwgQVhO
b3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUpIHsgfQoraW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlP
YmplY3QqLCBBWE5vdGlmaWNhdGlvbikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpy
ZW1vdmUoQVhJRCkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpyZW1vdmUoUmVuZGVy
T2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpyZW1vdmUoV2lkZ2V0Kikg
eyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZChS
ZW5kZXJPYmplY3QqKSB7IH0KICNlbmRpZgogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDEx
Nzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3LDcgKzg3LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpkZXRhY2goKQogewogI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKICAgICBzZXRXcmFw
cGVyKDApOwotI2VuZGlmICAgIAorI2VuZGlmCiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVj
dDo6aXNBY2Nlc3NpYmlsaXR5T2JqZWN0U2VhcmNoTWF0Y2goQWNjZXNzaWJpbGl0eU9iamVjdCog
YXhPYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSogY3JpdGVyaWEpCkBAIC0xMDI0
LDYgKzEwMjQsNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5T2JqZWN0CiAg
ICAgcmV0dXJuIG9iai0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShv
YmopOwogfQogCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogaW50IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmxpbmVGb3JQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3MpIGNv
bnN0CiB7CiAgICAgaWYgKHZpc2libGVQb3MuaXNOdWxsKCkgfHwgIW5vZGUoKSkKQEAgLTEwNTAs
NiArMTA1MSw3IEBAIGludCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24KIAog
ICAgIHJldHVybiBsaW5lQ291bnQ7CiB9CisjZW5kaWYKIAogLy8gTk9URTogQ29uc2lkZXIgcHJv
dmlkaW5nIHRoaXMgdXRpbGl0eSBtZXRob2QgYXMgQVggQVBJCiBQbGFpblRleHRSYW5nZSBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpwbGFpblRleHRSYW5nZUZvclZpc2libGVQb3NpdGlvblJhbmdlKGNv
bnN0IFZpc2libGVQb3NpdGlvblJhbmdlJiBwb3NpdGlvblJhbmdlKSBjb25zdApAQCAtMTA5MSwx
MyArMTA5MywxNSBAQCB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpkb0FYTGluZUZvCiB7
CiAgICAgcmV0dXJuIGxpbmVGb3JQb3NpdGlvbih2aXNpYmxlUG9zaXRpb25Gb3JJbmRleChpbmRl
eCwgZmFsc2UpKTsKIH0KLSAgICAKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIHZvaWQgQWNj
ZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlQmFja2luZ1N0b3JlKCkKIHsKICAgICAvLyBVcGRhdGlu
ZyB0aGUgbGF5b3V0IG1heSBkZWxldGUgdGhpcyBvYmplY3QuCiAgICAgaWYgKERvY3VtZW50KiBk
b2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIH0KKyNlbmRpZgogCiBEb2N1bWVudCogQWNj
ZXNzaWJpbGl0eU9iamVjdDo6ZG9jdW1lbnQoKSBjb25zdAogewpAQCAtMTEyOCwxMyArMTEzMiwx
NSBAQCBGcmFtZVZpZXcqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRvY3VtZW50CiAgICAgcmV0dXJu
IG9iamVjdC0+ZG9jdW1lbnRGcmFtZVZpZXcoKTsKIH0KIAorI2lmIEhBVkUoQUNDRVNTSUJJTElU
WSkKIGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rv
ciYgQWNjZXNzaWJpbGl0eU9iamVjdDo6Y2hpbGRyZW4oKQogewogICAgIHVwZGF0ZUNoaWxkcmVu
SWZOZWNlc3NhcnkoKTsKLSAgICAKKwogICAgIHJldHVybiBtX2NoaWxkcmVuOwogfQotICAgIAor
I2VuZGlmCisKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6dXBkYXRlQ2hpbGRyZW5JZk5lY2Vz
c2FyeSgpCiB7CiAgICAgaWYgKCFoYXNDaGlsZHJlbigpKQpJbmRleDogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlzaW9uIDEx
Nzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MzEsNiArNzMxLDEyIEBAIHByb3RlY3RlZDoKICNlbmRp
ZgogfTsKIAorI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCitpbmxpbmUgdm9pZCBBY2Nlc3NpYmls
aXR5T2JqZWN0Ojp1cGRhdGVCYWNraW5nU3RvcmUoKSB7IH0KK2lubGluZSBpbnQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYpIGNvbnN0
IHsgcmV0dXJuIC0xOyB9CitpbmxpbmUgY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdDo6QWNjZXNz
aWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpjaGlsZHJlbigpIHsg
cmV0dXJuIG1fY2hpbGRyZW47IH0KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBBY2Nlc3NpYmlsaXR5T2JqZWN0X2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143126</attachid>
            <date>2012-05-21 16:23:06 -0700</date>
            <delta_ts>2012-05-21 22:46:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87035-20120521162305.patch</filename>
            <type>text/plain</type>
            <size>13208</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA1LTIxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgIUhBVkUoQUNDRVNTSUJJTElUWSkg
c2hvdWxkIGJlIGFibGUgdG8gYnVpbGQgd2l0aG91dCBsaW5raW5nIGluIGFueSBjb2RlIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzAzNQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNo
LgorCisgICAgICAgIFRoZSBPUyhBTkRST0lEKSBhbHJlYWR5IGJ1aWxkcyB3aXRoICFIQVZFKEFD
Q0VTU0lCSUxJVFkpLCBidXQgYmVjYXVzZQorICAgICAgICB0aGVyZSBhcmUgYSBmZXcgc3RyYWdn
bGluZyByZWZlcmVuY2VzIHRvIG9iamVjdHMgaW4gdGhlCisgICAgICAgIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eSBkaXJlY3RvcnksIHdlIGVuZCB1cCBwdWxsaW5nIGluIGEgYnVuY2ggb2YgY29kZQor
ICAgICAgICBpbnRvIHRoZSBiaW5hcnkgdGhhdCB3ZSBkb24ndCBuZWVkLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggc3R1YnMgb3V0IGEgZmV3IG1vcmUgZnVuY3Rpb25zIGZvciAhSEFWRShBQ0NFU1NJ
QklMSVRZKSBzbworICAgICAgICB3ZSBjYW4gbGluayB3aXRob3V0IGFueSBvYmplY3RzIGZyb20g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5LiBUaGlzIHBhdGNoCisgICAgICAgIGFsc28gbG9ja3MgaW4g
dGhhdCBwcm9wZXJ0eSBieSBhY3R1YWxseSBleGNsdWRpbmcgdGhlCisgICAgICAgIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eSBkaXJlY3RvcnkgZnJvbSB0aGUgYnVpbGQgb24gT1MoQU5EUk9JRCkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKEFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpzZXRFbmhhbmNlZFVzZXJJbnRlcmZhY2VBY2Nlc3NpYmls
aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmhh
bmNlZFVzZXJJbnRlcmZhY2VFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OkFYT2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6fkFY
T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmdldE9yQ3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnJvb3RBWEVkaXRhYmxlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6Y29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
ZGV0YWNoV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpoYW5kbGVBcmlhUm9sZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6Y2hpbGRyZW4pOgor
CiAyMDEyLTA1LTIxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHJldmlzaW9uIGhpc3RvcnkgdG8gbm90IGlu
Y2x1ZGUgcmVzb3VyY2UgaXRzZWxmLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAJKHJldmlzaW9uIDExNzc5NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAyLDYgKzEzMDIsMTEgQEAKICAgICAg
ICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL2xpbnV4L3N5c3RlbS5neXA6Z3RrJywK
ICAgICAgICAgICBdLAogICAgICAgICB9XSwKKyAgICAgICAgWydPUz09ImFuZHJvaWQiJywgewor
ICAgICAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdhY2Nlc3Np
YmlsaXR5LyddLAorICAgICAgICAgIF0sCisgICAgICAgIH1dLAogICAgICAgICBbJ09TPT0ibWFj
IicsIHsKICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgJ3dlYmtpdF9z
eXN0ZW1faW50ZXJmYWNlJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkKKwogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKIAogI2luY2x1ZGUgIkFjY2Vzc2li
aWxpdHlBUklBR3JpZC5oIgpAQCAtNDQ0LDE0ICs0NDcsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmVBWElEKEFjY2Vzc2liaQogICAgIG1faWRzSW5Vc2UucmVtb3ZlKG9iaklEKTsKIH0K
IAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKIHZvaWQgQVhPYmplY3RDYWNoZTo6Y29udGVudENo
YW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QgPSBnZXRPckNyZWF0ZShyZW5kZXJlcik7CiAgICAgaWYgKG9iamVjdCkKICAgICAg
ICAgb2JqZWN0LT5jb250ZW50Q2hhbmdlZCgpOyAKIH0KLSNlbmRpZgogCiB2b2lkIEFYT2JqZWN0
Q2FjaGU6OmNoaWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewpAQCAtNDkx
LDcgKzQ5Miw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6bm90aWZpY2F0aW9uUG9zdFRpbWUKICAg
ICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuY2xlYXIoKTsKIH0KICAgICAKLSNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0Vs
ZW1lbnQsIFBvc3RUeXBlIHBvc3RUeXBlKQogewogICAgIC8vIE5vdGlmaWNhdGlvbnMgZm9yIHRl
eHQgaW5wdXQgb2JqZWN0cyBhcmUgc2VudCB0byB0aGF0IG9iamVjdC4KQEAgLTU2Nyw5ICs1Njcs
NiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmZyYW1lTG9hZGluZ0V2ZW50Tm90CiAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqID0gZ2V0T3JDcmVhdGUoY29udGVudFJlbmRlcmVyKTsKICAgICBm
cmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iaiwgbG9hZGluZ0V2ZW50KTsK
IH0KLSNlbmRpZgotCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogCiB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZVNjcm9sbGJhclVwZGF0ZShTY3JvbGxWaWV3KiB2aWV3KQogewpAQCAtNjA4LDcg
KzYwNSw2IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXJpYVJvbGVDaGFuZ2UKICAgICBp
ZiAob2JqICYmIG9iai0+aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkpCiAgICAgICAgIHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QqPihvYmopLT51cGRhdGVBY2Nlc3Np
YmlsaXR5Um9sZSgpOwogfQotI2VuZGlmCiAKIFZpc2libGVQb3NpdGlvbiBBWE9iamVjdENhY2hl
Ojp2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyRGF0YShUZXh0TWFya2VyRGF0YSYgdGV4dE1h
cmtlckRhdGEpCiB7CkBAIC02OTUsMyArNjkxLDUgQEAgYm9vbCBBWE9iamVjdENhY2hlOjpub2Rl
SXNUZXh0Q29udHJvbChjbwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBIQVZFKEFDQ0VTU0lCSUxJVFkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEzICs5
NiwyMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqIGFuY2hvck5vZGUpOwogICAgIHZvaWQgaGFuZGxlQXJpYUV4cGFuZGVkQ2hhbmdlKFJlbmRl
ck9iamVjdCopOwogICAgIHZvaWQgaGFuZGxlU2Nyb2xsYmFyVXBkYXRlKFNjcm9sbFZpZXcqKTsK
LSAgICAKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKICAgICBzdGF0aWMgdm9pZCBlbmFibGVB
Y2Nlc3NpYmlsaXR5KCkgeyBnQWNjZXNzaWJpbGl0eUVuYWJsZWQgPSB0cnVlOyB9CiAgICAgLy8g
RW5oYW5jZWQgdXNlciBpbnRlcmZhY2UgYWNjZXNzaWJpbGl0eSBjYW4gYmUgdG9nZ2xlZCBieSB0
aGUgYXNzaXN0aXZlIHRlY2hub2xvZ3kuCiAgICAgc3RhdGljIHZvaWQgc2V0RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlQWNjZXNzaWJpbGl0eShib29sIGZsYWcpIHsgZ0FjY2Vzc2liaWxpdHlFbmhhbmNl
ZFVzZXJJbnRlcmZhY2VFbmFibGVkID0gZmxhZzsgfQogICAgIAogICAgIHN0YXRpYyBib29sIGFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkgeyByZXR1cm4gZ0FjY2Vzc2liaWxpdHlFbmFibGVkOyB9CiAg
ICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQo
KSB7IHJldHVybiBnQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFjZUVuYWJsZWQ7IH0K
KyNlbHNlCisgICAgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpIHsgfQorICAgIHN0
YXRpYyB2b2lkIHNldEVuaGFuY2VkVXNlckludGVyZmFjZUFjY2Vzc2liaWxpdHkoYm9vbCBmbGFn
KSB7IH0KKyAgICBzdGF0aWMgYm9vbCBhY2Nlc3NpYmlsaXR5RW5hYmxlZCgpIHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlckludGVyZmFj
ZUVuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKICAgICB2b2lkIHJlbW92ZUFY
SUQoQWNjZXNzaWJpbGl0eU9iamVjdCopOwogICAgIGJvb2wgaXNJRGluVXNlKEFYSUQgaWQpIGNv
bnN0IHsgcmV0dXJuIG1faWRzSW5Vc2UuY29udGFpbnMoaWQpOyB9CkBAIC0xOTMsMjQgKzIwMCw0
MSBAQCBwcml2YXRlOgogYm9vbCBub2RlSGFzUm9sZShOb2RlKiwgY29uc3QgU3RyaW5nJiByb2xl
KTsKIAogI2lmICFIQVZFKEFDQ0VTU0lCSUxJVFkpCi1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
OjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KLWlubGlu
ZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFyaWFSb2xlQ2hhbmdlZChSZW5kZXJPYmplY3Qq
KSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBwZXIoQWNjZXNzaWJp
bGl0eU9iamVjdCopIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2FjaGUoY29u
c3QgRG9jdW1lbnQqKSA6IG1fZG9jdW1lbnQoMCksIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyKHRo
aXMsIDApIHsgfQoraW5saW5lIEFYT2JqZWN0Q2FjaGU6On5BWE9iamVjdENhY2hlKCkgeyB9Citp
bmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Zm9jdXNlZFVJRWxlbWVu
dEZvclBhZ2UoY29uc3QgUGFnZSopIHsgcmV0dXJuIDA7IH0KK2lubGluZSBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXQoUmVuZGVyT2JqZWN0KikgeyByZXR1cm4gMDsgfQor
aW5saW5lIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmdldChXaWRnZXQqKSB7
IHJldHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6
Z2V0T3JDcmVhdGUoQWNjZXNzaWJpbGl0eVJvbGUpIHsgcmV0dXJuIDA7IH0KK2lubGluZSBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZShSZW5kZXJPYmplY3Qq
KSB7IHJldHVybiAwOyB9CitpbmxpbmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNo
ZTo6Z2V0T3JDcmVhdGUoV2lkZ2V0KikgeyByZXR1cm4gMDsgfQoraW5saW5lIEFjY2Vzc2liaWxp
dHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3QoKSB7IHJldHVybiAwOyB9Citpbmxp
bmUgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVjdEZvckZyYW1l
KEZyYW1lKikgeyByZXR1cm4gMDsgfQoraW5saW5lIEVsZW1lbnQqIEFYT2JqZWN0Q2FjaGU6OnJv
b3RBWEVkaXRhYmxlRWxlbWVudChOb2RlKikgeyByZXR1cm4gMDsgfQoraW5saW5lIGJvb2wgbm9k
ZUhhc1JvbGUoTm9kZSosIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIGZhbHNlOyB9CitpbmxpbmUg
Y29uc3QgRWxlbWVudCogQVhPYmplY3RDYWNoZTo6cm9vdEFYRWRpdGFibGVFbGVtZW50KGNvbnN0
IE5vZGUqKSB7IHJldHVybiAwOyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hX
cmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqKSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmNoZWNrZWRTdGF0ZUNoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9Ci1pbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0K
LWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0
KiwgQVhOb3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUpIHsgfQotaW5s
aW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiwgRG9jdW1lbnQqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50LCBQb3N0
VHlwZSkgeyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmlj
YXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIEFYTm90aWZpY2F0aW9uKSB7IH0KLWlubGluZSB2
b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlTm90aWZpY2F0aW9uKFJlbmRlck9iamVj
dCosIEFYVGV4dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQotaW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nl
c3NpYmlsaXR5T2JqZWN0KiwgQVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikg
eyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpjaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2Jq
ZWN0KikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpjb250ZW50Q2hhbmdlZChSZW5k
ZXJPYmplY3QqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBwZXIo
QWNjZXNzaWJpbGl0eU9iamVjdCopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6ZnJh
bWVMb2FkaW5nRXZlbnROb3RpZmljYXRpb24oRnJhbWUqLCBBWExvYWRpbmdFdmVudCkgeyB9CiBp
bmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpmcmFtZUxvYWRpbmdFdmVudFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWExvYWRpbmdFdmVudCkgeyB9Ci1pbmxpbmUg
dm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJP
YmplY3QqLCBSZW5kZXJPYmplY3QqKSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6Omhh
bmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopIHsgfQotaW5saW5lIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6Y29udGVudENoYW5nZWQoUmVuZGVyT2JqZWN0KikgeyB9CitpbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChSZW5kZXJPYmplY3Qq
KSB7IH0KIGlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFyaWFFeHBhbmRlZENoYW5n
ZShSZW5kZXJPYmplY3QqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUFy
aWFSb2xlQ2hhbmdlZChSZW5kZXJPYmplY3QqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9i
amVjdCopIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsYmFyVXBk
YXRlKFNjcm9sbFZpZXcqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNo
ZTo6bm9kZVRleHRDaGFuZ2VOb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0KiwgQVhUZXh0Q2hhbmdl
LCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
Ojpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3Qq
LCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcmKSB7IH0KK2lubGluZSB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIERv
Y3VtZW50KiwgQVhOb3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUpIHsg
fQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihSZW5kZXJPYmpl
Y3QqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9FbGVtZW50LCBQb3N0VHlwZSkgeyB9Citp
bmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNz
aWJpbGl0eU9iamVjdCosIEFYTm90aWZpY2F0aW9uKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0
Q2FjaGU6OnJlbW92ZShBWElEKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnJlbW92
ZShSZW5kZXJPYmplY3QqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnJlbW92ZShX
aWRnZXQqKSB7IH0KK2lubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnNlbGVjdGVkQ2hpbGRyZW5D
aGFuZ2VkKFJlbmRlck9iamVjdCopIHsgfQogI2VuZGlmCiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkocmV2
aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODcsNyArODcsNyBAQCB2b2lkIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OmRldGFjaCgpCiB7CiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogICAg
IHNldFdyYXBwZXIoMCk7Ci0jZW5kaWYgICAgCisjZW5kaWYKIH0KIAogYm9vbCBBY2Nlc3NpYmls
aXR5T2JqZWN0Ojppc0FjY2Vzc2liaWxpdHlPYmplY3RTZWFyY2hNYXRjaChBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0eVNlYXJjaENyaXRlcmlhKiBjcml0ZXJpYSkK
QEAgLTEwMjQsNiArMTAyNCw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlP
YmplY3QKICAgICByZXR1cm4gb2JqLT5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPmdldE9y
Q3JlYXRlKG9iaik7CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCiBpbnQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6bGluZUZvclBvc2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJs
ZVBvcykgY29uc3QKIHsKICAgICBpZiAodmlzaWJsZVBvcy5pc051bGwoKSB8fCAhbm9kZSgpKQpA
QCAtMTA1MCw2ICsxMDUxLDcgQEAgaW50IEFjY2Vzc2liaWxpdHlPYmplY3Q6OmxpbmVGb3JQb3Np
dGlvbgogCiAgICAgcmV0dXJuIGxpbmVDb3VudDsKIH0KKyNlbmRpZgogCiAvLyBOT1RFOiBDb25z
aWRlciBwcm92aWRpbmcgdGhpcyB1dGlsaXR5IG1ldGhvZCBhcyBBWCBBUEkKIFBsYWluVGV4dFJh
bmdlIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnBsYWluVGV4dFJhbmdlRm9yVmlzaWJsZVBvc2l0aW9u
UmFuZ2UoY29uc3QgVmlzaWJsZVBvc2l0aW9uUmFuZ2UmIHBvc2l0aW9uUmFuZ2UpIGNvbnN0CkBA
IC0xMDkxLDEzICsxMDkzLDE1IEBAIHVuc2lnbmVkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRvQVhM
aW5lRm8KIHsKICAgICByZXR1cm4gbGluZUZvclBvc2l0aW9uKHZpc2libGVQb3NpdGlvbkZvcklu
ZGV4KGluZGV4LCBmYWxzZSkpOwogfQotICAgIAorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQog
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp1cGRhdGVCYWNraW5nU3RvcmUoKQogewogICAgIC8v
IFVwZGF0aW5nIHRoZSBsYXlvdXQgbWF5IGRlbGV0ZSB0aGlzIG9iamVjdC4KICAgICBpZiAoRG9j
dW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKSkKICAgICAgICAgZG9jdW1lbnQtPnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogfQorI2VuZGlmCiAKIERvY3Vt
ZW50KiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpkb2N1bWVudCgpIGNvbnN0CiB7CkBAIC0xMTI4LDEz
ICsxMTMyLDE1IEBAIEZyYW1lVmlldyogQWNjZXNzaWJpbGl0eU9iamVjdDo6ZG9jdW1lbnQKICAg
ICByZXR1cm4gb2JqZWN0LT5kb2N1bWVudEZyYW1lVmlldygpOwogfQogCisjaWYgSEFWRShBQ0NF
U1NJQklMSVRZKQogY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxk
cmVuVmVjdG9yJiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpjaGlsZHJlbigpCiB7CiAgICAgdXBkYXRl
Q2hpbGRyZW5JZk5lY2Vzc2FyeSgpOwotICAgIAorCiAgICAgcmV0dXJuIG1fY2hpbGRyZW47CiB9
Ci0gICAgCisjZW5kaWYKKwogdm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojp1cGRhdGVDaGlsZHJl
bklmTmVjZXNzYXJ5KCkKIHsKICAgICBpZiAoIWhhc0NoaWxkcmVuKCkpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2
aXNpb24gMTE3Nzk1KQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTczMSw2ICs3MzEsMTIgQEAgcHJvdGVjdGVk
OgogI2VuZGlmCiB9OwogCisjaWYgIUhBVkUoQUNDRVNTSUJJTElUWSkKK2lubGluZSB2b2lkIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OnVwZGF0ZUJhY2tpbmdTdG9yZSgpIHsgfQoraW5saW5lIGludCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjpsaW5lRm9yUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9u
JikgY29uc3QgeyByZXR1cm4gLTE7IH0KK2lubGluZSBjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0
OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmNoaWxk
cmVuKCkgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEFjY2Vzc2liaWxpdHlPYmplY3RfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>