<?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>35231</bug_id>
          
          <creation_ts>2010-02-22 00:47:37 -0800</creation_ts>
          <short_desc>[Chromium] Paddings of Mac chromium&apos;s buttons don&apos;t agree with Firefox</short_desc>
          <delta_ts>2010-02-23 22:16:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinichiro Hamaji">hamaji</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192377</commentid>
    <comment_count>0</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-22 00:47:37 -0800</bug_when>
    <thetext>Bug 24048 made Win/Linux chromium agree with Firefox, but Mac chromium wasn&apos;t fixed. Currently, Win/Linux chromium and Firefox have 3 pixels left/right paddings and 1 pixel up/bottom paddings but Mac chromium doesn&apos;t have the paddings.

The test case:

http://www.plexode.com/cgi-bin/eval3.py#ht=%3Cp%3E%0AWin%2FLinux%20chrome%3A%2094%3Cbr%3E%0AMac%20chrome%3A%20100%3Cbr%3E%0AFirefox%3A%2094%3Cbr%3E%0A%3Cp%3E%0A%3Cbutton%20style%3D%22width%3A100px%3B%20border%3A%20none%3B%20padding%3A0px%3B%22%3E%0A%20%3Cdiv%20id%3D%22t%22%3Efoo%3C%2Fdiv%3E%0A%3C%2Fbutton%3E%0A&amp;ohh=1&amp;ohj=1&amp;jt=%22width%3D%22%20%2B%20document.getElementById(%22t%22).offsetWidth&amp;ojh=1&amp;ojj=1&amp;ms=100&amp;oth=0&amp;otj=0&amp;cex=1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192378</commentid>
    <comment_count>1</comment_count>
      <attachid>49192</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-22 00:50:52 -0800</bug_when>
    <thetext>Created attachment 49192
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192381</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-22 00:53:58 -0800</bug_when>
    <thetext>Attachment 49192 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/rendering/RenderThemeChromiumSkia.h:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192383</commentid>
    <comment_count>3</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-22 01:00:08 -0800</bug_when>
    <thetext>&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; WebCore/rendering/RenderThemeChromiumSkia.h:35:  Code inside a namespace should
&gt; not be indented.  [whitespace/indent] [4]
&gt; Total errors found: 1 in 6 files

This is known as Bug 33925, but now I decided to fix this style violation in this chance. Please review Patch v1 to check the logical change of this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192384</commentid>
    <comment_count>4</comment_count>
      <attachid>49193</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-22 01:01:15 -0800</bug_when>
    <thetext>Created attachment 49193
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192386</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-02-22 01:14:31 -0800</bug_when>
    <thetext>This behavior matches to Safari/Mac.  We should change the Safari/Mac behavior too if you want to change this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192387</commentid>
    <comment_count>6</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-22 01:22:44 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; This behavior matches to Safari/Mac.  We should change the Safari/Mac behavior
&gt; too if you want to change this.

Thanks for your comment. Yes, Mac Safari and Win Safari disagree with Firefox, Win Chrome, and Linux Chrome behavior. I don&apos;t know the discussion about Bug 24048, but I guessed the decision of Chromium team was different from Safari team. Ojan, could you check if my guess is correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192641</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-02-22 14:39:04 -0800</bug_when>
    <thetext>Ideally, form controls for Safari and Chrome will have the same metrics per-platform.

I&apos;ve actually been meaning to file a bug that we *remove* the 3px padding on Windows/Linux. It causes more compatibility problems than it fixes. Before removing the 3px padding, I wanted to make a screenshot of what it would look like with and without to run it by Chrome&apos;s UI leads to make sure they&apos;re OK with the change.

Matching Firefox is not in and of itself a goal. Chrome made that change a long time ago (when there was only a Windows Chrome) in an effort to maximize web compatibility, but to date, we&apos;ve only seen cases where it has hurt compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192644</commentid>
    <comment_count>8</comment_count>
      <attachid>49193</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-22 14:43:31 -0800</bug_when>
    <thetext>Comment on attachment 49193
Patch v2

r- based on Ojan&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193241</commentid>
    <comment_count>9</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-23 22:16:07 -0800</bug_when>
    <thetext>Thanks Ojan for the description!

&gt; I&apos;ve actually been meaning to file a bug that we *remove* the 3px padding on
&gt; Windows/Linux. It causes more compatibility problems than it fixes. Before
&gt; removing the 3px padding, I wanted to make a screenshot of what it would look
&gt; like with and without to run it by Chrome&apos;s UI leads to make sure they&apos;re OK
&gt; with the change.
&gt; 
&gt; Matching Firefox is not in and of itself a goal. Chrome made that change a long
&gt; time ago (when there was only a Windows Chrome) in an effort to maximize web
&gt; compatibility, but to date, we&apos;ve only seen cases where it has hurt
&gt; compatibility.

If it&apos;s OK to remove the extra paddings, I agree it&apos;s the better solution. So, could you have a discussion with UI guys and take over http://crbug.com/1437 ? Or, if you are busy, I&apos;ll make screenshots and send them to UI leads. In this case, could you tell me who I should contact and what kind of screenshots I should send, please?

