<?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>67844</bug_id>
          
          <creation_ts>2011-09-09 06:28:52 -0700</creation_ts>
          <short_desc>[skia] remove dead code, no functionality change</short_desc>
          <delta_ts>2011-09-12 10:30:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Reed">reed</reporter>
          <assigned_to name="Mike Reed">reed</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>464764</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-09 06:28:52 -0700</bug_when>
    <thetext>[skia] remove dead code, no functionality change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464766</commentid>
    <comment_count>1</comment_count>
      <attachid>106865</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-09 06:30:57 -0700</bug_when>
    <thetext>Created attachment 106865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464817</commentid>
    <comment_count>2</comment_count>
      <attachid>106865</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-09 08:54:03 -0700</bug_when>
    <thetext>Comment on attachment 106865
Patch

Attachment 106865 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9622849

New failing tests:
svg/W3C-SVG-1.1/animate-elem-04-t.svg
platform/chromium/fast/text/text-stroke-with-border.html
scrollbars/scrollbar-orientation.html
scrollbars/disabled-scrollbar.html
scrollbars/scrollbar-buttons.html
platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
scrollbars/listbox-scrollbar-combinations.html
scrollbars/scrollbar-click-does-not-blur-content.html
svg/W3C-SVG-1.1/animate-elem-02-t.svg
svg/W3C-SVG-1.1/animate-elem-05-t.svg
scrollbars/scrollbars-on-positioned-content.html
scrollbars/overflow-scrollbar-combinations.html
scrollbars/basic-scrollbar.html
scrollbars/scrollbar-middleclick-nopaste.html
svg/W3C-SVG-1.1/animate-elem-03-t.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464908</commentid>
    <comment_count>3</comment_count>
      <attachid>106865</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-09-09 11:02:57 -0700</bug_when>
    <thetext>Comment on attachment 106865
Patch

The EWS bot doesn&apos;t seem to think this is dead code.  Can you check if those failures are due to this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464919</commentid>
    <comment_count>4</comment_count>
      <attachid>106889</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-09 11:11:22 -0700</bug_when>
    <thetext>Created attachment 106889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464922</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-09 11:15:35 -0700</bug_when>
    <thetext>My read of the failure of cr-linux was that it didn&apos;t pass w/o my patch, plus my change is strictly in a windows-only file, so I&apos;m having trouble seeing how it affected the linux bot. Am I misreading this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464947</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-09 11:38:58 -0700</bug_when>
    <thetext>&gt; Am I misreading this?

It is hard to see how changing this file could effect Linux.  It&apos;s certainly possible the bot is confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464962</commentid>
    <comment_count>7</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-09 12:01:38 -0700</bug_when>
    <thetext>rebaselined (just in case) and resubmitted (with no changes) to trigger another stab at cr-linux...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465329</commentid>
    <comment_count>8</comment_count>
      <attachid>106889</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-10 14:26:47 -0700</bug_when>
    <thetext>Comment on attachment 106889
Patch

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

Looks good but ChangeLog needs a minor update. r=me

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

That OOPS will trigger a problem during commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465609</commentid>
    <comment_count>9</comment_count>
      <attachid>106889</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 08:10:03 -0700</bug_when>
    <thetext>Comment on attachment 106889
Patch

Rejecting attachment 106889 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
abf2546dd1a2ed81c56c4c6ee34cd6b74bcb84c5
r94956 = f5aad96879400e3b3556e085f2c15249f6183cee
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Updating chromium port dependencies using gclient...

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

Full output: http://queues.webkit.org/results/9647004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465618</commentid>
    <comment_count>10</comment_count>
      <attachid>107053</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-12 08:50:06 -0700</bug_when>
    <thetext>Created attachment 107053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465619</commentid>
    <comment_count>11</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-12 08:50:25 -0700</bug_when>
    <thetext>just updated ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465620</commentid>
    <comment_count>12</comment_count>
      <attachid>107053</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-12 08:51:04 -0700</bug_when>
    <thetext>Comment on attachment 107053
Patch

resending to commit bot, as only the ChangeLog seemed to be at issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465625</commentid>
    <comment_count>13</comment_count>
      <attachid>107053</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 09:02:49 -0700</bug_when>
    <thetext>Comment on attachment 107053
Patch

Rejecting attachment 107053 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

Last 500 characters of output:
hangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).
Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...

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

Full output: http://queues.webkit.org/results/9646023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465631</commentid>
    <comment_count>14</comment_count>
      <attachid>107053</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-09-12 09:22:20 -0700</bug_when>
    <thetext>Comment on attachment 107053
Patch

looking for + or rubberstamp to resubmit after fixing ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465632</commentid>
    <comment_count>15</comment_count>
      <attachid>107053</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-12 09:27:21 -0700</bug_when>
    <thetext>Comment on attachment 107053
Patch

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465663</commentid>
    <comment_count>16</comment_count>
      <attachid>107053</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 10:30:12 -0700</bug_when>
    <thetext>Comment on attachment 107053
Patch

Clearing flags on attachment: 107053

Committed r94961: &lt;http://trac.webkit.org/changeset/94961&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465664</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-12 10:30:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106865</attachid>
            <date>2011-09-09 06:30:57 -0700</date>
            <delta_ts>2011-09-09 11:11:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67844-20110909093054.patch</filename>
            <type>text/plain</type>
            <size>10006</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0ODUxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMDkgIE1pa2UgUmVl
