<?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>52341</bug_id>
          
          <creation_ts>2011-01-12 17:35:24 -0800</creation_ts>
          <short_desc>fast/canvas/canvas-large-dimensions.html (introduced in r75648) is failing on all platforms except Snow Leopard</short_desc>
          <delta_ts>2011-04-07 10:11:22 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Schuh">jschuh</reporter>
          <assigned_to name="Matthew Delaney">mdelaney7</assigned_to>
          <cc>adele</cc>
    
    <cc>alp</cc>
    
    <cc>cmarrin</cc>
    
    <cc>enne</cc>
    
    <cc>hayato</cc>
    
    <cc>jamesr</cc>
    
    <cc>jschuh</cc>
    
    <cc>kbr</cc>
    
    <cc>kling</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>ossy</cc>
    
    <cc>reed</cc>
    
    <cc>rniwa</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>twiz</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>333455</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-01-12 17:35:24 -0800</bug_when>
    <thetext>I don&apos;t know exactly what change, but this seems like the culprit: http://trac.webkit.org/changeset/75639

Snow Leopard appears to be the only platform that&apos;s passing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333527</commentid>
    <comment_count>1</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-01-12 21:07:53 -0800</bug_when>
    <thetext>We disabled this test for chromium and chromium-gpu:

https://trac.webkit.org/changeset/75666
https://trac.webkit.org/changeset/75678</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333530</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-12 21:24:23 -0800</bug_when>
    <thetext>The test was added in http://trac.webkit.org/changeset/75648.  It can&apos;t possibly be failing on r75639.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333532</commentid>
    <comment_count>3</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-01-12 21:29:17 -0800</bug_when>
    <thetext>You are right. The comments in the test_expectations files are wrong.
r57648 is correct.