Thanks again!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49192</attachid>
            <date>2010-02-22 00:50:52 -0800</date>
            <delta_ts>2010-02-22 01:01:10 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-35231-20100222005050.patch</filename>
            <type>text/plain</type>
            <size>6980</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFkMWE1NC4uMzFkODUxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMi0yMiAgU2hpbmljaGlybyBI
YW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gUGFkZGluZ3Mgb2YgTWFjIGNocm9taXVt
J3MgYnV0dG9ucyBkb24ndCBhZ3JlZSB3aXRoIEZpcmVmb3gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjMxCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGJ1dCBidW5jaCBvZiBleGlzdGluZyBleHBlY3RhdGlvbnMgc2hvdWxkIGJlIHJlYmFzZWxpbmVk
LgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtLmg6IEFkZGVkIHRvIHNoYXJlIGNvZGUgYW1vbmcgc2tpYSBhbmQgbWFjLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bTo6YnV0dG9uSW50ZXJuYWxQYWRk
aW5nTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtOjpidXR0b25J
bnRlcm5hbFBhZGRpbmdSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9t
aXVtOjpidXR0b25JbnRlcm5hbFBhZGRpbmdUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bTo6YnV0dG9uSW50ZXJuYWxQYWRkaW5nQm90dG9tKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhLmg6CisKIDIwMTAtMDItMTkgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGI4MzE2Y2YuLjBmM2FhOWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMTQ5LDYgKzMxNDksNyBAQAogICAgICAgICAgICAg
J3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlclRoZW1lLmgn
LAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtLmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtLmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZWY0ZWZmMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW0uaApAQCAtMCwwICsxLDQwIEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
dGhlIFdlYktpdCBwcm9qZWN0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUmVuZGVyVGhlbWVDaHJvbWl1bV9o
CisjZGVmaW5lIFJlbmRlclRoZW1lQ2hyb21pdW1faAorCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtIDog
cHVibGljIFJlbmRlclRoZW1lIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIGludCBidXR0b25JbnRl
cm5hbFBhZGRpbmdMZWZ0KCkgY29uc3QgeyByZXR1cm4gMzsgfQorICAgIHZpcnR1YWwgaW50IGJ1
dHRvbkludGVybmFsUGFkZGluZ1JpZ2h0KCkgY29uc3QgeyByZXR1cm4gMzsgfQorICAgIHZpcnR1
YWwgaW50IGJ1dHRvbkludGVybmFsUGFkZGluZ1RvcCgpIGNvbnN0IHsgcmV0dXJuIDE7IH0KKyAg
ICB2aXJ0dWFsIGludCBidXR0b25JbnRlcm5hbFBhZGRpbmdCb3R0b20oKSBjb25zdCB7IHJldHVy
biAxOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBSZW5kZXJU
aGVtZUNocm9taXVtX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1NYWMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMu
aAppbmRleCA4MTAxMDM4Li5iMDI1NmY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVDaHJvbWl1bU1hYy5oCkBAIC0yLDcgKzIsNyBAQAogICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
dGhlIHRoZW1lIGltcGxlbWVudGF0aW9uIGZvciBmb3JtIGNvbnRyb2xzIGluIFdlYkNvcmUuCiAg
KgogICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDgsIDIwMDkgR29vZ2xlLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MDksIDIwMTAgR29vZ2xlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDcgKzI0LDcg
QEAKICNpZm5kZWYgUmVuZGVyVGhlbWVDaHJvbWl1bU1hY19oCiAjZGVmaW5lIFJlbmRlclRoZW1l
Q2hyb21pdW1NYWNfaAogCi0jaW1wb3J0ICJSZW5kZXJUaGVtZS5oIgorI2ltcG9ydCAiUmVuZGVy
VGhlbWVDaHJvbWl1bS5oIgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KIApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtTWFjIDogcHVibGlj
IFJlbmRlclRoZW1lIHsKK2NsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1NYWMgOiBwdWJsaWMgUmVu
ZGVyVGhlbWVDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVy
VGhlbWU+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtU2tpYS5jcHAKaW5kZXggN2QzYmNlYy4uY2ZmOGQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtMiw3ICsyLDcgQEAKICAqIENvcHly
aWdodCAoQykgMjAwNyBBcHBsZSBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2Vy
IDxhbHBAYXRva2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLgot
ICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJbmMuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDgsIDIwMDksIDIwMTAgR29vZ2xlIEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNzIx
LDI2ICs3MjEsNiBAQCBpbnQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBvcHVwSW50ZXJuYWxQ
YWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKiBzdHlsZSkgY29ucwogICAgIHJldHVybiBtZW51TGlz
dEludGVybmFsUGFkZGluZyhzdHlsZSwgQm90dG9tUGFkZGluZyk7CiB9CiAKLWludCBSZW5kZXJU
aGVtZUNocm9taXVtU2tpYTo6YnV0dG9uSW50ZXJuYWxQYWRkaW5nTGVmdCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIDM7Ci19Ci0KLWludCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YnV0dG9uSW50
ZXJuYWxQYWRkaW5nUmlnaHQoKSBjb25zdAotewotICAgIHJldHVybiAzOwotfQotCi1pbnQgUmVu
ZGVyVGhlbWVDaHJvbWl1bVNraWE6OmJ1dHRvbkludGVybmFsUGFkZGluZ1RvcCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLWludCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YnV0dG9u
SW50ZXJuYWxQYWRkaW5nQm90dG9tKCkgY29uc3QKLXsKLSAgICByZXR1cm4gMTsKLX0KLQogI2lm
IEVOQUJMRShWSURFTykKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnNob3VsZFJlbmRl
ck1lZGlhQ29udHJvbFBhcnQoQ29udHJvbFBhcnQgcGFydCwgRWxlbWVudCogZSkKIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCmluZGV4IDE4ZmE4NTkuLmYz
ZTQ1MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1T
a2lhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApA
QCAtNSw3ICs1LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBNaWNoYWVsIEVtbWVsIG1pa2Uu
ZW1tZWxAZ21haWwuY29tCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgSG9sZ2VyIEhhbnMgUGV0ZXIg
RnJleXRoZXIKICAqIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29t
PgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSwgSW5jLgorICogQ29weXJpZ2h0
IChDKSAyMDA4LCAyMDA5LCAyMDEwIEdvb2dsZSwgSW5jLgogICogQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC0yOCwxMSArMjgsMTEgQEAKICNpZm5kZWYgUmVuZGVyVGhlbWVD
aHJvbWl1bVNraWFfaAogI2RlZmluZSBSZW5kZXJUaGVtZUNocm9taXVtU2tpYV9oCiAKLSNpbmNs
dWRlICJSZW5kZXJUaGVtZS5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lQ2hyb21pdW0uaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEg
OiBwdWJsaWMgUmVuZGVyVGhlbWUgeworICAgIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
IDogcHVibGljIFJlbmRlclRoZW1lQ2hyb21pdW0gewogICAgIHB1YmxpYzoKICAgICAgICAgUmVu
ZGVyVGhlbWVDaHJvbWl1bVNraWEoKTsKICAgICAgICAgdmlydHVhbCB+UmVuZGVyVGhlbWVDaHJv
bWl1bVNraWEoKTsKQEAgLTEyMywxMSArMTIzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIGludCBwb3B1cEludGVybmFsUGFkZGluZ1RvcChSZW5kZXJTdHlsZSopIGNv
bnN0OwogICAgICAgICB2aXJ0dWFsIGludCBwb3B1cEludGVybmFsUGFkZGluZ0JvdHRvbShSZW5k
ZXJTdHlsZSopIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgaW50IGJ1dHRvbkludGVybmFsUGFk
ZGluZ0xlZnQoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgYnV0dG9uSW50ZXJuYWxQYWRk
aW5nUmlnaHQoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgYnV0dG9uSW50ZXJuYWxQYWRk
aW5nVG9wKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IGJ1dHRvbkludGVybmFsUGFkZGlu
Z0JvdHRvbSgpIGNvbnN0OwotCiAjaWYgRU5BQkxFKFZJREVPKQogICAgICAgICAvLyBNZWRpYSBj
b250cm9scwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVuZGVyTWVkaWFDb250cm9sUGFy
dChDb250cm9sUGFydCwgRWxlbWVudCopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49193</attachid>
            <date>2010-02-22 01:01:15 -0800</date>
            <delta_ts>2010-02-22 14:43:31 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-35231-20100222010113.patch</filename>
            <type>text/plain</type>
            <size>19177</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFkMWE1NC4uMzFkODUxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMi0yMiAgU2hpbmljaGlybyBI