ZCAgPHJlZWRAZ29vZ2xlLmNvbT4KKworICAgICAgICBbc2tpYV0gcmVtb3ZlIGRlYWQgY29kZSwg
bm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3ODQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6ZHJhd0dseXBocyk6CisKIDIwMTEtMDktMDkgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHI5NDg0NS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkocmV2aXNpb24gOTQ3NTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21p
dW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNzIgKzM5LDEyIEBACiAjaW5jbHVkZSAi
UGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5j
bHVkZSAiU2tpYUZvbnRXaW4uaCIKLSNpbmNsdWRlICJTa2lhVXRpbHMuaCIKLSNpbmNsdWRlICJU
cmFuc3BhcmVuY3lXaW4uaCIKICNpbmNsdWRlICJVbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmgiCiAK
LSNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKLSNpbmNsdWRlICJza2lhL2V4
dC9za2lhX3V0aWxzX3dpbi5oIiAgLy8gRklYTUU6IHJlbW92ZSB0aGlzIGRlcGVuZGVuY3kuCi0K
ICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNl
IHsKLQotYm9vbCBjYW52YXNIYXNNdWx0aXBsZUxheWVycyhjb25zdCBTa0NhbnZhcyogY2FudmFz
KQotewotICAgIFNrQ2FudmFzOjpMYXllckl0ZXIgaXRlcihjb25zdF9jYXN0PFNrQ2FudmFzKj4o
Y2FudmFzKSwgZmFsc2UpOwotICAgIGl0ZXIubmV4dCgpOyAgLy8gVGhlcmUgaXMgYWx3YXlzIGF0
IGxlYXN0IG9uZSBsYXllci4KLSAgICByZXR1cm4gIWl0ZXIuZG9uZSgpOyAgLy8gVGhlcmUgaXMg
PiAxIGxheWVyIGlmIHRoZSB0aGUgaXRlcmF0b3IgY2FuIHN0aWwgYWR2YW5jZS4KLX0KLQotY2xh
c3MgVHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlciB7Ci1wdWJsaWM6Ci0gICAgVHJhbnNwYXJl
bmN5QXdhcmVGb250UGFpbnRlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50Jik7
Ci0KLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIEludFJlY3QgZXN0aW1hdGVUZXh0Qm91bmRzKCkg
PSAwOwotCi0gICAgLy8gVXNlIHRoZSBjb250ZXh0IGZyb20gdGhlIHRyYW5zcGFyZW5jeSBoZWxw
ZXIgd2hlbiBkcmF3aW5nIHdpdGggR0RJLiBJdAotICAgIC8vIG1heSBwb2ludCB0byBhIHRlbXBv
cmFyeSBvbmUuCi0gICAgR3JhcGhpY3NDb250ZXh0KiBtX2dyYXBoaWNzQ29udGV4dDsKLSAgICBQ
bGF0Zm9ybUdyYXBoaWNzQ29udGV4dCogbV9wbGF0Zm9ybUNvbnRleHQ7Ci0KLSAgICBGbG9hdFBv
aW50IG1fcG9pbnQ7Ci19OwotCi1UcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFuc3Bh
cmVuY3lBd2FyZUZvbnRQYWludGVyKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
RmxvYXRQb2ludCYgcG9pbnQpCi0gICAgOiBtX2dyYXBoaWNzQ29udGV4dChjb250ZXh0KQotICAg
ICwgbV9wbGF0Zm9ybUNvbnRleHQoY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCkpCi0gICAgLCBt
X3BvaW50KHBvaW50KQotewotfQotCi0vLyBTcGVjaWFsaXphdGlvbiBmb3Igc2ltcGxlIEdseXBo
QnVmZmVyIHBhaW50aW5nLgotY2xhc3MgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXIgOiBw
dWJsaWMgVHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlciB7Ci0gcHVibGljOgotICAgIFRyYW5z
cGFyZW5jeUF3YXJlR2x5cGhQYWludGVyKEdyYXBoaWNzQ29udGV4dCosCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBoQnVmZmVyJiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZnJvbSwgaW50IG51bUdseXBocywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFBvaW50Jik7Ci0KLSAgICAvLyBEcmF3
cyB0aGUgcGFydGlhbCBzdHJpbmcgb2YgZ2x5cGhzLCBzdGFydGluZyBhdCB8c3RhcnRBZHZhbmNl
fCB0byB0aGUKLSAgICAvLyBsZWZ0IG9mIG1fcG9pbnQuCi0gICAgdm9pZCBkcmF3R2x5cGhzKGlu
dCBudW1HbHlwaHMsIGNvbnN0IFdPUkQqIGdseXBocywgY29uc3QgaW50KiBhZHZhbmNlcywgZmxv
YXQgc3RhcnRBZHZhbmNlKSBjb25zdDsKLQotIHByaXZhdGU6Ci0gICAgdmlydHVhbCBJbnRSZWN0
IGVzdGltYXRlVGV4dEJvdW5kcygpOwotCi0gICAgY29uc3QgU2ltcGxlRm9udERhdGEqIG1fZm9u
dDsKLSAgICBjb25zdCBHbHlwaEJ1ZmZlciYgbV9nbHlwaEJ1ZmZlcjsKLSAgICBpbnQgbV9mcm9t
OwotICAgIGludCBtX251bUdseXBoczsKLX07Ci0KLVRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWlu
dGVyOjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcigKLSAgICBHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsCi0gICAgY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnQsCi0gICAgY29uc3QgR2x5
cGhCdWZmZXImIGdseXBoQnVmZmVyLAotICAgIGludCBmcm9tLCBpbnQgbnVtR2x5cGhzLAotICAg
IGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQotICAgIDogVHJhbnNwYXJlbmN5QXdhcmVGb250UGFp
bnRlcihjb250ZXh0LCBwb2ludCkKLSAgICAsIG1fZm9udChmb250KQotICAgICwgbV9nbHlwaEJ1
ZmZlcihnbHlwaEJ1ZmZlcikKLSAgICAsIG1fZnJvbShmcm9tKQotICAgICwgbV9udW1HbHlwaHMo
bnVtR2x5cGhzKQotewotfQotCi0vLyBFc3RpbWF0ZXMgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUg
Z2l2ZW4gdGV4dC4gVGhpcyBpcyBjb3BpZWQgZnJvbQotLy8gRm9udENHV2luLmNwcCwgaXQgaXMg
cG9zc2libGUsIGJ1dCBhIGxvdCBtb3JlIHdvcmssIHRvIGdldCB0aGUgcHJlY2lkZQotLy8gYm91
bmRzLgotSW50UmVjdCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVUZXh0
Qm91bmRzKCkKLXsKLSAgICBpbnQgdG90YWxXaWR0aCA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBtX251bUdseXBoczsgaSsrKQotICAgICAgICB0b3RhbFdpZHRoICs9IGxyb3VuZGYobV9n
bHlwaEJ1ZmZlci5hZHZhbmNlQXQobV9mcm9tICsgaSkpOwotCi0gICAgY29uc3QgRm9udE1ldHJp
Y3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOwotICAgIHJldHVybiBJbnRS
ZWN0KG1fcG9pbnQueCgpIC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVz
Y2VudCgpKSAvIDIsCi0gICAgICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBmb250TWV0cmlj
cy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICB0
b3RhbFdpZHRoICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCks
Ci0gICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7IAotfQotCi12
b2lkIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKGludCBudW1HbHlw
aHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdPUkQqIGdseXBocywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgaW50KiBhZHZhbmNlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmxvYXQgc3RhcnRBZHZhbmNlKSBjb25zdAotewotICAgIFNrUG9p
bnQgb3JpZ2luID0gbV9wb2ludDsKLSAgICBvcmlnaW4uZlggKz0gU2tGbG9hdFRvU2NhbGFyKHN0
YXJ0QWR2YW5jZSk7Ci0gICAgcGFpbnRTa2lhVGV4dChtX2dyYXBoaWNzQ29udGV4dCwgbV9mb250
LT5wbGF0Zm9ybURhdGEoKS5oZm9udCgpLAotICAgICAgICAgICAgICAgICAgbnVtR2x5cGhzLCBn
bHlwaHMsIGFkdmFuY2VzLCAwLCAmb3JpZ2luKTsKLX0KLQotY2xhc3MgVHJhbnNwYXJlbmN5QXdh
cmVVbmlzY3JpYmVQYWludGVyIDogcHVibGljIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIg
ewotIHB1YmxpYzoKLSAgICBUcmFuc3BhcmVuY3lBd2FyZVVuaXNjcmliZVBhaW50ZXIoR3JhcGhp
Y3NDb250ZXh0KiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Rm9udCosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRleHRS
dW4mLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJvbSwgaW50
IHRvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFBv
aW50Jik7Ci0KLSBwcml2YXRlOgotICAgIHZpcnR1YWwgSW50UmVjdCBlc3RpbWF0ZVRleHRCb3Vu
ZHMoKTsKLQotICAgIGNvbnN0IEZvbnQqIG1fZm9udDsKLSAgICBjb25zdCBUZXh0UnVuJiBtX3J1
bjsKLSAgICBpbnQgbV9mcm9tOwotICAgIGludCBtX3RvOwotfTsKLQotVHJhbnNwYXJlbmN5QXdh
cmVVbmlzY3JpYmVQYWludGVyOjpUcmFuc3BhcmVuY3lBd2FyZVVuaXNjcmliZVBhaW50ZXIoCi0g
ICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAotICAgIGNvbnN0IEZvbnQqIGZvbnQsCi0gICAg
Y29uc3QgVGV4dFJ1biYgcnVuLAotICAgIGludCBmcm9tLCBpbnQgdG8sCi0gICAgY29uc3QgRmxv
YXRQb2ludCYgcG9pbnQpCi0gICAgOiBUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyKGNvbnRl
eHQsIHBvaW50KQotICAgICwgbV9mb250KGZvbnQpCi0gICAgLCBtX3J1bihydW4pCi0gICAgLCBt
X2Zyb20oZnJvbSkKLSAgICAsIG1fdG8odG8pCi17Ci19Ci0KLUludFJlY3QgVHJhbnNwYXJlbmN5
QXdhcmVVbmlzY3JpYmVQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMoKQotewotICAgIC8vIFRo
aXMgY2FzZSByZWFsbHkgcmVhbGx5IHN1Y2tzLiBUaGVyZSBpcyBubyBjb252ZW5pZW50IHdheSB0
byBlc3RpbWF0ZQotICAgIC8vIHRoZSBib3VuZGluZyBib3guIFNvIHdlIHJ1biBVbmlzY3JpYmUg
dHdpY2UuIElmIHdlIGZpbmQgdGhpcyBoYXBwZW5zIGEKLSAgICAvLyBsb3QsIHRoZSB3YXkgdG8g
Zml4IGl0IGlzIHRvIG1ha2UgdGhlIGV4dHJhIGxheWVyIGFmdGVyIHRoZQotICAgIC8vIFVuaXNj
cmliZUhlbHBlciBoYXMgbWVhc3VyZWQgdGhlIHRleHQuCi0gICAgSW50UG9pbnQgaW50UG9pbnQo
bHJvdW5kZihtX3BvaW50LngoKSksCi0gICAgICAgICAgICAgICAgICAgICAgbHJvdW5kZihtX3Bv
aW50LnkoKSkpOwotCi0gICAgVW5pc2NyaWJlSGVscGVyVGV4dFJ1biBzdGF0ZShtX3J1biwgKm1f
Zm9udCk7Ci0gICAgaW50IGxlZnQgPSBscm91bmRmKG1fcG9pbnQueCgpKSArIHN0YXRlLmNoYXJh
Y3RlclRvWChtX2Zyb20pOwotICAgIGludCByaWdodCA9IGxyb3VuZGYobV9wb2ludC54KCkpICsg
c3RhdGUuY2hhcmFjdGVyVG9YKG1fdG8pOwotICAgIAotICAgIC8vIEFkanVzdCBmb3IgUlRMIHNj
cmlwdCBzaW5jZSB3ZSBqdXN0IHdhbnQgdG8ga25vdyB0aGUgdGV4dCBib3VuZHMuCi0gICAgaWYg
KGxlZnQgPiByaWdodCkKLSAgICAgICAgc3RkOjpzd2FwKGxlZnQsIHJpZ2h0KTsKLQotICAgIC8v
IFRoaXMgYWxnb3JpdGhtIGZvciBlc3RpbWF0aW5nIGhvdyBtdWNoIGV4dHJhIHNwYWNlIHdlIG5l
ZWQgKHRoZSB0ZXh0IG1heQotICAgIC8vIGdvIG91dHNpZGUgdGhlIHNlbGVjdGlvbiByZWN0KSBp
cyBiYXNlZCByb3VnaGx5IG9uCi0gICAgLy8gVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6
OmVzdGltYXRlVGV4dEJvdW5kcyBhYm92ZS4KLSAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1l
dHJpY3MgPSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCk7Ci0gICAgcmV0dXJuIEludFJlY3QobGVmdCAt
IChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAotICAg
ICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250
TWV0cmljcy5saW5lR2FwKCksCi0gICAgICAgICAgICAgICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBm
b250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKLSAgICAgICAgICAg
ICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKLX0KLQotfSAgLy8gbmFtZXNwYWNl
Ci0KIGJvb2wgRm9udDo6Y2FuUmV0dXJuRmFsbGJhY2tGb250c0ZvckNvbXBsZXhUZXh0KCkKIHsK
ICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTUsMTkgKzU1LDIzIEBAIGJvb2wgRm9udDo6Y2FuRXhw
YW5kQXJvdW5kSWRlb2dyYXBoc0luQ28KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyB2
b2lkIGRyYXdHbHlwaHNXaW4oR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBHbHlwaEJ1ZmZlciYgZ2x5cGhCdWZmZXIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBmcm9tLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgbnVtR2x5cGhzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFBv
aW50JiBwb2ludCkgewotICAgIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyIHBhaW50ZXIo
Z3JhcGhpY3NDb250ZXh0LCBmb250LCBnbHlwaEJ1ZmZlciwgZnJvbSwgbnVtR2x5cGhzLCBwb2lu
dCk7Cit2b2lkIEZvbnQ6OmRyYXdHbHlwaHMoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRl
eHQsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnQsCisg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLAorICAg
ICAgICAgICAgICAgICAgICAgIGludCBmcm9tLAorICAgICAgICAgICAgICAgICAgICAgIGludCBu
dW1HbHlwaHMsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQp
IGNvbnN0Cit7CisgICAgU2tDb2xvciBjb2xvciA9IGdyYXBoaWNzQ29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCktPmVmZmVjdGl2ZUZpbGxDb2xvcigpOworICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEg
PSBTa0NvbG9yR2V0QShjb2xvcik7CisgICAgLy8gU2tpcCAxMDAlIHRyYW5zcGFyZW50IHRleHQ7
IG5vIG5lZWQgdG8gZHJhdyBhbnl0aGluZy4KKyAgICBpZiAoIWFscGhhICYmIGdyYXBoaWNzQ29u
dGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmdldFN0cm9rZVN0eWxlKCkgPT0gTm9TdHJva2UgJiYg
IWdyYXBoaWNzQ29udGV4dC0+aGFzU2hhZG93KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEhG
T05UIGhmb250ID0gZm9udC0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKTsKIAogICAgIC8vIFdlIGRy
YXcgdGhlIGdseXBocyBpbiBjaHVua3MgdG8gYXZvaWQgaGF2aW5nIHRvIGRvIGEgaGVhcCBhbGxv
Y2F0aW9uIGZvcgotICAgIC8vIHRoZSBhcnJheXMgb2YgY2hhcmFjdGVycyBhbmQgYWR2YW5jZXMu
IFNpbmNlIEV4dFRleHRPdXQgaXMgdGhlCi0gICAgLy8gbG93ZXN0LWxldmVsIHRleHQgb3V0cHV0
IGZ1bmN0aW9uIG9uIFdpbmRvd3MsIHRoZXJlIHNob3VsZCBiZSBsaXR0bGUKLSAgICAvLyBwZW5h
bHR5IGZvciBzcGxpdHRpbmcgdXAgdGhlIHRleHQuIE9uIHRoZSBvdGhlciBoYW5kLCB0aGUgYnVm
ZmVyIGNhbm5vdAotICAgIC8vIGJlIGJpZ2dlciB0aGFuIDQwOTQgb3IgdGhlIGZ1bmN0aW9uIHdp
bGwgZmFpbC4KKyAgICAvLyB0aGUgYXJyYXlzIG9mIGNoYXJhY3RlcnMgYW5kIGFkdmFuY2VzLgog
ICAgIGNvbnN0IGludCBrTWF4QnVmZmVyTGVuZ3RoID0gMjU2OwogICAgIFZlY3RvcjxXT1JELCBr
TWF4QnVmZmVyTGVuZ3RoPiBnbHlwaHM7CiAgICAgVmVjdG9yPGludCwga01heEJ1ZmZlckxlbmd0
aD4gYWR2YW5jZXM7CkBAIC0yNjQsMjYgKzEwOCwxMiBAQCBzdGF0aWMgdm9pZCBkcmF3R2x5cGhz
V2luKEdyYXBoaWNzQ29udGV4CiAgICAgICAgICAgICAgICAgYWR2YW5jZXNbaV0gPSAwOwogICAg
ICAgICB9CiAKLSAgICAgICAgcGFpbnRlci5kcmF3R2x5cGhzKGN1ckxlbiwgJmdseXBoc1swXSwg
JmFkdmFuY2VzWzBdLCBob3Jpem9udGFsT2Zmc2V0IC0gcG9pbnQueCgpIC0gY3VycmVudFdpZHRo
KTsKKyAgICAgICAgU2tQb2ludCBvcmlnaW4gPSBwb2ludDsKKyAgICAgICAgb3JpZ2luLmZYICs9
IFNrRmxvYXRUb1NjYWxhcihob3Jpem9udGFsT2Zmc2V0IC0gcG9pbnQueCgpIC0gY3VycmVudFdp
ZHRoKTsKKyAgICAgICAgcGFpbnRTa2lhVGV4dChncmFwaGljc0NvbnRleHQsIGhmb250LCBjdXJM
ZW4sICZnbHlwaHNbMF0sICZhZHZhbmNlc1swXSwgMCwgJm9yaWdpbik7CiAgICAgfQogfQogCi12
b2lkIEZvbnQ6OmRyYXdHbHlwaHMoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnQsCi0gICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLAotICAgICAgICAg
ICAgICAgICAgICAgIGludCBmcm9tLAotICAgICAgICAgICAgICAgICAgICAgIGludCBudW1HbHlw
aHMsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQpIGNvbnN0
Ci17Ci0gICAgU2tDb2xvciBjb2xvciA9IGdyYXBoaWNzQ29udGV4dC0+cGxhdGZvcm1Db250ZXh0
KCktPmVmZmVjdGl2ZUZpbGxDb2xvcigpOwotICAgIHVuc2lnbmVkIGNoYXIgYWxwaGEgPSBTa0Nv
bG9yR2V0QShjb2xvcik7Ci0gICAgLy8gU2tpcCAxMDAlIHRyYW5zcGFyZW50IHRleHQ7IG5vIG5l
ZWQgdG8gZHJhdyBhbnl0aGluZy4KLSAgICBpZiAoIWFscGhhICYmIGdyYXBoaWNzQ29udGV4dC0+
cGxhdGZvcm1Db250ZXh0KCktPmdldFN0cm9rZVN0eWxlKCkgPT0gTm9TdHJva2UgJiYgIWdyYXBo
aWNzQ29udGV4dC0+aGFzU2hhZG93KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGRyYXdHbHlw
aHNXaW4oZ3JhcGhpY3NDb250ZXh0LCBmb250LCBnbHlwaEJ1ZmZlciwgZnJvbSwgbnVtR2x5cGhz
LCBwb2ludCk7Ci19Ci0KIEZsb2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yQ29tcGxleFRl
eHQoY29uc3QgVGV4dFJ1biYgcnVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGgsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106889</attachid>
            <date>2011-09-09 11:11:22 -0700</date>
            <delta_ts>2011-09-12 08:50:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67844-20110909141120.patch</filename>
            <type>text/plain</type>
            <size>10031</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0ODY1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMDkgIE1pa2UgUmVl