(In reply to comment #2)
&gt; The test was added in http://trac.webkit.org/changeset/75648.  It can&apos;t possibly be failing on r75639.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333533</commentid>
    <comment_count>4</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2011-01-12 21:30:21 -0800</bug_when>
    <thetext>s/r57648/r75648/.

(In reply to comment #3)
&gt; You are right. The comments in the test_expectations files are wrong.
&gt; r57648 is correct.
&gt; 
&gt; (In reply to comment #2)
&gt; &gt; The test was added in http://trac.webkit.org/changeset/75648.  It can&apos;t possibly be failing on r75639.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333534</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-12 21:30:32 -0800</bug_when>
    <thetext>Regression is P1.  Currently, this is the only test failing on GTK 64-bit debug, GTK 32-bit release, Leopard Intel Release, and Leopard Intel Debug and this bug needs to be fixed ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333537</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-01-12 21:38:36 -0800</bug_when>
    <thetext>Oops, thanks for fixing the typo in the summary, Simon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333665</commentid>
    <comment_count>7</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2011-01-13 06:53:04 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; The test was added in http://trac.webkit.org/changeset/75648.  It can&apos;t possibly be failing on r75639.

Apologies for the confusion. I was in a hurry and must have grabbed the wrong version number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333809</commentid>
    <comment_count>8</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-01-13 11:09:07 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #2)
&gt; &gt; The test was added in http://trac.webkit.org/changeset/75648.  It can&apos;t possibly be failing on r75639.
&gt; 
&gt; Apologies for the confusion. I was in a hurry and must have grabbed the wrong version number.

Skia has a hard limit in each dimension right now, I think it&apos;s 32K, to avoid overflow inside skia.  I think wjmaclean implemented it.  I don&apos;t think we can pass this test as-written, since 100K is too big.

reed@ just told me that there&apos;s a #define to allow larger bitmaps inside skia, but I don&apos;t know if this applies to canvases too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333866</commentid>
    <comment_count>9</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-13 12:11:46 -0800</bug_when>
    <thetext>The two checks inside the test for making a canvas of width 100k and 1000k are what fails on all the other platforms. I&apos;m going to remove those from the test and add in one that is ~32k that all the platforms should be able to handle. Then we (still) have a test that stresses absurdly large sized canvases but makes sense for all platforms. As a follow up, I&apos;ll create a bugzilla to track the discussion of sizes larger than this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333882</commentid>
    <comment_count>10</comment_count>
      <attachid>78841</attachid>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-13 12:34:14 -0800</bug_when>
    <thetext>Created attachment 78841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333887</commentid>
    <comment_count>11</comment_count>
      <attachid>78841</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-13 12:36:15 -0800</bug_when>
    <thetext>Comment on attachment 78841
Patch

Looks good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333891</commentid>
    <comment_count>12</comment_count>
    <who name="Matthew Delaney">mdelaney7</who>
    <bug_when>2011-01-13 12:40:09 -0800</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/75732&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378873</commentid>
    <comment_count>13</comment_count>
      <attachid>88078</attachid>
    <who name="Jeff Timanus">twiz</who>
    <bug_when>2011-04-04 10:46:27 -0700</bug_when>
    <thetext>Created attachment 88078
Addition of support for falling back to software rendering when creating a canvas that is too large for the GPU device.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378892</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-04 11:07:16 -0700</bug_when>
    <thetext>Attachment 88078 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1

Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:142:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 1 in 8 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>378893</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-04 11:11:23 -0700</bug_when>
    <thetext>Please post this patch on a new, separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378894</commentid>
    <comment_count>16</comment_count>
      <attachid>88078</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-04 11:12:05 -0700</bug_when>
    <thetext>Comment on attachment 88078
Addition of support for falling back to software rendering when creating a canvas that is too large for the GPU device.

Not valid for this bug (please file another one for the chromium-specific issue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381448</commentid>
    <comment_count>17</comment_count>
      <attachid>88655</attachid>
    <who name="Jeff Timanus">twiz</who>
    <bug_when>2011-04-07 10:10:23 -0700</bug_when>
    <thetext>Created attachment 88655
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78841</attachid>
            <date>2011-01-13 12:34:14 -0800</date>
            <delta_ts>2011-01-13 12:36:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52341-20110113123412.patch</filename>
            <type>text/plain</type>
            <size>2702</size>
            <attacher name="Matthew Delaney">mdelaney7</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDc1NzMxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDEtMTMgIE1hdHRoZXcgRGVsYW5leSAg
PG1kZWxhbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBmYXN0L2NhbnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9ucy5odG1sIChp
bnRyb2R1Y2VkIGluIHI3NTY0OCkgaXMgZmFpbGluZyBvbiBhbGwgcGxhdGZvcm1zIGV4Y2VwdCBT
bm93IExlb3BhcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUyMzQxCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9u
cy1leHBlY3RlZC50eHQ6IFJlcGxhY2VkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1s
YXJnZS1kaW1lbnNpb25zLmh0bWw6CisKIDIwMTEtMDEtMTMgIEp1c3RpbiBTY2h1aCAgPGpzY2h1
aEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBjaHJvbWl1bSBleHBlY3RhdGlv
bnMgdXBkYXRlLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWxhcmdlLWRp
bWVuc2lvbnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL2NhbnZhcy1sYXJnZS1kaW1lbnNpb25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzU2NDgp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9ucy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEwLDE3ICsxMCw3IEBAIFBBU1MgQWN0dWFsOiAy
NTUgRXhwZWN0ZWQ6IDI1NQogUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1CiBQQVNTIEFj
dHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKIFBBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQot
UEFTUyBoZWlnaHQgPT0gMTAwMDAwCi1QQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKLVBB
U1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQotUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDog
MjU1Ci1QQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKLVBBU1MgaGVpZ2h0ID09IDEwMDAw
MDAKLVBBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQotUEFTUyBBY3R1YWw6IDI1NSBFeHBl
Y3RlZDogMjU1Ci1QQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKLVBBU1MgQWN0dWFsOiAy
NTUgRXhwZWN0ZWQ6IDI1NQotUEFTUyB3aWR0aCA9PSAxMDAKK1BBU1MgaGVpZ2h0ID09IDMyMDAw
CiBQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKIFBBU1MgQWN0dWFsOiAyNTUgRXhwZWN0
ZWQ6IDI1NQogUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1CkBAIC0zNSwxMiArMjUsNyBA
QCBQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKIFBBU1MgQWN0dWFsOiAyNTUgRXhwZWN0
ZWQ6IDI1NQogUEFTUyBBY3R1YWw6IDI1NSBFeHBlY3RlZDogMjU1CiBQQVNTIEFjdHVhbDogMjU1
IEV4cGVjdGVkOiAyNTUKLVBBU1Mgd2lkdGggPT0gMTAwMDAwCi1QQVNTIEFjdHVhbDogMjU1IEV4
cGVjdGVkOiAyNTUKLVBBU1MgQWN0dWFsOiAyNTUgRXhwZWN0ZWQ6IDI1NQotUEFTUyBBY3R1YWw6
IDI1NSBFeHBlY3RlZDogMjU1Ci1QQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKLVBBU1Mg
d2lkdGggPT0gMTAwMDAwMAorUEFTUyB3aWR0aCA9PSAzMjAwMAogUEFTUyBBY3R1YWw6IDI1NSBF
eHBlY3RlZDogMjU1CiBQQVNTIEFjdHVhbDogMjU1IEV4cGVjdGVkOiAyNTUKIFBBU1MgQWN0dWFs
OiAyNTUgRXhwZWN0ZWQ6IDI1NQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFz
LWxhcmdlLWRpbWVuc2lvbnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy9jYW52YXMtbGFyZ2UtZGltZW5zaW9ucy5odG1sCShyZXZpc2lvbiA3NTY0OCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1sYXJnZS1kaW1lbnNpb25zLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTExLDE0ICsxMSwxMSBAQCB2YXIgeCwgeSwgdz0xLCBoPTE7CiAKIHRlc3RI
ZWlnaHQoY2FudmFzLCAxMDAwKTsKIHRlc3RIZWlnaHQoY2FudmFzLCAxMDAwMCk7Ci10ZXN0SGVp
Z2h0KGNhbnZhcywgMTAwMDAwKTsKLXRlc3RIZWlnaHQoY2FudmFzLCAxMDAwMDAwKTsKK3Rlc3RI
ZWlnaHQoY2FudmFzLCAzMjAwMCk7CiAKLXRlc3RXaWR0aChjYW52YXMsIDEwMCk7CiB0ZXN0V2lk
dGgoY2FudmFzLCAxMDAwKTsKIHRlc3RXaWR0aChjYW52YXMsIDEwMDAwKTsKLXRlc3RXaWR0aChj
YW52YXMsIDEwMDAwMCk7Ci10ZXN0V2lkdGgoY2FudmFzLCAxMDAwMDAwKTsKK3Rlc3RXaWR0aChj
YW52YXMsIDMyMDAwKTsKIAogZnVuY3Rpb24gdGVzdEhlaWdodChjYW52YXMsIGhlaWdodCkgewog
ICAgIGNhbnZhcy53aWR0aCA9IDUwOwo=
</data>
<flag name="review"
          id="70210"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88078</attachid>
            <date>2011-04-04 10:46:27 -0700</date>
            <delta_ts>2011-04-07 10:10:18 -0700</delta_ts>
            <desc>Addition of support for falling back to software rendering when creating a canvas that is too large for the GPU device.</desc>
            <filename>canvas_large_patch.diff</filename>
            <type>text/plain</type>
            <size>9788</size>
            <attacher name="Jeff Timanus">twiz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyNzM1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMDEgIHR3aXpAY2hy
b21pdW0ub3JnICA8dHdpekBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU3ludGhlc2l6ZSBhIEdMIGVycm9yIHdoZW4gcmVxdWVz
dGluZyBhIHRleHR1cmUgdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGUKKyAgICAgICAgc3VwcG9ydGVk
IG1heGltdW0gZGltZW5zaW9ucyBvZiB0aGUgaG9zdGluZyBHTCBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgQWxzbywgZW5zdXJlIHRoYXQgdGhlIGFjY2VsZXJhdGVkIGNhbnZhcyBwYXRoIG5ldmVy
IHVzZXMgYW4gaW52YWxpZAorICAgICAgICBEcmF3aW5nQnVmZmVyLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIzNDEKKworICAgICAgICBUZXN0czog
ZmFzdC9jYW52YXMvY2FudmFzLWxhcmdlLWRpbWVuc2lvbnMuaHRtbAorCisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6cmVzZXQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpnZW5lcmF0ZUNvbG9yVGV4dHVyZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RHJhd2luZ0J1ZmZlcjo6cmVzZXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9E
cmF3aW5nQnVmZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjppc1ZhbGlk
KToKKwogMjAxMS0wNC0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNp
b24gODI3MDYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNyArMTMzLDEzIEBAIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW4KICAgICAgICAgbV9jb250ZXh0M0QgPSBw
LT5zaGFyZWRHcmFwaGljc0NvbnRleHQzRCgpOwogICAgICAgICBpZiAobV9jb250ZXh0M0QpIHsK
ICAgICAgICAgICAgIG1fZHJhd2luZ0J1ZmZlciA9IG1fY29udGV4dDNELT5ncmFwaGljc0NvbnRl
eHQzRCgpLT5jcmVhdGVEcmF3aW5nQnVmZmVyKEludFNpemUoY2FudmFzLT53aWR0aCgpLCBjYW52
YXMtPmhlaWdodCgpKSk7Ci0gICAgICAgICAgICBjLT5zZXRTaGFyZWRHcmFwaGljc0NvbnRleHQz
RChtX2NvbnRleHQzRC5nZXQoKSwgbV9kcmF3aW5nQnVmZmVyLmdldCgpLCBJbnRTaXplKGNhbnZh
cy0+d2lkdGgoKSwgY2FudmFzLT5oZWlnaHQoKSkpOworICAgICAgICAgICAgaWYgKCFtX2RyYXdp
bmdCdWZmZXItPmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgIGMtPnNldFNoYXJlZEdyYXBo
aWNzQ29udGV4dDNEKDAsIDAsIEludFNpemUoKSk7CisgICAgICAgICAgICAgICAgbV9kcmF3aW5n
QnVmZmVyLmNsZWFyKCk7CisgICAgICAgICAgICAgICAgbV9jb250ZXh0M0QuY2xlYXIoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYy0+c2V0U2hhcmVkR3JhcGhpY3ND
b250ZXh0M0QobV9jb250ZXh0M0QuZ2V0KCksIG1fZHJhd2luZ0J1ZmZlci5nZXQoKSwgSW50U2l6
ZShjYW52YXMtPndpZHRoKCksIGNhbnZhcy0+aGVpZ2h0KCkpKTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgIH0KICNlbmRpZgpAQCAtMTczLDEyICsxNzksMTggQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OnJlc2V0KCkKICAgICBpZiAoR3JhcGhpY3NDb250ZXh0KiBjID0g
ZHJhd2luZ0NvbnRleHQoKSkgewogICAgICAgICBpZiAobV9jb250ZXh0M0QgJiYgbV9kcmF3aW5n
QnVmZmVyKSB7CiAgICAgICAgICAgICBtX2RyYXdpbmdCdWZmZXItPnJlc2V0KEludFNpemUoY2Fu
dmFzKCktPndpZHRoKCksIGNhbnZhcygpLT5oZWlnaHQoKSkpOwotICAgICAgICAgICAgYy0+c2V0
U2hhcmVkR3JhcGhpY3NDb250ZXh0M0QobV9jb250ZXh0M0QuZ2V0KCksIG1fZHJhd2luZ0J1ZmZl
ci5nZXQoKSwgSW50U2l6ZShjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCktPmhlaWdodCgpKSk7
CisgICAgICAgICAgICBpZiAobV9kcmF3aW5nQnVmZmVyLT5pc1ZhbGlkKCkpIHsKKyAgICAgICAg
ICAgICAgICBjLT5zZXRTaGFyZWRHcmFwaGljc0NvbnRleHQzRChtX2NvbnRleHQzRC5nZXQoKSwg
bV9kcmF3aW5nQnVmZmVyLmdldCgpLCBJbnRTaXplKGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMo
KS0+aGVpZ2h0KCkpKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgICAg
ICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IGNhbnZhcygpLT5yZW5kZXJCb3goKTsKLSAgICAg
ICAgICAgIGlmIChyZW5kZXJCb3ggJiYgcmVuZGVyQm94LT5oYXNMYXllcigpICYmIHJlbmRlckJv
eC0+bGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpKQotICAgICAgICAgICAgICAg
IHJlbmRlckJveC0+bGF5ZXIoKS0+Y29udGVudENoYW5nZWQoUmVuZGVyTGF5ZXI6OkNhbnZhc0No
YW5nZWQpOworICAgICAgICAgICAgICAgIFJlbmRlckJveCogcmVuZGVyQm94ID0gY2FudmFzKCkt
PnJlbmRlckJveCgpOworICAgICAgICAgICAgICAgIGlmIChyZW5kZXJCb3ggJiYgcmVuZGVyQm94
LT5oYXNMYXllcigpICYmIHJlbmRlckJveC0+bGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRDb21wb3Np
dGluZygpKQorICAgICAgICAgICAgICAgICAgICByZW5kZXJCb3gtPmxheWVyKCktPmNvbnRlbnRD
aGFuZ2VkKFJlbmRlckxheWVyOjpDYW52YXNDaGFuZ2VkKTsKICNlbmRpZgorICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjLT5zZXRTaGFyZWRHcmFwaGljc0NvbnRleHQzRCgw
LCAwLCBJbnRTaXplKCkpOworICAgICAgICAgICAgICAgIG1fZHJhd2luZ0J1ZmZlci5jbGVhcigp
OworICAgICAgICAgICAgICAgIG1fY29udGV4dDNELmNsZWFyKCk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICB9CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJhd2luZ0J1ZmZlckNo
cm9taXVtLmNwcAkocmV2aXNpb24gODI3MDYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02NCw3ICs2NCwxMCBAQCBzdGF0aWMgdW5zaWduZWQgZ2VuZXJhdGVDb2xvclRleHR1cmUo
R3JhCiAgICAgY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVS
RV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfTUlOX0ZJTFRFUiwgR3JhcGhpY3NDb250
ZXh0M0Q6Ok5FQVJFU1QpOwogICAgIGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3NDb250
ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX1dSQVBfUywgR3Jh
cGhpY3NDb250ZXh0M0Q6OkNMQU1QX1RPX0VER0UpOwogICAgIGNvbnRleHQtPnRleFBhcmFtZXRl
cmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhU
VVJFX1dSQVBfVCwgR3JhcGhpY3NDb250ZXh0M0Q6OkNMQU1QX1RPX0VER0UpOwotICAgIGNvbnRl
eHQtPnRleEltYWdlMkRSZXNvdXJjZVNhZmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQs
IDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCks
IDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURf
QllURSk7CisgICAgaWYgKCFjb250ZXh0LT50ZXhJbWFnZTJEUmVzb3VyY2VTYWZlKEdyYXBoaWNz
Q29udGV4dDNEOjpURVhUVVJFXzJELCAwLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSwgc2l6ZS53
aWR0aCgpLCBzaXplLmhlaWdodCgpLCAwLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSwgR3JhcGhp
Y3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUpKSB7CisgICAgICAgIGNvbnRleHQtPmRlbGV0ZVRl
eHR1cmUob2Zmc2NyZWVuQ29sb3JUZXh0dXJlKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQog
ICAgIGNvbnRleHQtPmZyYW1lYnVmZmVyVGV4dHVyZTJEKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFN
RUJVRkZFUiwgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1FTlQwLCBHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV8yRCwgb2Zmc2NyZWVuQ29sb3JUZXh0dXJlLCAwKTsKIAogICAgIHJl
dHVybiBvZmZzY3JlZW5Db2xvclRleHR1cmU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwCShyZXZpc2lvbiA4
MjcwNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVm
ZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkwLDcgKzE5MCwxMCBAQCB2b2lkIERyYXdpbmdC
dWZmZXI6OnJlc2V0KGNvbnN0IEludFNpemUmCiAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZm
ZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX2Zibyk7CiAKICAgICBtX2NvbnRl
eHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBtX2NvbG9yQnVm
ZmVyKTsKLSAgICBtX2NvbnRleHQtPnRleEltYWdlMkRSZXNvdXJjZVNhZmUoR3JhcGhpY3NDb250
ZXh0M0Q6OlRFWFRVUkVfMkQsIDAsIGludGVybmFsQ29sb3JGb3JtYXQsIG1fc2l6ZS53aWR0aCgp
LCBtX3NpemUuaGVpZ2h0KCksIDAsIGNvbG9yRm9ybWF0LCBHcmFwaGljc0NvbnRleHQzRDo6VU5T
SUdORURfQllURSk7CisgICAgaWYgKCFtX2NvbnRleHQtPnRleEltYWdlMkRSZXNvdXJjZVNhZmUo
R3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIDAsIGludGVybmFsQ29sb3JGb3JtYXQsIG1f
c2l6ZS53aWR0aCgpLCBtX3NpemUuaGVpZ2h0KCksIDAsIGNvbG9yRm9ybWF0LCBHcmFwaGljc0Nv
bnRleHQzRDo6VU5TSUdORURfQllURSkpIHsKKyAgICAgICAgY2xlYXIoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KICAgICBtX2NvbnRleHQtPmZyYW1lYnVmZmVyVGV4dHVyZTJEKEdyYXBoaWNz
Q29udGV4dDNEOjpGUkFNRUJVRkZFUiwgR3JhcGhpY3NDb250ZXh0M0Q6OkNPTE9SX0FUVEFDSE1F
TlQwLCBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgbV9jb2xvckJ1ZmZlciwgMCk7CiAg
ICAgbV9jb250ZXh0LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwg
MCk7CiAgICAgaWYgKCFtdWx0aXNhbXBsZSgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCShyZXZpc2lvbiA4Mjcw
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDggQEAgcHVibGljOgogICAgIEludFNpemUg
c2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogICAgIFBsYXRmb3JtM0RPYmplY3QgY29s
b3JCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbG9yQnVmZmVyOyB9CiAKKyAgICBib29sIGlz
VmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHQ7IH0KKwogICAgIC8vIENsZWFyIGFsbCBy
ZXNvdXJjZXMgZnJvbSB0aGlzIG9iamVjdCwgYXMgd2VsbCBhcyBjb250ZXh0LiBDYWxsZWQgd2hl
biBjb250ZXh0IGlzIGRlc3Ryb3llZAogICAgIC8vIHRvIHByZXZlbnQgaW52YWxpZCBhY2Nlc3Nl
cyB0byB0aGUgcmVzb3VyY2VzLgogICAgIHZvaWQgY2xlYXIoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjczNSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMDEgIEpl
ZmYgVGltYW51cyAgPHR3aXpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFN5bnRoZXNpemUgYSBHTCBlcnJvciB3aGVuIHJlcXVl
c3RpbmcgYSB0ZXh0dXJlIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlCisgICAgICAgIHN1cHBvcnRl
ZCBtYXhpbXVtIGRpbWVuc2lvbnMgb2YgdGhlIGhvc3RpbmcgR0wgaW1wbGVtZW50YXRpb24uCisg
ICAgICAgIEFsc28sIGVuc3VyZSB0aGF0IHRoZSBhY2NlbGVyYXRlZCBjYW52YXMgcGF0aCBuZXZl
ciB1c2VzIGFuIGludmFsaWQKKyAgICAgICAgRHJhd2luZ0J1ZmZlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyMzQxCisKKyAgICAgICAgVGVzdHM6
IGZhc3QvY2FudmFzL2NhbnZhcy1sYXJnZS1kaW1lbnNpb25zLmh0bWwKKworICAgICAgICAqIHNy
Yy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNESW50ZXJuYWw6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6aW5pdGlhbGl6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjp0ZXhJbWFnZTJEKToKKyAg
ICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oOgorCiAyMDExLTAzLTMwICBQ
YXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9H
cmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAkocmV2aXNpb24gODI3
MDYpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9t
aXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsNyBAQCBHcmFwaGljc0NvbnRleHQz
REludGVybmFsOjpHcmFwaGljc0NvbnRlCiAgICAgOiBtX3dlYlZpZXdJbXBsKDApCiAgICAgLCBt
X2luaXRpYWxpemVkQXZhaWxhYmxlRXh0ZW5zaW9ucyhmYWxzZSkKICAgICAsIG1fbGF5ZXJDb21w
b3NpdGVkKGZhbHNlKQorICAgICwgbV9tYXhUZXh0dXJlU2l6ZSgwKQogI2lmIFVTRShTS0lBKQog
I2VsaWYgUExBVEZPUk0oQ0cpCiAgICAgLCBtX3JlbmRlck91dHB1dCgwKQpAQCAtMTI5LDYgKzEz
MCw4IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6aW5pdGlhbGkKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgbV9jb21wb3NpdGluZ0xheWVyID0gV2ViR0xM
YXllckNocm9taXVtOjpjcmVhdGUoMCk7CiAjZW5kaWYKKworICAgIG1faW1wbC0+Z2V0SW50ZWdl
cnYoR3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9URVhUVVJFX1NJWkUsICZtX21heFRleHR1cmVTaXpl
KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtNjEyLDYgKzYxNSwxMCBAQCBERUxFR0FURV9U
T19JTVBMXzQoc3RlbmNpbE9wU2VwYXJhdGUsIEdDCiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0M0RJ
bnRlcm5hbDo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rl
bnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdD
M0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQq
IHBpeGVscykKIHsKKyAgICBpZiAod2lkdGggPiBtX21heFRleHR1cmVTaXplIHx8IGhlaWdodCA+
IG1fbWF4VGV4dHVyZVNpemUpIHsKKyAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAgICAg
bV9pbXBsLT50ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwg
aGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNESW50
ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGlj
c0NvbnRleHQzREludGVybmFsLmgJKHJldmlzaW9uIDgyNzA2KQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNzksNiArMjc5LDcgQEAgcHJpdmF0ZToKICAgICBIYXNoU2V0PFN0cmluZz4gbV9lbmFibGVk
RXh0ZW5zaW9uczsKICAgICBIYXNoU2V0PFN0cmluZz4gbV9yZXF1ZXN0YWJsZUV4dGVuc2lvbnM7
CiAgICAgYm9vbCBtX2xheWVyQ29tcG9zaXRlZDsKKyAgICBHQzNEaW50IG1fbWF4VGV4dHVyZVNp
emU7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIFJlZlB0cjxXZWJHTExh
eWVyQ2hyb21pdW0+IG1fY29tcG9zaXRpbmdMYXllcjsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88655</attachid>
            <date>2011-04-07 10:10:23 -0700</date>
            <delta_ts>2011-04-07 10:11:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52341-20110407130808.patch</filename>
            <type>text/plain</type>
            <size>14414</size>
            <attacher name="Jeff Timanus">twiz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzMTMwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMDYgIEplZmYgVGlt
YW51cyAgPHR3aXpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZhbGwgYmFjayB0byBzb2Z0d2FyZSByZW5kZXJpbmcgZm9yIENh
bnZhczJEIHdoZW4gcmVxdWVzdGluZyBhIERyYXdpbmdCdWZmZXIgbGFyZ2VyIHRoYW4gc3VwcG9y
dGVkIGJ5IHRoZSBHTCBlbnZpcm9ubWVudC4KKyAgICAgICAgQWxzbywgcmVzcGVjdCB0aGUgY29u
dHJhY3QgcHJvdmlkZWQgYnkgZXh0ZW5zaW9uICJHTF9DSFJPTUlVTV9yZXNvdXJjZV9zYWZlIiB3
aGVuIHJlcXVlc3RpbmcgdGV4dHVyZXMgZm9yIEZCT3MgZm9yIERyYXdpbmdCdWZmZXIgaW5zdGFu
Y2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIz
NDEKKworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OnJlc2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQz
RC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dGV4SW1hZ2UyRFJl
c291cmNlU2FmZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dGV4SW1h
Z2UyRFJlc291cmNlU2FmZU5vQ2xlYXIpOgorICAgICAgICBBIG5ldyB0ZXhJbWFnZTJEIGhlbHBl
ciB3YXMgYWRkZWQgdGhhdCBwZXJmb3JtcyB0aGUgc2FtZSBjaGVja3MgYXMgdGV4SW1hZ2UyRFJl
c291cmNlU2FmZSwgYnV0IGRvZXMgbm90IGluaXRpYWxpemUgdGhlIHRleHR1cmUgZGF0YSB0byAw
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6cmVzZXQpOgorICAgICAgICByZXNldCBub3cgcmV0dXJu
cyBmYWxzZSBpZiB0aGUgcmVzaXplIGZhaWxlZCwgYW5kIGxlYXZlcyB0aGUgRHJhd2luZ0J1ZmZl
ciBpbiBhIGNsZWFyZWQgc3RhdGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0Ry
YXdpbmdCdWZmZXIuaDoKKwogMjAxMS0wNC0wNiAgU3RlcGhhbmllIExld2lzICA8c2xld2lzQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAkocmV2aXNpb24gODI3MDYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNyArMTMz
LDExIEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Q2FudmFzUmVuZGVyaW4KICAgICAgICAg
bV9jb250ZXh0M0QgPSBwLT5zaGFyZWRHcmFwaGljc0NvbnRleHQzRCgpOwogICAgICAgICBpZiAo
bV9jb250ZXh0M0QpIHsKICAgICAgICAgICAgIG1fZHJhd2luZ0J1ZmZlciA9IG1fY29udGV4dDNE
LT5ncmFwaGljc0NvbnRleHQzRCgpLT5jcmVhdGVEcmF3aW5nQnVmZmVyKEludFNpemUoY2FudmFz
LT53aWR0aCgpLCBjYW52YXMtPmhlaWdodCgpKSk7Ci0gICAgICAgICAgICBjLT5zZXRTaGFyZWRH
cmFwaGljc0NvbnRleHQzRChtX2NvbnRleHQzRC5nZXQoKSwgbV9kcmF3aW5nQnVmZmVyLmdldCgp
LCBJbnRTaXplKGNhbnZhcy0+d2lkdGgoKSwgY2FudmFzLT5oZWlnaHQoKSkpOworICAgICAgICAg
ICAgaWYgKCFtX2RyYXdpbmdCdWZmZXIpIHsKKyAgICAgICAgICAgICAgICBjLT5zZXRTaGFyZWRH
cmFwaGljc0NvbnRleHQzRCgwLCAwLCBJbnRTaXplKCkpOworICAgICAgICAgICAgICAgIG1fY29u
dGV4dDNELmNsZWFyKCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBjLT5z
ZXRTaGFyZWRHcmFwaGljc0NvbnRleHQzRChtX2NvbnRleHQzRC5nZXQoKSwgbV9kcmF3aW5nQnVm
ZmVyLmdldCgpLCBJbnRTaXplKGNhbnZhcy0+d2lkdGgoKSwgY2FudmFzLT5oZWlnaHQoKSkpOwog
ICAgICAgICB9CiAgICAgfQogI2VuZGlmCkBAIC0xNzIsMTMgKzE3NiwxOCBAQCB2b2lkIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6cmVzZXQoKQogI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpCiAgICAgaWYgKEdyYXBoaWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCkpIHsK
ICAgICAgICAgaWYgKG1fY29udGV4dDNEICYmIG1fZHJhd2luZ0J1ZmZlcikgewotICAgICAgICAg
ICAgbV9kcmF3aW5nQnVmZmVyLT5yZXNldChJbnRTaXplKGNhbnZhcygpLT53aWR0aCgpLCBjYW52
YXMoKS0+aGVpZ2h0KCkpKTsKLSAgICAgICAgICAgIGMtPnNldFNoYXJlZEdyYXBoaWNzQ29udGV4
dDNEKG1fY29udGV4dDNELmdldCgpLCBtX2RyYXdpbmdCdWZmZXIuZ2V0KCksIEludFNpemUoY2Fu
dmFzKCktPndpZHRoKCksIGNhbnZhcygpLT5oZWlnaHQoKSkpOworICAgICAgICAgICAgaWYgKG1f
ZHJhd2luZ0J1ZmZlci0+cmVzZXQoSW50U2l6ZShjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCkt
PmhlaWdodCgpKSkpIHsKKyAgICAgICAgICAgICAgICBjLT5zZXRTaGFyZWRHcmFwaGljc0NvbnRl
eHQzRChtX2NvbnRleHQzRC5nZXQoKSwgbV9kcmF3aW5nQnVmZmVyLmdldCgpLCBJbnRTaXplKGNh
bnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+aGVpZ2h0KCkpKTsKICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCi0gICAgICAgICAgICBSZW5kZXJCb3gqIHJlbmRlckJveCA9IGNhbnZh
cygpLT5yZW5kZXJCb3goKTsKLSAgICAgICAgICAgIGlmIChyZW5kZXJCb3ggJiYgcmVuZGVyQm94
LT5oYXNMYXllcigpICYmIHJlbmRlckJveC0+bGF5ZXIoKS0+aGFzQWNjZWxlcmF0ZWRDb21wb3Np
dGluZygpKQotICAgICAgICAgICAgICAgIHJlbmRlckJveC0+bGF5ZXIoKS0+Y29udGVudENoYW5n
ZWQoUmVuZGVyTGF5ZXI6OkNhbnZhc0NoYW5nZWQpOworICAgICAgICAgICAgICAgIFJlbmRlckJv
eCogcmVuZGVyQm94ID0gY2FudmFzKCktPnJlbmRlckJveCgpOworICAgICAgICAgICAgICAgIGlm
IChyZW5kZXJCb3ggJiYgcmVuZGVyQm94LT5oYXNMYXllcigpICYmIHJlbmRlckJveC0+bGF5ZXIo
KS0+aGFzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpKQorICAgICAgICAgICAgICAgICAgICByZW5k
ZXJCb3gtPmxheWVyKCktPmNvbnRlbnRDaGFuZ2VkKFJlbmRlckxheWVyOjpDYW52YXNDaGFuZ2Vk
KTsKICNlbmRpZgorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjLT5zZXRT
aGFyZWRHcmFwaGljc0NvbnRleHQzRCgwLCAwLCBJbnRTaXplKCkpOworICAgICAgICAgICAgICAg
IG1fZHJhd2luZ0J1ZmZlci5jbGVhcigpOworICAgICAgICAgICAgICAgIG1fY29udGV4dDNELmNs
ZWFyKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5jcHAJKHJldmlzaW9uIDgyNzA2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxNSArNDQs
MzYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogCi0gICAgdWludDhfdCBj
b252ZXJ0Q29sb3IxNkxpdHRsZVRvOCh1aW50MTZfdCB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiB2YWx1ZSA+PiA4OwotICAgIH0KK3VpbnQ4X3QgY29udmVydENvbG9yMTZMaXR0bGVUbzgo
dWludDE2X3QgdmFsdWUpCit7CisgICAgcmV0dXJuIHZhbHVlID4+IDg7Cit9CisKK3VpbnQ4X3Qg
Y29udmVydENvbG9yMTZCaWdUbzgodWludDE2X3QgdmFsdWUpCit7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVpbnQ4X3Q+KHZhbHVlICYgMHgwMEZGKTsKK30KKworR0MzRGVudW0gYWxsb2NhdGVU
ZXhJbWFnZTJEQnVmZmVyKE93bkFycmF5UHRyPHVuc2lnbmVkIGNoYXI+KiBidWZmZXIsIHVuc2ln
bmVkIGludCogc2l6ZSwgR3JhcGhpY3NDb250ZXh0M0QqIGdyYXBoaWNzQ29udGV4dCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBo
ZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgR0MzRGludCB1bnBhY2tBbGln
bm1lbnQpCit7CisgICAgQVNTRVJUKHVucGFja0FsaWdubWVudCA9PSAxIHx8IHVucGFja0FsaWdu
bWVudCA9PSAyIHx8IHVucGFja0FsaWdubWVudCA9PSA0IHx8IHVucGFja0FsaWdubWVudCA9PSA4
KTsKKyAgICAqc2l6ZSA9IDA7CisgICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7Cisg
ICAgICAgIEdDM0RlbnVtIGVycm9yID0gZ3JhcGhpY3NDb250ZXh0LT5jb21wdXRlSW1hZ2VTaXpl
SW5CeXRlcyhmb3JtYXQsIHR5cGUsIHdpZHRoLCBoZWlnaHQsIHVucGFja0FsaWdubWVudCwgc2l6
ZSwgMCk7CisgICAgICAgIGlmIChlcnJvciAhPSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1Ip
IHsKKyAgICAgICAgICAgICpzaXplID0gMDsKKyAgICAgICAgICAgIHJldHVybiBlcnJvcjsKKyAg
ICAgICAgfQogCi0gICAgdWludDhfdCBjb252ZXJ0Q29sb3IxNkJpZ1RvOCh1aW50MTZfdCB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50OF90Pih2YWx1ZSAmIDB4
MDBGRik7CisgICAgICAgICpidWZmZXIgPSBhZG9wdEFycmF5UHRyKG5ldyB1bnNpZ25lZCBjaGFy
WypzaXplXSk7CisgICAgICAgIGlmICghKCpidWZmZXIpKSB7CisgICAgICAgICAgICAqc2l6ZSA9
IDA7CisgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUU7
CisgICAgICAgIH0KICAgICB9CisgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpOT19FUlJP
UjsKK30KIAogfSAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCiAKQEAgLTY0LDIzICs4NSwyOCBAQCBQ
YXNzUmVmUHRyPERyYXdpbmdCdWZmZXI+IEdyYXBoaWNzQ29udGV4CiAKIGJvb2wgR3JhcGhpY3ND
b250ZXh0M0Q6OnRleEltYWdlMkRSZXNvdXJjZVNhZmUoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6
ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBl
LCBHQzNEaW50IHVucGFja0FsaWdubWVudCkKIHsKLSAgICBBU1NFUlQodW5wYWNrQWxpZ25tZW50
ID09IDEgfHwgdW5wYWNrQWxpZ25tZW50ID09IDIgfHwgdW5wYWNrQWxpZ25tZW50ID09IDQgfHwg
dW5wYWNrQWxpZ25tZW50ID09IDgpOwotICAgIE93bkFycmF5UHRyPHVuc2lnbmVkIGNoYXI+IHpl
cm87Ci0gICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7Ci0gICAgICAgIHVuc2lnbmVk
IGludCBzaXplOwotICAgICAgICBHQzNEZW51bSBlcnJvciA9IGNvbXB1dGVJbWFnZVNpemVJbkJ5
dGVzKGZvcm1hdCwgdHlwZSwgd2lkdGgsIGhlaWdodCwgdW5wYWNrQWxpZ25tZW50LCAmc2l6ZSwg
MCk7Ci0gICAgICAgIGlmIChlcnJvciAhPSBHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IpIHsK
LSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKGVycm9yKTsKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB6ZXJvID0gYWRvcHRBcnJheVB0cihuZXcgdW5z
aWduZWQgY2hhcltzaXplXSk7Ci0gICAgICAgIGlmICghemVybykgewotICAgICAgICAgICAgc3lu
dGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIG1lbXNldCh6ZXJvLmdldCgp
LCAwLCBzaXplKTsKKyAgICBPd25BcnJheVB0cjx1bnNpZ25lZCBjaGFyPiBidWZmZXI7CisgICAg
dW5zaWduZWQgaW50IHNpemU7CisgICAgR0MzRGVudW0gZXJyb3IgPSBhbGxvY2F0ZVRleEltYWdl
MkRCdWZmZXIoJmJ1ZmZlciwgJnNpemUsIHRoaXMsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdHlw
ZSwgdW5wYWNrQWxpZ25tZW50KTsKKyAgICBpZiAoR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9S
ID09IGVycm9yKSB7CisgICAgICAgIG1lbXNldChidWZmZXIuZ2V0KCksIDAsIHNpemUpOworICAg
ICAgICByZXR1cm4gdGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgd2lk
dGgsIGhlaWdodCwgYm9yZGVyLCBmb3JtYXQsIHR5cGUsIGJ1ZmZlci5nZXQoKSk7CiAgICAgfQot
ICAgIHJldHVybiB0ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0
aCwgaGVpZ2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgemVyby5nZXQoKSk7CisKKyAgICBzeW50
aGVzaXplR0xFcnJvcihlcnJvcik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEdyYXBo
aWNzQ29udGV4dDNEOjp0ZXhJbWFnZTJEUmVzb3VyY2VTYWZlTm9DbGVhcihHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lk
dGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdD
M0RlbnVtIHR5cGUsIEdDM0RpbnQgdW5wYWNrQWxpZ25tZW50KQoreworICAgIE93bkFycmF5UHRy
PHVuc2lnbmVkIGNoYXI+IGJ1ZmZlcjsKKyAgICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgICBHQzNE
ZW51bSBlcnJvciA9IGFsbG9jYXRlVGV4SW1hZ2UyREJ1ZmZlcigmYnVmZmVyLCAmc2l6ZSwgdGhp
cywgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCB0eXBlLCB1bnBhY2tBbGlnbm1lbnQpOworICAgIGlm
IChHcmFwaGljc0NvbnRleHQzRDo6Tk9fRVJST1IgPT0gZXJyb3IpCisgICAgICAgIHJldHVybiB0
ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBi
b3JkZXIsIGZvcm1hdCwgdHlwZSwgYnVmZmVyLmdldCgpKTsKKworICAgIHN5bnRoZXNpemVHTEVy
cm9yKGVycm9yKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0
M0Q6OmNvbXB1dGVGb3JtYXRBbmRUeXBlUGFyYW1ldGVycyhHQzNEZW51bSBmb3JtYXQsCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgJKHJldmlzaW9uIDgyNzA2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAkod29ya2luZyBjb3B5KQpAQCAtNDgyLDEwICs0ODIs
MTUgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICAvLyBIZWxwZXIgdG8gdGV4SW1hZ2UyRCB3aXRo
IHBpeGVsPT0wIGNhc2U6IHBpeGVscyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC4KLSAgICAvLyBSZXR1
cm4gdHJ1ZSBpZiBubyBHTCBlcnJvciBpcyBzeW50aGVzaXplZC4KKyAgICAvLyBSZXR1cm5zIHRy
dWUgaWYgbm8gR0wgZXJyb3IgaXMgc3ludGhlc2l6ZWQuCiAgICAgLy8gQnkgZGVmYXVsdCwgYWxp
Z25tZW50IGlzIDQsIHRoZSBPcGVuR0wgZGVmYXVsdCBzZXR0aW5nLgogICAgIGJvb2wgdGV4SW1h
Z2UyRFJlc291cmNlU2FmZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVt
IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0Rp
bnQgYm9yZGVyLCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnQgYWxpZ25t
ZW50ID0gNCk7CiAKKyAgICAvLyBIZWxwZXIgdG8gdGV4SW1hZ2UyRC4gUGVyZm9ybXMgc29tZSBz
YWZldHkgY2hlY2tzIG9uIHRoZSBzaXplIG9mIHRoZQorICAgIC8vIHJlcXVlc3RlZCB0ZXh0dXJl
LiBEb2VzIG5vdCBpbml0aWFsaXplIGFsbCBvZiB0aGUgcGl4ZWxzIHRvIDAuCisgICAgLy8gUmV0
dXJucyB0cnVlIGlmIG5vIEdMIGVycm9yIGlzIHN5bnRoZXNpemVkLgorICAgIGJvb2wgdGV4SW1h
Z2UyRFJlc291cmNlU2FmZU5vQ2xlYXIoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEaW50IGJvcmRlciwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50
IGFsaWdubWVudCA9IDQpOworCiAgICAgYm9vbCBpc0dMRVMyQ29tcGxpYW50KCkgY29uc3Q7CiAK
ICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9EcmF3aW5nQnVmZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5jcHAJKHJldmlzaW9uIDgyNzA2KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsMTUgKzE0NCwyMiBAQCB2b2lkIERyYXdpbmdCdWZmZXI6
OnJlc2l6ZURlcHRoU3RlbmNpbChpCiAgICAgbV9jb250ZXh0LT5iaW5kUmVuZGVyYnVmZmVyKEdy
YXBoaWNzQ29udGV4dDNEOjpSRU5ERVJCVUZGRVIsIDApOwogfQogCi12b2lkIERyYXdpbmdCdWZm
ZXI6OnJlc2V0KGNvbnN0IEludFNpemUmIG5ld1NpemUpCitib29sIERyYXdpbmdCdWZmZXI6OnJl
c2V0KGNvbnN0IEludFNpemUmIG5ld1NpemUpCiB7Ci0gICAgbV9zaXplID0gbmV3U2l6ZTsKLQog
ICAgIGlmICghbV9jb250ZXh0KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKICAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotICAg
IAorCisgICAgaW50IG1heFRleHR1cmVTaXplID0gMDsKKyAgICBtX2NvbnRleHQtPmdldEludGVn
ZXJ2KEdyYXBoaWNzQ29udGV4dDNEOjpNQVhfVEVYVFVSRV9TSVpFLCAmbWF4VGV4dHVyZVNpemUp
OworICAgIGlmIChuZXdTaXplLmhlaWdodCgpID4gbWF4VGV4dHVyZVNpemUgfHwgbmV3U2l6ZS53
aWR0aCgpID4gbWF4VGV4dHVyZVNpemUpIHsKKyAgICAgIGNsZWFyKCk7CisgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgbV9zaXplID0gbmV3U2l6ZTsKKwogICAgIGNvbnN0IEdyYXBo
aWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzID0gbV9jb250ZXh0LT5nZXRDb250
ZXh0QXR0cmlidXRlcygpOwogICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJuYWxDb2xvckZvcm1hdCwg
Y29sb3JGb3JtYXQsIGludGVybmFsUmVuZGVyYnVmZmVyRm9ybWF0OwogICAgIGlmIChhdHRyaWJ1
dGVzLmFscGhhKSB7CkBAIC0xODIsNyArMTg5LDcgQEAgdm9pZCBEcmF3aW5nQnVmZmVyOjpyZXNl
dChjb25zdCBJbnRTaXplJgogICAgICAgICBpZiAobV9jb250ZXh0LT5jaGVja0ZyYW1lYnVmZmVy
U3RhdHVzKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUikgIT0gR3JhcGhpY3NDb250ZXh0
M0Q6OkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7CiAgICAgICAgICAgICAvLyBDbGVhbnVwCiAgICAg
ICAgICAgICBjbGVhcigpOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xOTAsMjEgKzE5NywyOCBAQCB2b2lkIERy
YXdpbmdCdWZmZXI6OnJlc2V0KGNvbnN0IEludFNpemUmCiAgICAgbV9jb250ZXh0LT5iaW5kRnJh
bWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX2Zibyk7CiAKICAgICBt
X2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBtX2Nv
bG9yQnVmZmVyKTsKLSAgICBtX2NvbnRleHQtPnRleEltYWdlMkRSZXNvdXJjZVNhZmUoR3JhcGhp
Y3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIDAsIGludGVybmFsQ29sb3JGb3JtYXQsIG1fc2l6ZS53
aWR0aCgpLCBtX3NpemUuaGVpZ2h0KCksIDAsIGNvbG9yRm9ybWF0LCBHcmFwaGljc0NvbnRleHQz
RDo6VU5TSUdORURfQllURSk7CisgICAgCisgICAgYm9vbCByZXNvdXJjZVNhZmUgPSBtX2NvbnRl
eHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX3Jlc291cmNlX3NhZmUi
KTsKKyAgICBpZiAoIXJlc291cmNlU2FmZSkKKyAgICAgICAgbV9jb250ZXh0LT50ZXhJbWFnZTJE
UmVzb3VyY2VTYWZlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCAwLCBpbnRlcm5hbENv
bG9yRm9ybWF0LCBtX3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCAwLCBjb2xvckZvcm1h
dCwgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUpOworICAgIGVsc2UKKyAgICAgICAg
bV9jb250ZXh0LT50ZXhJbWFnZTJEUmVzb3VyY2VTYWZlTm9DbGVhcihHcmFwaGljc0NvbnRleHQz
RDo6VEVYVFVSRV8yRCwgMCwgaW50ZXJuYWxDb2xvckZvcm1hdCwgbV9zaXplLndpZHRoKCksIG1f
c2l6ZS5oZWlnaHQoKSwgMCwgY29sb3JGb3JtYXQsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05F
RF9CWVRFKTsKKwogICAgIG1fY29udGV4dC0+ZnJhbWVidWZmZXJUZXh0dXJlMkQoR3JhcGhpY3ND
b250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBHcmFwaGljc0NvbnRleHQzRDo6Q09MT1JfQVRUQUNITUVO
VDAsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBtX2NvbG9yQnVmZmVyLCAwKTsKICAg
ICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCAw
KTsKKwogICAgIGlmICghbXVsdGlzYW1wbGUoKSkKICAgICAgICAgcmVzaXplRGVwdGhTdGVuY2ls
KDApOwogICAgIGlmIChtX2NvbnRleHQtPmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR3JhcGhpY3ND
b250ZXh0M0Q6OkZSQU1FQlVGRkVSKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJf
Q09NUExFVEUpIHsKICAgICAgICAgLy8gQ2xlYW51cAogICAgICAgICBjbGVhcigpOwotICAgICAg
ICByZXR1cm47CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBpZiAobXVsdGlz
YW1wbGUoKSkKICAgICAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250
ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX211bHRpc2FtcGxlRkJPKTsKIAotICAgIGlmICghbV9jb250
ZXh0LT5nZXRFeHRlbnNpb25zKCktPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV9yZXNvdXJjZV9zYWZl
IikpIHsKKyAgICBpZiAoIXJlc291cmNlU2FmZSkgewogICAgICAgICAvLyBJbml0aWFsaXplIHJl
bmRlcmJ1ZmZlcnMgKGRlcHRoL3N0ZW5jaWwpLgogICAgICAgICBmbG9hdCBjbGVhckRlcHRoID0g
MDsKICAgICAgICAgaW50IGNsZWFyU3RlbmNpbCA9IDA7CkBAIC0yNTAsNiArMjY0LDggQEAgdm9p
ZCBEcmF3aW5nQnVmZmVyOjpyZXNldChjb25zdCBJbnRTaXplJgogICAgIG1fY29udGV4dC0+Zmx1
c2goKTsKICAgICAKICAgICBkaWRSZXNldCgpOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZv
aWQgRHJhd2luZ0J1ZmZlcjo6Y29tbWl0KGxvbmcgeCwgbG9uZyB5LCBsb25nIHdpZHRoLCBsb25n
IGhlaWdodCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3
aW5nQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAkocmV2aXNpb24gODI3MDYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC02MCw3ICs2MCw4IEBAIHB1YmxpYzoKICAgICAKICAgICB+RHJhd2luZ0J1ZmZlcigpOwogCi0g
ICAgdm9pZCByZXNldChjb25zdCBJbnRTaXplJik7CisgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRo
ZSBidWZmZXIgd2FzIHN1Y2Nlc3NmdWxseSByZXNpemVkLgorICAgIGJvb2wgcmVzZXQoY29uc3Qg
SW50U2l6ZSYpOwogICAgIHZvaWQgYmluZCgpOwogICAgIEludFNpemUgc2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2l6ZTsgfQogICAgIFBsYXRmb3JtM0RPYmplY3QgY29sb3JCdWZmZXIoKSBjb25z
dCB7IHJldHVybiBtX2NvbG9yQnVmZmVyOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MzEzMCkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDExLTA0LTA2ICBKZWZmIFRpbWFudXMgIDx0d2l6QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGYWxsIGJhY2sgdG8gc29mdHdh
cmUgcmVuZGVyaW5nIGZvciBDYW52YXMyRCB3aGVuIHJlcXVlc3RpbmcgYSBEcmF3aW5nQnVmZmVy
IGxhcmdlciB0aGFuIHN1cHBvcnRlZCBieSB0aGUgR0wgZW52aXJvbm1lbnQuCisgICAgICAgIEFs
c28sIHJlc3BlY3QgdGhlIGNvbnRyYWN0IHByb3ZpZGVkIGJ5IGV4dGVuc2lvbiAiR0xfQ0hST01J
VU1fcmVzb3VyY2Vfc2FmZSIgd2hlbiByZXF1ZXN0aW5nIHRleHR1cmVzIGZvciBGQk9zIGZvciBE
cmF3aW5nQnVmZmVyIGluc3RhbmNlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUyMzQxCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIwMTEtMDQtMDYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJ
KHJldmlzaW9uIDgyNzA2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yOTMwLDkgKzI5MzAsNiBAQCBCVUdD
UjYwOTY1IEdQVSBXSU4gTElOVVggOiBmYXN0L2NhbnZhcy9zCiAKIEJVR05PTkUgU0xPVyBHUFUg
REVCVUcgV0lOIDogZmFzdC9jYW52YXMvY2FudmFzLWdldEltYWdlRGF0YS5odG1sID0gUEFTUwog
Ci0vLyBTdGFydGVkIGZhaWxpbmcgYWZ0ZXIgcjc1NjQ4IG9uIGV2ZXJ5dGhpbmcgZXhjZXB0IFNu
b3cgTGVvcGFyZAotQlVHV0s1MjM0MSBHUFUgOiBmYXN0L2NhbnZhcy9jYW52YXMtbGFyZ2UtZGlt
ZW5zaW9ucy5odG1sID0gVEVYVAotCiBCVUdXSzUzNDY5IEdQVSBNQUMgOiBjb21wb3NpdGluZy9z
Y3JvbGwtcGFpbnRlZC1jb21wb3NpdGVkLWNvbnRlbnQuaHRtbCA9IENSQVNICiAKIEJVR0NSNzQ5
NzkgR1BVIE1BQzogbWVkaWEvdmlkZW8tY2FudmFzLWFscGhhLmh0bWwgPSBJTUFHRQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>