YW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gUGFkZGluZ3Mgb2YgTWFjIGNocm9taXVt
J3MgYnV0dG9ucyBkb24ndCBhZ3JlZSB3aXRoIEZpcmVmb3gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MjMxCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGJ1dCBidW5jaCBvZiBleGlzdGluZyBleHBlY3RhdGlvbnMgc2hvdWxkIGJlIHJlYmFzZWxpbmVk
LgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtLmg6IEFkZGVkIHRvIHNoYXJlIGNvZGUgYW1vbmcgc2tpYSBhbmQgbWFjLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bTo6YnV0dG9uSW50ZXJuYWxQYWRk
aW5nTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtOjpidXR0b25J
bnRlcm5hbFBhZGRpbmdSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9t
aXVtOjpidXR0b25JbnRlcm5hbFBhZGRpbmdUb3ApOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bTo6YnV0dG9uSW50ZXJuYWxQYWRkaW5nQm90dG9tKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhLmg6CisKIDIwMTAtMDItMTkgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGI4MzE2Y2YuLjBmM2FhOWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zMTQ5LDYgKzMxNDksNyBAQAogICAgICAgICAgICAg
J3JlbmRlcmluZy9SZW5kZXJUZXh0RnJhZ21lbnQuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlclRoZW1lLmgn
LAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtLmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtLmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZWY0ZWZmMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW0uaApAQCAtMCwwICsxLDQwIEBACisvKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
dGhlIFdlYktpdCBwcm9qZWN0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUmVuZGVyVGhlbWVDaHJvbWl1bV9o
CisjZGVmaW5lIFJlbmRlclRoZW1lQ2hyb21pdW1faAorCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtIDog
cHVibGljIFJlbmRlclRoZW1lIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIGludCBidXR0b25JbnRl
cm5hbFBhZGRpbmdMZWZ0KCkgY29uc3QgeyByZXR1cm4gMzsgfQorICAgIHZpcnR1YWwgaW50IGJ1
dHRvbkludGVybmFsUGFkZGluZ1JpZ2h0KCkgY29uc3QgeyByZXR1cm4gMzsgfQorICAgIHZpcnR1
YWwgaW50IGJ1dHRvbkludGVybmFsUGFkZGluZ1RvcCgpIGNvbnN0IHsgcmV0dXJuIDE7IH0KKyAg
ICB2aXJ0dWFsIGludCBidXR0b25JbnRlcm5hbFBhZGRpbmdCb3R0b20oKSBjb25zdCB7IHJldHVy
biAxOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBSZW5kZXJU
aGVtZUNocm9taXVtX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1NYWMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMu
aAppbmRleCA4MTAxMDM4Li5iMDI1NmY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVDaHJvbWl1bU1hYy5oCkBAIC0yLDcgKzIsNyBAQAogICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
dGhlIHRoZW1lIGltcGxlbWVudGF0aW9uIGZvciBmb3JtIGNvbnRyb2xzIGluIFdlYkNvcmUuCiAg
KgogICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDgsIDIwMDkgR29vZ2xlLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIw
MDksIDIwMTAgR29vZ2xlLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0LDcgKzI0LDcg
QEAKICNpZm5kZWYgUmVuZGVyVGhlbWVDaHJvbWl1bU1hY19oCiAjZGVmaW5lIFJlbmRlclRoZW1l
Q2hyb21pdW1NYWNfaAogCi0jaW1wb3J0ICJSZW5kZXJUaGVtZS5oIgorI2ltcG9ydCAiUmVuZGVy
VGhlbWVDaHJvbWl1bS5oIgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KIApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtTWFjIDogcHVibGlj
IFJlbmRlclRoZW1lIHsKK2NsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1NYWMgOiBwdWJsaWMgUmVu
ZGVyVGhlbWVDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVy
VGhlbWU+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtU2tpYS5jcHAKaW5kZXggN2QzYmNlYy4uY2ZmOGQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtMiw3ICsyLDcgQEAKICAqIENvcHly
aWdodCAoQykgMjAwNyBBcHBsZSBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2Vy
IDxhbHBAYXRva2VyLmNvbT4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLgot
ICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJbmMuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDgsIDIwMDksIDIwMTAgR29vZ2xlIEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNzIx
LDI2ICs3MjEsNiBAQCBpbnQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBvcHVwSW50ZXJuYWxQ
YWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKiBzdHlsZSkgY29ucwogICAgIHJldHVybiBtZW51TGlz
dEludGVybmFsUGFkZGluZyhzdHlsZSwgQm90dG9tUGFkZGluZyk7CiB9CiAKLWludCBSZW5kZXJU
aGVtZUNocm9taXVtU2tpYTo6YnV0dG9uSW50ZXJuYWxQYWRkaW5nTGVmdCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIDM7Ci19Ci0KLWludCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YnV0dG9uSW50
ZXJuYWxQYWRkaW5nUmlnaHQoKSBjb25zdAotewotICAgIHJldHVybiAzOwotfQotCi1pbnQgUmVu
ZGVyVGhlbWVDaHJvbWl1bVNraWE6OmJ1dHRvbkludGVybmFsUGFkZGluZ1RvcCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLWludCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YnV0dG9u
SW50ZXJuYWxQYWRkaW5nQm90dG9tKCkgY29uc3QKLXsKLSAgICByZXR1cm4gMTsKLX0KLQogI2lm
IEVOQUJMRShWSURFTykKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnNob3VsZFJlbmRl
ck1lZGlhQ29udHJvbFBhcnQoQ29udHJvbFBhcnQgcGFydCwgRWxlbWVudCogZSkKIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCmluZGV4IDE4ZmE4NTkuLmQw
ODMyOWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1T
a2lhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApA
QCAtNSw3ICs1LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiBNaWNoYWVsIEVtbWVsIG1pa2Uu
ZW1tZWxAZ21haWwuY29tCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgSG9sZ2VyIEhhbnMgUGV0ZXIg
RnJleXRoZXIKICAqIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29t
PgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSwgSW5jLgorICogQ29weXJpZ2h0
IChDKSAyMDA4LCAyMDA5LCAyMDEwIEdvb2dsZSwgSW5jLgogICogQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC0yOCwxMzIgKzI4LDEyNyBAQAogI2lmbmRlZiBSZW5kZXJUaGVt
ZUNocm9taXVtU2tpYV9oCiAjZGVmaW5lIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhX2gKIAotI2lu
Y2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWVDaHJvbWl1bS5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtU2tp
YSA6IHB1YmxpYyBSZW5kZXJUaGVtZSB7Ci0gICAgcHVibGljOgotICAgICAgICBSZW5kZXJUaGVt
ZUNocm9taXVtU2tpYSgpOwotICAgICAgICB2aXJ0dWFsIH5SZW5kZXJUaGVtZUNocm9taXVtU2tp
YSgpOworY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEgOiBwdWJsaWMgUmVuZGVyVGhlbWVD
aHJvbWl1bSB7CitwdWJsaWM6CisgICAgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEoKTsKKyAgICB2
aXJ0dWFsIH5SZW5kZXJUaGVtZUNocm9taXVtU2tpYSgpOwogCi0gICAgICAgIHZpcnR1YWwgU3Ry
aW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKTsKLSAgICAgICAgdmlydHVhbCBTdHJpbmcgZXh0
cmFRdWlya3NTdHlsZVNoZWV0KCk7CisgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5
bGVTaGVldCgpOworICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhUXVpcmtzU3R5bGVTaGVldCgpOwog
I2lmIEVOQUJMRShWSURFTykKLSAgICAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFNZWRpYUNvbnRy
b2xzU3R5bGVTaGVldCgpOworICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0
eWxlU2hlZXQoKTsKICNlbmRpZgogCi0gICAgICAgIC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUg
dGhlbWUncyBjb250cm9scyBhY3R1YWxseSBjYXJlIGFib3V0IHJlZHJhd2luZyB3aGVuIGhvdmVy
ZWQuCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxl
KikgY29uc3Q7CisgICAgLy8gQSBtZXRob2QgYXNraW5nIGlmIHRoZSB0aGVtZSdzIGNvbnRyb2xz
IGFjdHVhbGx5IGNhcmUgYWJvdXQgcmVkcmF3aW5nIHdoZW4gaG92ZXJlZC4KKyAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0OwogCi0gICAgICAg
IC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUgdGhlbWUgaXMgYWJsZSB0byBkcmF3IHRoZSBmb2N1
cyByaW5nLgotICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGb2N1c1JpbmcoY29uc3QgUmVu
ZGVyU3R5bGUqKSBjb25zdDsKKyAgICAvLyBBIG1ldGhvZCBhc2tpbmcgaWYgdGhlIHRoZW1lIGlz
IGFibGUgdG8gZHJhdyB0aGUgZm9jdXMgcmluZy4KKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNG
b2N1c1JpbmcoY29uc3QgUmVuZGVyU3R5bGUqKSBjb25zdDsKIAotICAgICAgICAvLyBUaGUgcGxh
dGZvcm0gc2VsZWN0aW9uIGNvbG9yLgotICAgICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtQWN0
aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgQ29s
b3IgcGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0OwotICAg
ICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9y
KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlv
bkZvcmVncm91bmRDb2xvcigpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3Jt
Rm9jdXNSaW5nQ29sb3IoKSBjb25zdDsKKyAgICAvLyBUaGUgcGxhdGZvcm0gc2VsZWN0aW9uIGNv
bG9yLgorICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5k
Q29sb3IoKSBjb25zdDsKKyAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rp
b25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdDsKKyAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtQWN0
aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Q7CisgICAgdmlydHVhbCBDb2xvciBw
bGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Q7CisgICAgdmly
dHVhbCBDb2xvciBwbGF0Zm9ybUZvY3VzUmluZ0NvbG9yKCkgY29uc3Q7CiAKLSAgICAgICAgLy8g
VG8gY2hhbmdlIHRoZSBibGluayBpbnRlcnZhbCwgb3ZlcnJpZGUgY2FyZXRCbGlua0ludGVydmFs
SW50ZXJuYWwgaW5zdGVhZCBvZiB0aGlzIG9uZSBzbyB0aGF0IHdlIG1heSBzaGFyZSBsYXlvdXQg
dGVzdCBjb2RlIGFuIGludGVyY2VwdHMuCi0gICAgICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0Qmxp
bmtJbnRlcnZhbCgpIGNvbnN0OworICAgIC8vIFRvIGNoYW5nZSB0aGUgYmxpbmsgaW50ZXJ2YWws
IG92ZXJyaWRlIGNhcmV0QmxpbmtJbnRlcnZhbEludGVybmFsIGluc3RlYWQgb2YgdGhpcyBvbmUg
c28gdGhhdCB3ZSBtYXkgc2hhcmUgbGF5b3V0IHRlc3QgY29kZSBhbiBpbnRlcmNlcHRzLgorICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0OwogCi0gICAgICAgIC8v
IFN5c3RlbSBmb250cy4KLSAgICAgICAgdmlydHVhbCB2b2lkIHN5c3RlbUZvbnQoaW50IHByb3BJ
ZCwgRm9udERlc2NyaXB0aW9uJikgY29uc3Q7CisgICAgLy8gU3lzdGVtIGZvbnRzLgorICAgIHZp
cnR1YWwgdm9pZCBzeXN0ZW1Gb250KGludCBwcm9wSWQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0
OwogCi0gICAgICAgIHZpcnR1YWwgaW50IG1pbmltdW1NZW51TGlzdFNpemUoUmVuZGVyU3R5bGUq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBtaW5pbXVtTWVudUxpc3RTaXplKFJlbmRlclN0eWxl
KikgY29uc3Q7CiAKLSAgICAgICAgdmlydHVhbCBib29sIHBhaW50Q2hlY2tib3goUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzZXRDaGVja2JveFNpemUoUmVuZGVyU3R5bGUqKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDaGVja2JveChSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5k
ZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0Q2hlY2tib3hTaXplKFJlbmRlclN0eWxlKikgY29uc3Q7CiAKLSAgICAgICAgdmlydHVhbCBi
b29sIHBhaW50UmFkaW8oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludElu
Zm8mLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRSYWRpb1NpemUo
UmVuZGVyU3R5bGUqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRSYWRpbyhSZW5kZXJP
YmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0UmFkaW9TaXplKFJlbmRlclN0eWxlKikgY29uc3Q7CiAKLSAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRl
ck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxl
bWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEJ1dHRvbihSZW5kZXJPYmplY3Qq
LCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRqdXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0
eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludFRleHRG
aWVsZChSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0
IEludFJlY3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRUZXh0RmllbGQoUmVuZGVyT2JqZWN0
KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKLSAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50VGV4dEFyZWEoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVu
ZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29s
IHBhaW50VGV4dEFyZWEoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludElu
Zm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJj
aEZpZWxkU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNv
bnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTZWFyY2hGaWVsZChSZW5kZXJPYmplY3Qq
LCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRqdXN0U2VhcmNoRmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVu
ZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50U2VhcmNo
RmllbGQoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkQ2Fu
Y2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCop
IGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRv
bihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25T
dHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7Cisg
ICAgdmlydHVhbCBib29sIHBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0
KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblN0eWxlKENTU1N0
eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRqdXN0U2VhcmNoRmllbGREZWNvcmF0aW9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvcios
IFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvcios
IFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRl
ck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvcios
IFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludFNl
YXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2Jq
ZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lk
IGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBS
ZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIHBhaW50
U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RT
ZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5
bGUqLCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50U2VhcmNoRmllbGRS
ZXN1bHRzQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhQ29u
dHJvbHNCYWNrZ3JvdW5kKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVNs
aWRlclRyYWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwg
Y29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNs
aWRlclRyYWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwg
Y29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2xpZGVyVGh1bWJT
aXplKFJlbmRlck9iamVjdCopIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRp
YVNsaWRlclRodW1iKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVZvbHVt
ZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVBsYXlC
dXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhTXV0ZUJ1dHRvbihS
ZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJl
Y3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYUNvbnRyb2xzQmFja2dyb3VuZChSZW5k
ZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRlck9iamVjdCos
IGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworICAgIHZp
cnR1YWwgYm9vbCBwYWludE1lZGlhVm9sdW1lU2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVh
bCB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJPYmplY3QqKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVNsaWRlclRodW1iKFJlbmRlck9iamVjdCosIGNvbnN0IFJl
bmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgYm9v
bCBwYWludE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVy
T2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29sIHBh
aW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhTXV0
ZUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKTsKIAotICAgICAgICAvLyBNZW51TGlzdCByZWZlcnMgdG8gYW4gdW5zdHls
ZWQgbWVudWxpc3QgKG1lYW5pbmcgYSBtZW51bGlzdCB3aXRob3V0Ci0gICAgICAgIC8vIGJhY2tn
cm91bmQtY29sb3Igb3IgYm9yZGVyIHNldCkgYW5kIE1lbnVMaXN0QnV0dG9uIHJlZmVycyB0byBh
IHN0eWxlZAotICAgICAgICAvLyBtZW51bGlzdCAoYSBtZW51bGlzdCB3aXRoIGJhY2tncm91bmQt
Y29sb3Igb3IgYm9yZGVyIHNldCkuIFRoZXkgaGF2ZQotICAgICAgICAvLyB0aGlzIGRpc3RpbmN0
aW9uIHRvIHN1cHBvcnQgc2hvd2luZyBhcXVhIHN0eWxlIHRoZW1lcyB3aGVuZXZlciB0aGV5Ci0g
ICAgICAgIC8vIHBvc3NpYmx5IGNhbiwgd2hpY2ggaXMgc29tZXRoaW5nIHdlIGRvbid0IHdhbnQg
dG8gcmVwbGljYXRlLgotICAgICAgICAvLwotICAgICAgICAvLyBJbiBzaG9ydCwgd2UgZWl0aGVy
IGdvIGRvd24gdGhlIE1lbnVMaXN0IGNvZGUgcGF0aCBvciB0aGUgTWVudUxpc3RCdXR0b24KLSAg
ICAgICAgLy8gY29kZXBhdGguIFdlIG5ldmVyIGdvIGRvd24gYm90aC4gQW5kIGluIGJvdGggY2Fz
ZXMsIHRoZXkgcmVuZGVyIHRoZQotICAgICAgICAvLyBlbnRpcmUgbWVudWxpc3QuCi0gICAgICAg
IHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5k
ZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVu
dUxpc3QoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdEJ1dHRvblN0
eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKLSAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgLy8gTWVu
dUxpc3QgcmVmZXJzIHRvIGFuIHVuc3R5bGVkIG1lbnVsaXN0IChtZWFuaW5nIGEgbWVudWxpc3Qg
d2l0aG91dAorICAgIC8vIGJhY2tncm91bmQtY29sb3Igb3IgYm9yZGVyIHNldCkgYW5kIE1lbnVM
aXN0QnV0dG9uIHJlZmVycyB0byBhIHN0eWxlZAorICAgIC8vIG1lbnVsaXN0IChhIG1lbnVsaXN0
IHdpdGggYmFja2dyb3VuZC1jb2xvciBvciBib3JkZXIgc2V0KS4gVGhleSBoYXZlCisgICAgLy8g
dGhpcyBkaXN0aW5jdGlvbiB0byBzdXBwb3J0IHNob3dpbmcgYXF1YSBzdHlsZSB0aGVtZXMgd2hl
bmV2ZXIgdGhleQorICAgIC8vIHBvc3NpYmx5IGNhbiwgd2hpY2ggaXMgc29tZXRoaW5nIHdlIGRv
bid0IHdhbnQgdG8gcmVwbGljYXRlLgorICAgIC8vCisgICAgLy8gSW4gc2hvcnQsIHdlIGVpdGhl
ciBnbyBkb3duIHRoZSBNZW51TGlzdCBjb2RlIHBhdGggb3IgdGhlIE1lbnVMaXN0QnV0dG9uCisg
ICAgLy8gY29kZXBhdGguIFdlIG5ldmVyIGdvIGRvd24gYm90aC4gQW5kIGluIGJvdGggY2FzZXMs
IHRoZXkgcmVuZGVyIHRoZQorICAgIC8vIGVudGlyZSBtZW51bGlzdC4KKyAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0TWVudUxpc3RTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBF
bGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3QoUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7Cisg
ICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rv
ciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWlu
dE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpOwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludFNsaWRl
clRyYWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29u
c3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTbGlkZXJUaHVtYihSZW5k
ZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6
OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAotICAgICAgICAvLyBUaGVzZSBtZXRob2Rz
IGRlZmluZSB0aGUgcGFkZGluZyBmb3IgdGhlIE1lbnVMaXN0J3MgaW5uZXIgYmxvY2suCi0gICAg
ICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQYWRkaW5nTGVmdChSZW5kZXJTdHlsZSopIGNv
bnN0OwotICAgICAgICB2aXJ0dWFsIGludCBwb3B1cEludGVybmFsUGFkZGluZ1JpZ2h0KFJlbmRl
clN0eWxlKikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQYWRkaW5n
VG9wKFJlbmRlclN0eWxlKikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJu
YWxQYWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKikgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBp
bnQgYnV0dG9uSW50ZXJuYWxQYWRkaW5nTGVmdCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGlu
dCBidXR0b25JbnRlcm5hbFBhZGRpbmdSaWdodCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGlu
dCBidXR0b25JbnRlcm5hbFBhZGRpbmdUb3AoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQg
YnV0dG9uSW50ZXJuYWxQYWRkaW5nQm90dG9tKCkgY29uc3Q7CisgICAgLy8gVGhlc2UgbWV0aG9k
cyBkZWZpbmUgdGhlIHBhZGRpbmcgZm9yIHRoZSBNZW51TGlzdCdzIGlubmVyIGJsb2NrLgorICAg
IHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQYWRkaW5nTGVmdChSZW5kZXJTdHlsZSopIGNvbnN0
OworICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQYWRkaW5nUmlnaHQoUmVuZGVyU3R5bGUq
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBwb3B1cEludGVybmFsUGFkZGluZ1RvcChSZW5kZXJT
dHlsZSopIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHBvcHVwSW50ZXJuYWxQYWRkaW5nQm90dG9t
KFJlbmRlclN0eWxlKikgY29uc3Q7CiAKICNpZiBFTkFCTEUoVklERU8pCi0gICAgICAgIC8vIE1l
ZGlhIGNvbnRyb2xzCi0gICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSZW5kZXJNZWRpYUNvbnRy
b2xQYXJ0KENvbnRyb2xQYXJ0LCBFbGVtZW50Kik7CisgICAgLy8gTWVkaWEgY29udHJvbHMKKyAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVuZGVyTWVkaWFDb250cm9sUGFydChDb250cm9sUGFydCwg
RWxlbWVudCopOwogI2VuZGlmCiAKLSAgICAgICAgLy8gUHJvdmlkZSBhIHdheSB0byBwYXNzIHRo
ZSBkZWZhdWx0IGZvbnQgc2l6ZSBmcm9tIHRoZSBTZXR0aW5ncyBvYmplY3QKLSAgICAgICAgLy8g
dG8gdGhlIHJlbmRlciB0aGVtZS4gIEZJWE1FOiBodHRwOi8vYi8xMTI5MTg2IEEgY2xlYW5lciB3
YXkgd291bGQgYmUKLSAgICAgICAgLy8gdG8gcmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBm
cm9tIHRoaXMgb2JqZWN0IGFuZCBoYXZlIGNhbGxlcnMKLSAgICAgICAgLy8gdGhhdCBuZWVkIHRo
ZSB2YWx1ZSB0byBnZXQgaXQgZGlyZWN0bHkgZnJvbSB0aGUgYXBwcm9wcmlhdGUgU2V0dGluZ3MK
LSAgICAgICAgLy8gb2JqZWN0LgotICAgICAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0Rm9udFNp
emUoaW50KTsKKyAgICAvLyBQcm92aWRlIGEgd2F5IHRvIHBhc3MgdGhlIGRlZmF1bHQgZm9udCBz
aXplIGZyb20gdGhlIFNldHRpbmdzIG9iamVjdAorICAgIC8vIHRvIHRoZSByZW5kZXIgdGhlbWUu
ICBGSVhNRTogaHR0cDovL2IvMTEyOTE4NiBBIGNsZWFuZXIgd2F5IHdvdWxkIGJlCisgICAgLy8g
dG8gcmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBmcm9tIHRoaXMgb2JqZWN0IGFuZCBoYXZl
IGNhbGxlcnMKKyAgICAvLyB0aGF0IG5lZWQgdGhlIHZhbHVlIHRvIGdldCBpdCBkaXJlY3RseSBm
cm9tIHRoZSBhcHByb3ByaWF0ZSBTZXR0aW5ncworICAgIC8vIG9iamVjdC4KKyAgICBzdGF0aWMg
dm9pZCBzZXREZWZhdWx0Rm9udFNpemUoaW50KTsKIAotICAgIHByb3RlY3RlZDoKLSAgICAgICAg
c3RhdGljIGNvbnN0IFN0cmluZyYgZGVmYXVsdEdVSUZvbnQoKTsKK3Byb3RlY3RlZDoKKyAgICBz
dGF0aWMgY29uc3QgU3RyaW5nJiBkZWZhdWx0R1VJRm9udCgpOwogCi0gICAgICAgIC8vIFRoZSBk
ZWZhdWx0IHZhcmlhYmxlLXdpZHRoIGZvbnQgc2l6ZS4gIFdlIHVzZSB0aGlzIGFzIHRoZSBkZWZh
dWx0IGZvbnQKLSAgICAgICAgLy8gc2l6ZSBmb3IgdGhlICJzeXN0ZW0gZm9udCIsIGFuZCBhcyBh
IGJhc2Ugc2l6ZSAod2hpY2ggd2UgdGhlbiBzaHJpbmspIGZvcgotICAgICAgICAvLyBmb3JtIGNv
bnRyb2wgZm9udHMuCi0gICAgICAgIHN0YXRpYyBmbG9hdCBkZWZhdWx0Rm9udFNpemU7CisgICAg
Ly8gVGhlIGRlZmF1bHQgdmFyaWFibGUtd2lkdGggZm9udCBzaXplLiAgV2UgdXNlIHRoaXMgYXMg
dGhlIGRlZmF1bHQgZm9udAorICAgIC8vIHNpemUgZm9yIHRoZSAic3lzdGVtIGZvbnQiLCBhbmQg
YXMgYSBiYXNlIHNpemUgKHdoaWNoIHdlIHRoZW4gc2hyaW5rKSBmb3IKKyAgICAvLyBmb3JtIGNv
bnRyb2wgZm9udHMuCisgICAgc3RhdGljIGZsb2F0IGRlZmF1bHRGb250U2l6ZTsKIAotICAgICAg
ICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWxJbnRlcm5hbCgpIGNvbnN0OworICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbEludGVybmFsKCkgY29uc3Q7CiAKLSAg
ICBwcml2YXRlOgotICAgICAgICBpbnQgbWVudUxpc3RJbnRlcm5hbFBhZGRpbmcoUmVuZGVyU3R5
bGUqLCBpbnQgcGFkZGluZ1R5cGUpIGNvbnN0OwotICAgICAgICBib29sIHBhaW50TWVkaWFCdXR0
b25JbnRlcm5hbChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiwgSW1hZ2UqKTsKLSAg
ICB9OworcHJpdmF0ZToKKyAgICBpbnQgbWVudUxpc3RJbnRlcm5hbFBhZGRpbmcoUmVuZGVyU3R5
bGUqLCBpbnQgcGFkZGluZ1R5cGUpIGNvbnN0OworICAgIGJvb2wgcGFpbnRNZWRpYUJ1dHRvbklu
dGVybmFsKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmLCBJbWFnZSopOworfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCg==
</data>
<flag name="review"
          id="31977"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>