ZCAgPHJlZWRAZ29vZ2xlLmNvbT4KKworICAgICAgICBbc2tpYV0gcmVtb3ZlIGRlYWQgY29kZSwg
bm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3ODQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6ZHJhd0dseXBocyk6CisKIDIwMTEtMDktMDkgIERvbWluaWMgTWF6em9uaSAgPGRt
YXp6b25pQGdvb2dsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0IGJlaW5nIGhpdCBpbiBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjphZGRDaGlsZHJlbigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1
bVdpbi5jcHAJKHJldmlzaW9uIDk0ODU1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzks
MTcyICszOSwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRl
ICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUgIlNraWFGb250V2luLmgiCi0jaW5jbHVkZSAi
U2tpYVV0aWxzLmgiCi0jaW5jbHVkZSAiVHJhbnNwYXJlbmN5V2luLmgiCiAjaW5jbHVkZSAiVW5p
c2NyaWJlSGVscGVyVGV4dFJ1bi5oIgogCi0jaW5jbHVkZSAic2tpYS9leHQvcGxhdGZvcm1fY2Fu
dmFzLmgiCi0jaW5jbHVkZSAic2tpYS9leHQvc2tpYV91dGlsc193aW4uaCIgIC8vIEZJWE1FOiBy
ZW1vdmUgdGhpcyBkZXBlbmRlbmN5LgotCiAjaW5jbHVkZSA8d2luZG93cy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSB7Ci0KLWJvb2wgY2FudmFzSGFzTXVsdGlwbGVMYXll
cnMoY29uc3QgU2tDYW52YXMqIGNhbnZhcykKLXsKLSAgICBTa0NhbnZhczo6TGF5ZXJJdGVyIGl0
ZXIoY29uc3RfY2FzdDxTa0NhbnZhcyo+KGNhbnZhcyksIGZhbHNlKTsKLSAgICBpdGVyLm5leHQo
KTsgIC8vIFRoZXJlIGlzIGFsd2F5cyBhdCBsZWFzdCBvbmUgbGF5ZXIuCi0gICAgcmV0dXJuICFp
dGVyLmRvbmUoKTsgIC8vIFRoZXJlIGlzID4gMSBsYXllciBpZiB0aGUgdGhlIGl0ZXJhdG9yIGNh
biBzdGlsIGFkdmFuY2UuCi19Ci0KLWNsYXNzIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIg
ewotcHVibGljOgotICAgIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYpOwotCi1wcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCBJbnRS
ZWN0IGVzdGltYXRlVGV4dEJvdW5kcygpID0gMDsKLQotICAgIC8vIFVzZSB0aGUgY29udGV4dCBm
cm9tIHRoZSB0cmFuc3BhcmVuY3kgaGVscGVyIHdoZW4gZHJhd2luZyB3aXRoIEdESS4gSXQKLSAg
ICAvLyBtYXkgcG9pbnQgdG8gYSB0ZW1wb3Jhcnkgb25lLgotICAgIEdyYXBoaWNzQ29udGV4dCog
bV9ncmFwaGljc0NvbnRleHQ7Ci0gICAgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIG1fcGxhdGZv
cm1Db250ZXh0OwotCi0gICAgRmxvYXRQb2ludCBtX3BvaW50OwotfTsKLQotVHJhbnNwYXJlbmN5
QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcihHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQotICAgIDogbV9ncmFw
aGljc0NvbnRleHQoY29udGV4dCkKLSAgICAsIG1fcGxhdGZvcm1Db250ZXh0KGNvbnRleHQtPnBs
YXRmb3JtQ29udGV4dCgpKQotICAgICwgbV9wb2ludChwb2ludCkKLXsKLX0KLQotLy8gU3BlY2lh
bGl6YXRpb24gZm9yIHNpbXBsZSBHbHlwaEJ1ZmZlciBwYWludGluZy4KLWNsYXNzIFRyYW5zcGFy
ZW5jeUF3YXJlR2x5cGhQYWludGVyIDogcHVibGljIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50
ZXIgewotIHB1YmxpYzoKLSAgICBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcihHcmFwaGlj
c0NvbnRleHQqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNpbXBs
ZUZvbnREYXRhKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHbHlw
aEJ1ZmZlciYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZyb20sIGlu
dCBudW1HbHlwaHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxv
YXRQb2ludCYpOwotCi0gICAgLy8gRHJhd3MgdGhlIHBhcnRpYWwgc3RyaW5nIG9mIGdseXBocywg
c3RhcnRpbmcgYXQgfHN0YXJ0QWR2YW5jZXwgdG8gdGhlCi0gICAgLy8gbGVmdCBvZiBtX3BvaW50
LgotICAgIHZvaWQgZHJhd0dseXBocyhpbnQgbnVtR2x5cGhzLCBjb25zdCBXT1JEKiBnbHlwaHMs
IGNvbnN0IGludCogYWR2YW5jZXMsIGZsb2F0IHN0YXJ0QWR2YW5jZSkgY29uc3Q7Ci0KLSBwcml2
YXRlOgotICAgIHZpcnR1YWwgSW50UmVjdCBlc3RpbWF0ZVRleHRCb3VuZHMoKTsKLQotICAgIGNv
bnN0IFNpbXBsZUZvbnREYXRhKiBtX2ZvbnQ7Ci0gICAgY29uc3QgR2x5cGhCdWZmZXImIG1fZ2x5
cGhCdWZmZXI7Ci0gICAgaW50IG1fZnJvbTsKLSAgICBpbnQgbV9udW1HbHlwaHM7Ci19OwotCi1U
cmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50
ZXIoCi0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAotICAgIGNvbnN0IFNpbXBsZUZvbnRE
YXRhKiBmb250LAotICAgIGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwKLSAgICBpbnQg
ZnJvbSwgaW50IG51bUdseXBocywKLSAgICBjb25zdCBGbG9hdFBvaW50JiBwb2ludCkKLSAgICA6
IFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIoY29udGV4dCwgcG9pbnQpCi0gICAgLCBtX2Zv
bnQoZm9udCkKLSAgICAsIG1fZ2x5cGhCdWZmZXIoZ2x5cGhCdWZmZXIpCi0gICAgLCBtX2Zyb20o
ZnJvbSkKLSAgICAsIG1fbnVtR2x5cGhzKG51bUdseXBocykKLXsKLX0KLQotLy8gRXN0aW1hdGVz
IHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGdpdmVuIHRleHQuIFRoaXMgaXMgY29waWVkIGZyb20K
LS8vIEZvbnRDR1dpbi5jcHAsIGl0IGlzIHBvc3NpYmxlLCBidXQgYSBsb3QgbW9yZSB3b3JrLCB0
byBnZXQgdGhlIHByZWNpZGUKLS8vIGJvdW5kcy4KLUludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVH
bHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5kcygpCi17Ci0gICAgaW50IHRvdGFsV2lkdGgg
PSAwOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1HbHlwaHM7IGkrKykKLSAgICAgICAg
dG90YWxXaWR0aCArPSBscm91bmRmKG1fZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KG1fZnJvbSArIGkp
KTsKLQotICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1l
dHJpY3MoKTsKLSAgICByZXR1cm4gSW50UmVjdChtX3BvaW50LngoKSAtIChmb250TWV0cmljcy5h
c2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAg
IG1fcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2Fw
KCksCi0gICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgp
ICsgZm9udE1ldHJpY3MuZGVzY2VudCgpLAotICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNz
LmxpbmVTcGFjaW5nKCkpOyAKLX0KLQotdm9pZCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRl
cjo6ZHJhd0dseXBocyhpbnQgbnVtR2x5cGhzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXT1JEKiBnbHlwaHMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCogYWR2YW5jZXMsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHN0YXJ0QWR2
YW5jZSkgY29uc3QKLXsKLSAgICBTa1BvaW50IG9yaWdpbiA9IG1fcG9pbnQ7Ci0gICAgb3JpZ2lu
LmZYICs9IFNrRmxvYXRUb1NjYWxhcihzdGFydEFkdmFuY2UpOwotICAgIHBhaW50U2tpYVRleHQo
bV9ncmFwaGljc0NvbnRleHQsIG1fZm9udC0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKSwKLSAgICAg
ICAgICAgICAgICAgIG51bUdseXBocywgZ2x5cGhzLCBhZHZhbmNlcywgMCwgJm9yaWdpbik7Ci19
Ci0KLWNsYXNzIFRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlciA6IHB1YmxpYyBUcmFu
c3BhcmVuY3lBd2FyZUZvbnRQYWludGVyIHsKLSBwdWJsaWM6Ci0gICAgVHJhbnNwYXJlbmN5QXdh
cmVVbmlzY3JpYmVQYWludGVyKEdyYXBoaWNzQ29udGV4dCosCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvbnQqLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBUZXh0UnVuJiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IGZyb20sIGludCB0bywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYpOwotCi0gcHJpdmF0ZToKLSAgICB2aXJ0dWFs
IEludFJlY3QgZXN0aW1hdGVUZXh0Qm91bmRzKCk7Ci0KLSAgICBjb25zdCBGb250KiBtX2ZvbnQ7
Ci0gICAgY29uc3QgVGV4dFJ1biYgbV9ydW47Ci0gICAgaW50IG1fZnJvbTsKLSAgICBpbnQgbV90
bzsKLX07Ci0KLVRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlcjo6VHJhbnNwYXJlbmN5
QXdhcmVVbmlzY3JpYmVQYWludGVyKAotICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKLSAg
ICBjb25zdCBGb250KiBmb250LAotICAgIGNvbnN0IFRleHRSdW4mIHJ1biwKLSAgICBpbnQgZnJv
bSwgaW50IHRvLAotICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQotICAgIDogVHJhbnNwYXJl
bmN5QXdhcmVGb250UGFpbnRlcihjb250ZXh0LCBwb2ludCkKLSAgICAsIG1fZm9udChmb250KQot
ICAgICwgbV9ydW4ocnVuKQotICAgICwgbV9mcm9tKGZyb20pCi0gICAgLCBtX3RvKHRvKQotewot
fQotCi1JbnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlcjo6ZXN0aW1hdGVU
ZXh0Qm91bmRzKCkKLXsKLSAgICAvLyBUaGlzIGNhc2UgcmVhbGx5IHJlYWxseSBzdWNrcy4gVGhl
cmUgaXMgbm8gY29udmVuaWVudCB3YXkgdG8gZXN0aW1hdGUKLSAgICAvLyB0aGUgYm91bmRpbmcg
Ym94LiBTbyB3ZSBydW4gVW5pc2NyaWJlIHR3aWNlLiBJZiB3ZSBmaW5kIHRoaXMgaGFwcGVucyBh
Ci0gICAgLy8gbG90LCB0aGUgd2F5IHRvIGZpeCBpdCBpcyB0byBtYWtlIHRoZSBleHRyYSBsYXll
ciBhZnRlciB0aGUKLSAgICAvLyBVbmlzY3JpYmVIZWxwZXIgaGFzIG1lYXN1cmVkIHRoZSB0ZXh0
LgotICAgIEludFBvaW50IGludFBvaW50KGxyb3VuZGYobV9wb2ludC54KCkpLAotICAgICAgICAg
ICAgICAgICAgICAgIGxyb3VuZGYobV9wb2ludC55KCkpKTsKLQotICAgIFVuaXNjcmliZUhlbHBl
clRleHRSdW4gc3RhdGUobV9ydW4sICptX2ZvbnQpOwotICAgIGludCBsZWZ0ID0gbHJvdW5kZiht
X3BvaW50LngoKSkgKyBzdGF0ZS5jaGFyYWN0ZXJUb1gobV9mcm9tKTsKLSAgICBpbnQgcmlnaHQg
PSBscm91bmRmKG1fcG9pbnQueCgpKSArIHN0YXRlLmNoYXJhY3RlclRvWChtX3RvKTsKLSAgICAK
LSAgICAvLyBBZGp1c3QgZm9yIFJUTCBzY3JpcHQgc2luY2Ugd2UganVzdCB3YW50IHRvIGtub3cg
dGhlIHRleHQgYm91bmRzLgotICAgIGlmIChsZWZ0ID4gcmlnaHQpCi0gICAgICAgIHN0ZDo6c3dh
cChsZWZ0LCByaWdodCk7Ci0KLSAgICAvLyBUaGlzIGFsZ29yaXRobSBmb3IgZXN0aW1hdGluZyBo
b3cgbXVjaCBleHRyYSBzcGFjZSB3ZSBuZWVkICh0aGUgdGV4dCBtYXkKLSAgICAvLyBnbyBvdXRz
aWRlIHRoZSBzZWxlY3Rpb24gcmVjdCkgaXMgYmFzZWQgcm91Z2hseSBvbgotICAgIC8vIFRyYW5z
cGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMgYWJvdmUuCi0gICAg
Y29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOwot
ICAgIHJldHVybiBJbnRSZWN0KGxlZnQgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0
cmljcy5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIGZv
bnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAotICAgICAgICAgICAg
ICAgICAgIChyaWdodCAtIGxlZnQpICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmlj
cy5kZXNjZW50KCksCi0gICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmco
KSk7Ci19Ci0KLX0gIC8vIG5hbWVzcGFjZQotCiBib29sIEZvbnQ6OmNhblJldHVybkZhbGxiYWNr
Rm9udHNGb3JDb21wbGV4VGV4dCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjE1LDE5ICs1
NSwyMyBAQCBib29sIEZvbnQ6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgdm9pZCBkcmF3R2x5cGhzV2luKEdyYXBoaWNzQ29udGV4
dCogZ3JhcGhpY3NDb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTaW1w
bGVGb250RGF0YSogZm9udCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR2x5cGhC
dWZmZXImIGdseXBoQnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJvbSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG51bUdseXBocywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQpIHsKLSAgICBUcmFuc3BhcmVuY3lB
d2FyZUdseXBoUGFpbnRlciBwYWludGVyKGdyYXBoaWNzQ29udGV4dCwgZm9udCwgZ2x5cGhCdWZm
ZXIsIGZyb20sIG51bUdseXBocywgcG9pbnQpOwordm9pZCBGb250OjpkcmF3R2x5cGhzKEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFNpbXBsZUZvbnREYXRhKiBmb250LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBo
QnVmZmVyJiBnbHlwaEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJvbSwKKyAg
ICAgICAgICAgICAgICAgICAgICBpbnQgbnVtR2x5cGhzLAorICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KSBjb25zdAoreworICAgIFNrQ29sb3IgY29sb3IgPSBn
cmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5lZmZlY3RpdmVGaWxsQ29sb3IoKTsK
KyAgICB1bnNpZ25lZCBjaGFyIGFscGhhID0gU2tDb2xvckdldEEoY29sb3IpOworICAgIC8vIFNr
aXAgMTAwJSB0cmFuc3BhcmVudCB0ZXh0OyBubyBuZWVkIHRvIGRyYXcgYW55dGhpbmcuCisgICAg
aWYgKCFhbHBoYSAmJiBncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5nZXRTdHJv
a2VTdHlsZSgpID09IE5vU3Ryb2tlICYmICFncmFwaGljc0NvbnRleHQtPmhhc1NoYWRvdygpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBIRk9OVCBoZm9udCA9IGZvbnQtPnBsYXRmb3JtRGF0YSgp
Lmhmb250KCk7CiAKICAgICAvLyBXZSBkcmF3IHRoZSBnbHlwaHMgaW4gY2h1bmtzIHRvIGF2b2lk
IGhhdmluZyB0byBkbyBhIGhlYXAgYWxsb2NhdGlvbiBmb3IKLSAgICAvLyB0aGUgYXJyYXlzIG9m
IGNoYXJhY3RlcnMgYW5kIGFkdmFuY2VzLiBTaW5jZSBFeHRUZXh0T3V0IGlzIHRoZQotICAgIC8v
IGxvd2VzdC1sZXZlbCB0ZXh0IG91dHB1dCBmdW5jdGlvbiBvbiBXaW5kb3dzLCB0aGVyZSBzaG91
bGQgYmUgbGl0dGxlCi0gICAgLy8gcGVuYWx0eSBmb3Igc3BsaXR0aW5nIHVwIHRoZSB0ZXh0LiBP
biB0aGUgb3RoZXIgaGFuZCwgdGhlIGJ1ZmZlciBjYW5ub3QKLSAgICAvLyBiZSBiaWdnZXIgdGhh
biA0MDk0IG9yIHRoZSBmdW5jdGlvbiB3aWxsIGZhaWwuCisgICAgLy8gdGhlIGFycmF5cyBvZiBj
aGFyYWN0ZXJzIGFuZCBhZHZhbmNlcy4KICAgICBjb25zdCBpbnQga01heEJ1ZmZlckxlbmd0aCA9
IDI1NjsKICAgICBWZWN0b3I8V09SRCwga01heEJ1ZmZlckxlbmd0aD4gZ2x5cGhzOwogICAgIFZl
Y3RvcjxpbnQsIGtNYXhCdWZmZXJMZW5ndGg+IGFkdmFuY2VzOwpAQCAtMjY0LDI2ICsxMDgsMTIg
QEAgc3RhdGljIHZvaWQgZHJhd0dseXBoc1dpbihHcmFwaGljc0NvbnRleAogICAgICAgICAgICAg
ICAgIGFkdmFuY2VzW2ldID0gMDsKICAgICAgICAgfQogCi0gICAgICAgIHBhaW50ZXIuZHJhd0ds
eXBocyhjdXJMZW4sICZnbHlwaHNbMF0sICZhZHZhbmNlc1swXSwgaG9yaXpvbnRhbE9mZnNldCAt
IHBvaW50LngoKSAtIGN1cnJlbnRXaWR0aCk7CisgICAgICAgIFNrUG9pbnQgb3JpZ2luID0gcG9p
bnQ7CisgICAgICAgIG9yaWdpbi5mWCArPSBTa0Zsb2F0VG9TY2FsYXIoaG9yaXpvbnRhbE9mZnNl
dCAtIHBvaW50LngoKSAtIGN1cnJlbnRXaWR0aCk7CisgICAgICAgIHBhaW50U2tpYVRleHQoZ3Jh
cGhpY3NDb250ZXh0LCBoZm9udCwgY3VyTGVuLCAmZ2x5cGhzWzBdLCAmYWR2YW5jZXNbMF0sIDAs
ICZvcmlnaW4pOwogICAgIH0KIH0KIAotdm9pZCBGb250OjpkcmF3R2x5cGhzKEdyYXBoaWNzQ29u
dGV4dCogZ3JhcGhpY3NDb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNpbXBs
ZUZvbnREYXRhKiBmb250LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBoQnVmZmVy
JiBnbHlwaEJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJvbSwKLSAgICAgICAg
ICAgICAgICAgICAgICBpbnQgbnVtR2x5cGhzLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50KSBjb25zdAotewotICAgIFNrQ29sb3IgY29sb3IgPSBncmFwaGlj
c0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5lZmZlY3RpdmVGaWxsQ29sb3IoKTsKLSAgICB1
bnNpZ25lZCBjaGFyIGFscGhhID0gU2tDb2xvckdldEEoY29sb3IpOwotICAgIC8vIFNraXAgMTAw
JSB0cmFuc3BhcmVudCB0ZXh0OyBubyBuZWVkIHRvIGRyYXcgYW55dGhpbmcuCi0gICAgaWYgKCFh
bHBoYSAmJiBncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5nZXRTdHJva2VTdHls
ZSgpID09IE5vU3Ryb2tlICYmICFncmFwaGljc0NvbnRleHQtPmhhc1NoYWRvdygpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBkcmF3R2x5cGhzV2luKGdyYXBoaWNzQ29udGV4dCwgZm9udCwgZ2x5
cGhCdWZmZXIsIGZyb20sIG51bUdseXBocywgcG9pbnQpOwotfQotCiBGbG9hdFJlY3QgRm9udDo6
c2VsZWN0aW9uUmVjdEZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9p
bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBoLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107053</attachid>
            <date>2011-09-12 08:50:06 -0700</date>
            <delta_ts>2011-09-12 10:30:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67844-20110912115004.patch</filename>
            <type>text/plain</type>
            <size>10094</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0OTU4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDktMTIgIE1pa2UgUmVl
ZCAgPHJlZWRAZ29vZ2xlLmNvbT4KKworICAgICAgICBbc2tpYV0gcmVtb3ZlIGRlYWQgY29kZSwg
bm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3ODQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBqdXN0IHJlbW92aW5nIGRlYWQtY29kZSwgZXhp
c3RpbmcgdGVzdHMgYXBwbHkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3R2x5cGhz
KToKKwogMjAxMS0wOS0xMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogUnVudGltZS5jYWxsRnVuY3Rpb25PbiBkb2VzIG5vdCBh
Y2NlcHQgYXJndW1lbnRzIHRoYXQgZXZhbHVhdGUgdG8gZmFsc2UuCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRD
aHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDk0OTU0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzksMTcyICszOSwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNp
bmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUgIlNraWFGb250V2luLmgiCi0jaW5j
bHVkZSAiU2tpYVV0aWxzLmgiCi0jaW5jbHVkZSAiVHJhbnNwYXJlbmN5V2luLmgiCiAjaW5jbHVk
ZSAiVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5oIgogCi0jaW5jbHVkZSAic2tpYS9leHQvcGxhdGZv
cm1fY2FudmFzLmgiCi0jaW5jbHVkZSAic2tpYS9leHQvc2tpYV91dGlsc193aW4uaCIgIC8vIEZJ
WE1FOiByZW1vdmUgdGhpcyBkZXBlbmRlbmN5LgotCiAjaW5jbHVkZSA8d2luZG93cy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSB7Ci0KLWJvb2wgY2FudmFzSGFzTXVsdGlw
bGVMYXllcnMoY29uc3QgU2tDYW52YXMqIGNhbnZhcykKLXsKLSAgICBTa0NhbnZhczo6TGF5ZXJJ
dGVyIGl0ZXIoY29uc3RfY2FzdDxTa0NhbnZhcyo+KGNhbnZhcyksIGZhbHNlKTsKLSAgICBpdGVy
Lm5leHQoKTsgIC8vIFRoZXJlIGlzIGFsd2F5cyBhdCBsZWFzdCBvbmUgbGF5ZXIuCi0gICAgcmV0
dXJuICFpdGVyLmRvbmUoKTsgIC8vIFRoZXJlIGlzID4gMSBsYXllciBpZiB0aGUgdGhlIGl0ZXJh
dG9yIGNhbiBzdGlsIGFkdmFuY2UuCi19Ci0KLWNsYXNzIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBh
aW50ZXIgewotcHVibGljOgotICAgIFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYpOwotCi1wcm90ZWN0ZWQ6Ci0gICAgdmlydHVh
bCBJbnRSZWN0IGVzdGltYXRlVGV4dEJvdW5kcygpID0gMDsKLQotICAgIC8vIFVzZSB0aGUgY29u
dGV4dCBmcm9tIHRoZSB0cmFuc3BhcmVuY3kgaGVscGVyIHdoZW4gZHJhd2luZyB3aXRoIEdESS4g
SXQKLSAgICAvLyBtYXkgcG9pbnQgdG8gYSB0ZW1wb3Jhcnkgb25lLgotICAgIEdyYXBoaWNzQ29u
dGV4dCogbV9ncmFwaGljc0NvbnRleHQ7Ci0gICAgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIG1f
cGxhdGZvcm1Db250ZXh0OwotCi0gICAgRmxvYXRQb2ludCBtX3BvaW50OwotfTsKLQotVHJhbnNw
YXJlbmN5QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcihHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQotICAgIDog
bV9ncmFwaGljc0NvbnRleHQoY29udGV4dCkKLSAgICAsIG1fcGxhdGZvcm1Db250ZXh0KGNvbnRl
eHQtPnBsYXRmb3JtQ29udGV4dCgpKQotICAgICwgbV9wb2ludChwb2ludCkKLXsKLX0KLQotLy8g
U3BlY2lhbGl6YXRpb24gZm9yIHNpbXBsZSBHbHlwaEJ1ZmZlciBwYWludGluZy4KLWNsYXNzIFRy
YW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyIDogcHVibGljIFRyYW5zcGFyZW5jeUF3YXJlRm9u
dFBhaW50ZXIgewotIHB1YmxpYzoKLSAgICBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcihH
cmFwaGljc0NvbnRleHQqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFNpbXBsZUZvbnREYXRhKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBHbHlwaEJ1ZmZlciYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZy
b20sIGludCBudW1HbHlwaHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgRmxvYXRQb2ludCYpOwotCi0gICAgLy8gRHJhd3MgdGhlIHBhcnRpYWwgc3RyaW5nIG9mIGds
eXBocywgc3RhcnRpbmcgYXQgfHN0YXJ0QWR2YW5jZXwgdG8gdGhlCi0gICAgLy8gbGVmdCBvZiBt
X3BvaW50LgotICAgIHZvaWQgZHJhd0dseXBocyhpbnQgbnVtR2x5cGhzLCBjb25zdCBXT1JEKiBn
bHlwaHMsIGNvbnN0IGludCogYWR2YW5jZXMsIGZsb2F0IHN0YXJ0QWR2YW5jZSkgY29uc3Q7Ci0K
LSBwcml2YXRlOgotICAgIHZpcnR1YWwgSW50UmVjdCBlc3RpbWF0ZVRleHRCb3VuZHMoKTsKLQot
ICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBtX2ZvbnQ7Ci0gICAgY29uc3QgR2x5cGhCdWZmZXIm
IG1fZ2x5cGhCdWZmZXI7Ci0gICAgaW50IG1fZnJvbTsKLSAgICBpbnQgbV9udW1HbHlwaHM7Ci19
OwotCi1UcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlw
aFBhaW50ZXIoCi0gICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAotICAgIGNvbnN0IFNpbXBs
ZUZvbnREYXRhKiBmb250LAotICAgIGNvbnN0IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwKLSAg
ICBpbnQgZnJvbSwgaW50IG51bUdseXBocywKLSAgICBjb25zdCBGbG9hdFBvaW50JiBwb2ludCkK
LSAgICA6IFRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXIoY29udGV4dCwgcG9pbnQpCi0gICAg
LCBtX2ZvbnQoZm9udCkKLSAgICAsIG1fZ2x5cGhCdWZmZXIoZ2x5cGhCdWZmZXIpCi0gICAgLCBt
X2Zyb20oZnJvbSkKLSAgICAsIG1fbnVtR2x5cGhzKG51bUdseXBocykKLXsKLX0KLQotLy8gRXN0
aW1hdGVzIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGdpdmVuIHRleHQuIFRoaXMgaXMgY29waWVk
IGZyb20KLS8vIEZvbnRDR1dpbi5jcHAsIGl0IGlzIHBvc3NpYmxlLCBidXQgYSBsb3QgbW9yZSB3
b3JrLCB0byBnZXQgdGhlIHByZWNpZGUKLS8vIGJvdW5kcy4KLUludFJlY3QgVHJhbnNwYXJlbmN5
QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5kcygpCi17Ci0gICAgaW50IHRvdGFs
V2lkdGggPSAwOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1HbHlwaHM7IGkrKykKLSAg
ICAgICAgdG90YWxXaWR0aCArPSBscm91bmRmKG1fZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KG1fZnJv
bSArIGkpKTsKLQotICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC0+
Zm9udE1ldHJpY3MoKTsKLSAgICByZXR1cm4gSW50UmVjdChtX3BvaW50LngoKSAtIChmb250TWV0
cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAg
ICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5s
aW5lR2FwKCksCi0gICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFz
Y2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpLAotICAgICAgICAgICAgICAgICAgIGZvbnRN
ZXRyaWNzLmxpbmVTcGFjaW5nKCkpOyAKLX0KLQotdm9pZCBUcmFuc3BhcmVuY3lBd2FyZUdseXBo
UGFpbnRlcjo6ZHJhd0dseXBocyhpbnQgbnVtR2x5cGhzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXT1JEKiBnbHlwaHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCogYWR2YW5jZXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHN0
YXJ0QWR2YW5jZSkgY29uc3QKLXsKLSAgICBTa1BvaW50IG9yaWdpbiA9IG1fcG9pbnQ7Ci0gICAg
b3JpZ2luLmZYICs9IFNrRmxvYXRUb1NjYWxhcihzdGFydEFkdmFuY2UpOwotICAgIHBhaW50U2tp
YVRleHQobV9ncmFwaGljc0NvbnRleHQsIG1fZm9udC0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKSwK
LSAgICAgICAgICAgICAgICAgIG51bUdseXBocywgZ2x5cGhzLCBhZHZhbmNlcywgMCwgJm9yaWdp
bik7Ci19Ci0KLWNsYXNzIFRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlciA6IHB1Ymxp
YyBUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyIHsKLSBwdWJsaWM6Ci0gICAgVHJhbnNwYXJl
bmN5QXdhcmVVbmlzY3JpYmVQYWludGVyKEdyYXBoaWNzQ29udGV4dCosCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvbnQqLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBUZXh0UnVuJiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IGZyb20sIGludCB0bywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYpOwotCi0gcHJpdmF0ZToKLSAgICB2
aXJ0dWFsIEludFJlY3QgZXN0aW1hdGVUZXh0Qm91bmRzKCk7Ci0KLSAgICBjb25zdCBGb250KiBt
X2ZvbnQ7Ci0gICAgY29uc3QgVGV4dFJ1biYgbV9ydW47Ci0gICAgaW50IG1fZnJvbTsKLSAgICBp
bnQgbV90bzsKLX07Ci0KLVRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlcjo6VHJhbnNw
YXJlbmN5QXdhcmVVbmlzY3JpYmVQYWludGVyKAotICAgIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwKLSAgICBjb25zdCBGb250KiBmb250LAotICAgIGNvbnN0IFRleHRSdW4mIHJ1biwKLSAgICBp
bnQgZnJvbSwgaW50IHRvLAotICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQotICAgIDogVHJh
bnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcihjb250ZXh0LCBwb2ludCkKLSAgICAsIG1fZm9udChm
b250KQotICAgICwgbV9ydW4ocnVuKQotICAgICwgbV9mcm9tKGZyb20pCi0gICAgLCBtX3RvKHRv
KQotewotfQotCi1JbnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlcjo6ZXN0
aW1hdGVUZXh0Qm91bmRzKCkKLXsKLSAgICAvLyBUaGlzIGNhc2UgcmVhbGx5IHJlYWxseSBzdWNr
cy4gVGhlcmUgaXMgbm8gY29udmVuaWVudCB3YXkgdG8gZXN0aW1hdGUKLSAgICAvLyB0aGUgYm91
bmRpbmcgYm94LiBTbyB3ZSBydW4gVW5pc2NyaWJlIHR3aWNlLiBJZiB3ZSBmaW5kIHRoaXMgaGFw
cGVucyBhCi0gICAgLy8gbG90LCB0aGUgd2F5IHRvIGZpeCBpdCBpcyB0byBtYWtlIHRoZSBleHRy
YSBsYXllciBhZnRlciB0aGUKLSAgICAvLyBVbmlzY3JpYmVIZWxwZXIgaGFzIG1lYXN1cmVkIHRo
ZSB0ZXh0LgotICAgIEludFBvaW50IGludFBvaW50KGxyb3VuZGYobV9wb2ludC54KCkpLAotICAg
ICAgICAgICAgICAgICAgICAgIGxyb3VuZGYobV9wb2ludC55KCkpKTsKLQotICAgIFVuaXNjcmli
ZUhlbHBlclRleHRSdW4gc3RhdGUobV9ydW4sICptX2ZvbnQpOwotICAgIGludCBsZWZ0ID0gbHJv
dW5kZihtX3BvaW50LngoKSkgKyBzdGF0ZS5jaGFyYWN0ZXJUb1gobV9mcm9tKTsKLSAgICBpbnQg
cmlnaHQgPSBscm91bmRmKG1fcG9pbnQueCgpKSArIHN0YXRlLmNoYXJhY3RlclRvWChtX3RvKTsK
LSAgICAKLSAgICAvLyBBZGp1c3QgZm9yIFJUTCBzY3JpcHQgc2luY2Ugd2UganVzdCB3YW50IHRv
IGtub3cgdGhlIHRleHQgYm91bmRzLgotICAgIGlmIChsZWZ0ID4gcmlnaHQpCi0gICAgICAgIHN0
ZDo6c3dhcChsZWZ0LCByaWdodCk7Ci0KLSAgICAvLyBUaGlzIGFsZ29yaXRobSBmb3IgZXN0aW1h
dGluZyBob3cgbXVjaCBleHRyYSBzcGFjZSB3ZSBuZWVkICh0aGUgdGV4dCBtYXkKLSAgICAvLyBn
byBvdXRzaWRlIHRoZSBzZWxlY3Rpb24gcmVjdCkgaXMgYmFzZWQgcm91Z2hseSBvbgotICAgIC8v
IFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMgYWJvdmUu
Ci0gICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmlj
cygpOwotICAgIHJldHVybiBJbnRSZWN0KGxlZnQgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBm
b250TWV0cmljcy5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3BvaW50Lnko
KSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAotICAgICAg
ICAgICAgICAgICAgIChyaWdodCAtIGxlZnQpICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250
TWV0cmljcy5kZXNjZW50KCksCi0gICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNw
YWNpbmcoKSk7Ci19Ci0KLX0gIC8vIG5hbWVzcGFjZQotCiBib29sIEZvbnQ6OmNhblJldHVybkZh
bGxiYWNrRm9udHNGb3JDb21wbGV4VGV4dCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjE1
LDE5ICs1NSwyMyBAQCBib29sIEZvbnQ6OmNhbkV4cGFuZEFyb3VuZElkZW9ncmFwaHNJbkNvCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgdm9pZCBkcmF3R2x5cGhzV2luKEdyYXBoaWNz
Q29udGV4dCogZ3JhcGhpY3NDb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBTaW1wbGVGb250RGF0YSogZm9udCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZnJvbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG51bUdseXBocywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQpIHsKLSAgICBUcmFuc3Bh
cmVuY3lBd2FyZUdseXBoUGFpbnRlciBwYWludGVyKGdyYXBoaWNzQ29udGV4dCwgZm9udCwgZ2x5
cGhCdWZmZXIsIGZyb20sIG51bUdseXBocywgcG9pbnQpOwordm9pZCBGb250OjpkcmF3R2x5cGhz
KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJv
bSwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgbnVtR2x5cGhzLAorICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KSBjb25zdAoreworICAgIFNrQ29sb3IgY29s
b3IgPSBncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5lZmZlY3RpdmVGaWxsQ29s
b3IoKTsKKyAgICB1bnNpZ25lZCBjaGFyIGFscGhhID0gU2tDb2xvckdldEEoY29sb3IpOworICAg
IC8vIFNraXAgMTAwJSB0cmFuc3BhcmVudCB0ZXh0OyBubyBuZWVkIHRvIGRyYXcgYW55dGhpbmcu
CisgICAgaWYgKCFhbHBoYSAmJiBncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5n
ZXRTdHJva2VTdHlsZSgpID09IE5vU3Ryb2tlICYmICFncmFwaGljc0NvbnRleHQtPmhhc1NoYWRv
dygpKQorICAgICAgICByZXR1cm47CisKKyAgICBIRk9OVCBoZm9udCA9IGZvbnQtPnBsYXRmb3Jt
RGF0YSgpLmhmb250KCk7CiAKICAgICAvLyBXZSBkcmF3IHRoZSBnbHlwaHMgaW4gY2h1bmtzIHRv
IGF2b2lkIGhhdmluZyB0byBkbyBhIGhlYXAgYWxsb2NhdGlvbiBmb3IKLSAgICAvLyB0aGUgYXJy
YXlzIG9mIGNoYXJhY3RlcnMgYW5kIGFkdmFuY2VzLiBTaW5jZSBFeHRUZXh0T3V0IGlzIHRoZQot
ICAgIC8vIGxvd2VzdC1sZXZlbCB0ZXh0IG91dHB1dCBmdW5jdGlvbiBvbiBXaW5kb3dzLCB0aGVy
ZSBzaG91bGQgYmUgbGl0dGxlCi0gICAgLy8gcGVuYWx0eSBmb3Igc3BsaXR0aW5nIHVwIHRoZSB0
ZXh0LiBPbiB0aGUgb3RoZXIgaGFuZCwgdGhlIGJ1ZmZlciBjYW5ub3QKLSAgICAvLyBiZSBiaWdn
ZXIgdGhhbiA0MDk0IG9yIHRoZSBmdW5jdGlvbiB3aWxsIGZhaWwuCisgICAgLy8gdGhlIGFycmF5
cyBvZiBjaGFyYWN0ZXJzIGFuZCBhZHZhbmNlcy4KICAgICBjb25zdCBpbnQga01heEJ1ZmZlckxl
bmd0aCA9IDI1NjsKICAgICBWZWN0b3I8V09SRCwga01heEJ1ZmZlckxlbmd0aD4gZ2x5cGhzOwog
ICAgIFZlY3RvcjxpbnQsIGtNYXhCdWZmZXJMZW5ndGg+IGFkdmFuY2VzOwpAQCAtMjY0LDI2ICsx
MDgsMTIgQEAgc3RhdGljIHZvaWQgZHJhd0dseXBoc1dpbihHcmFwaGljc0NvbnRleAogICAgICAg
ICAgICAgICAgIGFkdmFuY2VzW2ldID0gMDsKICAgICAgICAgfQogCi0gICAgICAgIHBhaW50ZXIu
ZHJhd0dseXBocyhjdXJMZW4sICZnbHlwaHNbMF0sICZhZHZhbmNlc1swXSwgaG9yaXpvbnRhbE9m
ZnNldCAtIHBvaW50LngoKSAtIGN1cnJlbnRXaWR0aCk7CisgICAgICAgIFNrUG9pbnQgb3JpZ2lu
ID0gcG9pbnQ7CisgICAgICAgIG9yaWdpbi5mWCArPSBTa0Zsb2F0VG9TY2FsYXIoaG9yaXpvbnRh
bE9mZnNldCAtIHBvaW50LngoKSAtIGN1cnJlbnRXaWR0aCk7CisgICAgICAgIHBhaW50U2tpYVRl
eHQoZ3JhcGhpY3NDb250ZXh0LCBoZm9udCwgY3VyTGVuLCAmZ2x5cGhzWzBdLCAmYWR2YW5jZXNb
MF0sIDAsICZvcmlnaW4pOwogICAgIH0KIH0KIAotdm9pZCBGb250OjpkcmF3R2x5cGhzKEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFNpbXBsZUZvbnREYXRhKiBmb250LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBo
QnVmZmVyJiBnbHlwaEJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgZnJvbSwKLSAg
ICAgICAgICAgICAgICAgICAgICBpbnQgbnVtR2x5cGhzLAotICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KSBjb25zdAotewotICAgIFNrQ29sb3IgY29sb3IgPSBn
cmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5lZmZlY3RpdmVGaWxsQ29sb3IoKTsK
LSAgICB1bnNpZ25lZCBjaGFyIGFscGhhID0gU2tDb2xvckdldEEoY29sb3IpOwotICAgIC8vIFNr
aXAgMTAwJSB0cmFuc3BhcmVudCB0ZXh0OyBubyBuZWVkIHRvIGRyYXcgYW55dGhpbmcuCi0gICAg
aWYgKCFhbHBoYSAmJiBncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5nZXRTdHJv
a2VTdHlsZSgpID09IE5vU3Ryb2tlICYmICFncmFwaGljc0NvbnRleHQtPmhhc1NoYWRvdygpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBkcmF3R2x5cGhzV2luKGdyYXBoaWNzQ29udGV4dCwgZm9u
dCwgZ2x5cGhCdWZmZXIsIGZyb20sIG51bUdseXBocywgcG9pbnQpOwotfQotCiBGbG9hdFJlY3Qg
Rm9udDo6c2VsZWN0aW9uUmVjdEZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2lu
dCYgcG9pbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBoLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>