<?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>47087</bug_id>
          
          <creation_ts>2010-10-04 08:02:29 -0700</creation_ts>
          <short_desc>[GTK] Use pixbufs instead of pixmaps when creating platform cursors</short_desc>
          <delta_ts>2010-10-06 09:53:03 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>csaavedra</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288934</commentid>
    <comment_count>0</comment_count>
      <attachid>69634</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-10-04 08:02:29 -0700</bug_when>
    <thetext>Created attachment 69634
Use GdkPixbuf to create platform cursors

gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289003</commentid>
    <comment_count>1</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2010-10-04 10:44:30 -0700</bug_when>
    <thetext>Should actually use

+    GdkPixbuf* pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, 32, 32);

since this method&apos;s interface changed in gtk master to this (see gtk rev. 872ef1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290130</commentid>
    <comment_count>2</comment_count>
      <attachid>69897</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-10-06 01:15:37 -0700</bug_when>
    <thetext>Created attachment 69897
Updated patch to use GdkPixbuf when creating cursors

Updated patch including a ChangeLog entry and fixing the API to current master gtk+ as Claudio pointed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290132</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 01:19:41 -0700</bug_when>
    <thetext>Attachment 69897 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
Last 3072 characters of output:
ent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:249:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:254:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:254:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:255:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:255:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:256:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:256:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
WebCore/platform/gtk/GtkVersioning.c:257:  This { should be at the end of the previous line  [whitespace/braces] [4]
WebCore/platform/gtk/GtkVersioning.c:258:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:262:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:263:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:264:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:265:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:266:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:269:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:270:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:271:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:272:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:273:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:277:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:277:  Extra space before ( in function call  [whitespace/parens] [4]
WebCore/platform/gtk/GtkVersioning.c:278:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebCore/platform/gtk/GtkVersioning.c:280:  Should have a space between // and comment  [whitespace/comments] [4]
WebCore/platform/gtk/GtkVersioning.h:95:  Tab found; better to use spaces  [whitespace/tab] [1]
WebCore/platform/gtk/GtkVersioning.h:95:  dest_x is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 107 in 4 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>290133</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 01:23:59 -0700</bug_when>
    <thetext>Attachment 69897 did not build on gtk:
Build output: http://queues.webkit.org/results/4195106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290194</commentid>
    <comment_count>5</comment_count>
      <attachid>69922</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-10-06 04:34:21 -0700</bug_when>
    <thetext>Created attachment 69922
Updated patch

Fixes coding style and build issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290197</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 04:36:23 -0700</bug_when>
    <thetext>Attachment 69922 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/platform/gtk/GtkVersioning.h:94:  gdk_pixbuf_get_from_surface is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 4 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>290211</commentid>
    <comment_count>7</comment_count>
      <attachid>69922</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-10-06 04:59:01 -0700</bug_when>
    <thetext>Comment on attachment 69922
Updated patch

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

&gt; WebCore/ChangeLog:6
&gt; +

Usually the &apos;syntax&apos; for this is, title in one line, URL in the next line. We also usually use [GTK] in the title when the bug is GTK specific.

&gt; WebCore/ChangeLog:13
&gt; +

So... like this, but it goes at the beginning.

&gt; WebCore/ChangeLog:15
&gt; +

If you don&apos;t add tests you have to remove this.

&gt; WebCore/platform/gtk/CursorGtk.cpp:51
&gt; +    cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_A1, 32, 32);

Should use PlatformRefPtrCairo here, see WebCore/platform/graphics/cairo/PlatformRefPtrCairo.{cpp,h}

&gt; WebCore/platform/gtk/CursorGtk.cpp:52
&gt; +    cairo_t* cr = cairo_create(surface);

Same thing.

&gt; WebCore/platform/gtk/CursorGtk.cpp:60
&gt; +    GdkPixbuf* pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, 32, 32);

Use a GRefPtr here.

&gt; WebCore/platform/gtk/GtkVersioning.h:97
&gt; +

Group this with the already existing #ifdef GTK_API_VERSION_2 thing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290247</commentid>
    <comment_count>8</comment_count>
      <attachid>69928</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-10-06 06:05:13 -0700</bug_when>
    <thetext>Created attachment 69928
New patch according to review

New patch, it fixes the changlog syntax and uses PlatformRefPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290250</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 06:09:54 -0700</bug_when>
    <thetext>Attachment 69928 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/platform/gtk/GtkVersioning.h:35:  gdk_pixbuf_get_from_surface is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 4 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>290251</commentid>
    <comment_count>10</comment_count>
      <attachid>69928</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-10-06 06:13:01 -0700</bug_when>
    <thetext>Comment on attachment 69928
New patch according to review

Looks good, let&apos;s see what happens!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290268</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 07:00:14 -0700</bug_when>
    <thetext>Attachment 69928 did not build on gtk:
Build output: http://queues.webkit.org/results/4204096</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290280</commentid>
    <comment_count>12</comment_count>
      <attachid>69937</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-10-06 07:23:50 -0700</bug_when>
    <thetext>Created attachment 69937
New version of the patch

Sorry, I uploaded a wrong version of the patch by mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290283</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-06 07:26:17 -0700</bug_when>
    <thetext>Attachment 69937 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/platform/gtk/GtkVersioning.h:36:  gdk_pixbuf_get_from_surface is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 4 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>290287</commentid>
    <comment_count>14</comment_count>
      <attachid>69937</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-10-06 07:35:40 -0700</bug_when>
    <thetext>Comment on attachment 69937
New version of the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290384</commentid>
    <comment_count>15</comment_count>
      <attachid>69937</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-06 09:52:57 -0700</bug_when>
    <thetext>Comment on attachment 69937
New version of the patch

Clearing flags on attachment: 69937

Committed r69204: &lt;http://trac.webkit.org/changeset/69204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290385</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-06 09:53:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69634</attachid>
            <date>2010-10-04 08:02:29 -0700</date>
            <delta_ts>2010-10-06 01:15:37 -0700</delta_ts>
            <desc>Use GdkPixbuf to create platform cursors</desc>
            <filename>cursors-pixbuf.diff</filename>
            <type>text/plain</type>
            <size>11857</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9DdXJzb3JHdGsuY3BwCmluZGV4IGQxZjEyOTMuLjA0MmU3ZDcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ3Vyc29yR3RrLmgiCisjaW5jbHVkZSAiR3RrVmVyc2lvbmlu
Zy5oIgogCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgpAQCAtMzcs
MTkgKzM4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgR2RrUGl4bWFwKiBj
cmVhdGVQaXhtYXBGcm9tQml0cyhjb25zdCB1bnNpZ25lZCBjaGFyKiBiaXRzLCBjb25zdCBJbnRT
aXplJiBzaXplKQotewotICAgIGNhaXJvX3N1cmZhY2VfdCogZGF0YVN1cmZhY2UgPSBjYWlyb19p
bWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YShjb25zdF9jYXN0PHVuc2lnbmVkIGNoYXIqPihi
aXRzKSwgQ0FJUk9fRk9STUFUX0ExLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIHNpemUu
d2lkdGgoKSAvIDgpOwotICAgIEdka1BpeG1hcCogcGl4bWFwID0gZ2RrX3BpeG1hcF9uZXcoMCwg
c2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCAxKTsKLSAgICBjYWlyb190KiBjciA9IGdka19j
YWlyb19jcmVhdGUocGl4bWFwKTsKLSAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIGRh
dGFTdXJmYWNlLCAwLCAwKTsKLSAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJPX09QRVJB
VE9SX1NPVVJDRSk7Ci0gICAgY2Fpcm9fcGFpbnQoY3IpOwotICAgIGNhaXJvX2Rlc3Ryb3koY3Ip
OwotICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShkYXRhU3VyZmFjZSk7Ci0gICAgcmV0dXJuIHBp
eG1hcDsKLX0KLQogc3RhdGljIFBsYXRmb3JtUmVmUHRyPEdka0N1cnNvcj4gY3JlYXRlTmFtZWRD
dXJzb3IoQ3VzdG9tQ3Vyc29yVHlwZSBjdXJzb3JUeXBlKQogewogICAgIEN1c3RvbUN1cnNvciBj
dXJzb3IgPSBDdXN0b21DdXJzb3JzW2N1cnNvclR5cGVdOwpAQCAtNTcsMTIgKzQ1LDIzIEBAIHN0
YXRpYyBQbGF0Zm9ybVJlZlB0cjxHZGtDdXJzb3I+IGNyZWF0ZU5hbWVkQ3Vyc29yKEN1c3RvbUN1
cnNvclR5cGUgY3Vyc29yVHlwZSkKICAgICBpZiAoYykKICAgICAgICAgcmV0dXJuIGM7CiAKLSAg
ICBjb25zdCBHZGtDb2xvciBmZyA9IHsgMCwgMCwgMCwgMCB9OwotICAgIGNvbnN0IEdka0NvbG9y
IGJnID0geyA2NTUzNSwgNjU1MzUsIDY1NTM1LCA2NTUzNSB9OwogICAgIEludFNpemUgY3Vyc29y
U2l6ZSA9IEludFNpemUoMzIsIDMyKTsKLSAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhtYXA+IHNv
dXJjZSA9IGFkb3B0UGxhdGZvcm1SZWYoY3JlYXRlUGl4bWFwRnJvbUJpdHMoY3Vyc29yLmJpdHMs
IGN1cnNvclNpemUpKTsKLSAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhtYXA+IG1hc2sgPSBhZG9w
dFBsYXRmb3JtUmVmKGNyZWF0ZVBpeG1hcEZyb21CaXRzKGN1cnNvci5tYXNrX2JpdHMsIGN1cnNv
clNpemUpKTsKLSAgICByZXR1cm4gYWRvcHRQbGF0Zm9ybVJlZihnZGtfY3Vyc29yX25ld19mcm9t
X3BpeG1hcChzb3VyY2UuZ2V0KCksIG1hc2suZ2V0KCksICZmZywgJmJnLCBjdXJzb3IuaG90X3gs
IGN1cnNvci5ob3RfeSkpOworICAgIGNhaXJvX3N1cmZhY2VfdCogc291cmNlID0gY2Fpcm9faW1h
Z2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoY29uc3RfY2FzdDx1bnNpZ25lZCBjaGFyKj4oY3Vy
c29yLmJpdHMpLCBDQUlST19GT1JNQVRfQTEsIDMyLCAzMiwgNCk7CisgICAgY2Fpcm9fc3VyZmFj
ZV90KiBtYXNrID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoY29uc3RfY2Fz
dDx1bnNpZ25lZCBjaGFyKj4oY3Vyc29yLm1hc2tfYml0cyksIENBSVJPX0ZPUk1BVF9BMSwgMzIs
IDMyLCA0KTsKKyAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBjYWlyb19pbWFnZV9zdXJm
YWNlX2NyZWF0ZShDQUlST19GT1JNQVRfQTEsIDMyLCAzMik7CisgICAgY2Fpcm9fdCogY3IgPSBj
YWlyb19jcmVhdGUoc3VyZmFjZSk7CisKKyAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3Is
IHNvdXJjZSwgY3Vyc29yLmhvdF94LCBjdXJzb3IuaG90X3kpOworICAgIGNhaXJvX21hc2tfc3Vy
ZmFjZShjciwgbWFzaywgY3Vyc29yLmhvdF94LCBjdXJzb3IuaG90X3kpOworICAgIGNhaXJvX3N1
cmZhY2VfZGVzdHJveShzb3VyY2UpOworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShtYXNrKTsK
KyAgICBjYWlyb19kZXN0cm95KGNyKTsKKworICAgIEdka1BpeGJ1ZiogcGl4YnVmID0gZ2RrX3Bp
eGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKE5VTEwsIHN1cmZhY2UsIDAsIDAsIDAsIDAsIDMyLCAzMik7
CisgICAgYyA9IGFkb3B0UGxhdGZvcm1SZWYoZ2RrX2N1cnNvcl9uZXdfZnJvbV9waXhidWYoZ2Rr
X2Rpc3BsYXlfZ2V0X2RlZmF1bHQoKSwgcGl4YnVmLCAwLCAwKSk7CisgICAgZ19vYmplY3RfdW5y
ZWYocGl4YnVmKTsKKworICAgIHJldHVybiBjOwogfQogCiBzdGF0aWMgUGxhdGZvcm1SZWZQdHI8
R2RrQ3Vyc29yPiBjcmVhdGVDdXN0b21DdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2lu
dCYgaG90U3BvdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25p
bmcuYyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYwppbmRleCBmNTQ2NmJl
Li4xZDdkOGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5n
LmMKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5jCkBAIC05OCwzICs5
OCwyMzAgQEAgY29uc3QgZ2NoYXIqIGd0a19tZW51X2l0ZW1fZ2V0X2xhYmVsKEd0a01lbnVJdGVt
KiBtZW51SXRlbSkKICAgICByZXR1cm4gMDsKIH0KICNlbmRpZiAvLyBHVEtfQ0hFQ0tfVkVSU0lP
TigyLCAxNiwgMCkKKworI2lmZGVmIEdUS19BUElfVkVSU0lPTl8yCitzdGF0aWMgY2Fpcm9fZm9y
bWF0X3QKK2dka19jYWlyb19mb3JtYXRfZm9yX2NvbnRlbnQgKGNhaXJvX2NvbnRlbnRfdCBjb250
ZW50KQoreworICBzd2l0Y2ggKGNvbnRlbnQpCisgICAgeworICAgIGNhc2UgQ0FJUk9fQ09OVEVO
VF9DT0xPUjoKKyAgICAgIHJldHVybiBDQUlST19GT1JNQVRfUkdCMjQ7CisgICAgY2FzZSBDQUlS
T19DT05URU5UX0FMUEhBOgorICAgICAgcmV0dXJuIENBSVJPX0ZPUk1BVF9BODsKKyAgICBjYXNl
IENBSVJPX0NPTlRFTlRfQ09MT1JfQUxQSEE6CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiBD
QUlST19GT1JNQVRfQVJHQjMyOworICAgIH0KK30KKworc3RhdGljIGNhaXJvX3N1cmZhY2VfdCAq
CitnZGtfY2Fpcm9fc3VyZmFjZV9jb2VyY2VfdG9faW1hZ2UgKGNhaXJvX3N1cmZhY2VfdCAqc3Vy
ZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fpcm9fY29udGVudF90
IGNvbnRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkKK3sKKyAgY2Fp
cm9fc3VyZmFjZV90ICpjb3B5OworICBjYWlyb190ICpjcjsKKworICBpZiAoY2Fpcm9fc3VyZmFj
ZV9nZXRfdHlwZSAoc3VyZmFjZSkgPT0gQ0FJUk9fU1VSRkFDRV9UWVBFX0lNQUdFICYmCisgICAg
ICBjYWlyb19zdXJmYWNlX2dldF9jb250ZW50IChzdXJmYWNlKSA9PSBjb250ZW50ICYmCisgICAg
ICBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aCAoc3VyZmFjZSkgPj0gd2lkdGggJiYKKyAg
ICAgIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2hlaWdodCAoc3VyZmFjZSkgPj0gaGVpZ2h0KQor
ICAgIHJldHVybiBjYWlyb19zdXJmYWNlX3JlZmVyZW5jZSAoc3VyZmFjZSk7CisKKyAgY29weSA9
IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlIChnZGtfY2Fpcm9fZm9ybWF0X2Zvcl9jb250ZW50
IChjb250ZW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOworCisgIGNyID0g
Y2Fpcm9fY3JlYXRlIChjb3B5KTsKKyAgY2Fpcm9fc2V0X29wZXJhdG9yIChjciwgQ0FJUk9fT1BF
UkFUT1JfU09VUkNFKTsKKyAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlIChjciwgc3VyZmFjZSwg
MCwgMCk7CisgIGNhaXJvX3BhaW50IChjcik7CisgIGNhaXJvX2Rlc3Ryb3kgKGNyKTsKKworICBy
ZXR1cm4gY29weTsKK30KKworc3RhdGljIHZvaWQKK2NvbnZlcnRfYWxwaGEgKGd1Y2hhciAgKmRl
c3RfZGF0YSwKKyAgICAgICAgICAgICAgIGludCAgICAgIGRlc3Rfc3RyaWRlLAorICAgICAgICAg
ICAgICAgZ3VjaGFyICAqc3JjX2RhdGEsCisgICAgICAgICAgICAgICBpbnQgICAgICBzcmNfc3Ry
aWRlLAorICAgICAgICAgICAgICAgaW50ICAgICAgc3JjX3gsCisgICAgICAgICAgICAgICBpbnQg
ICAgICBzcmNfeSwKKyAgICAgICAgICAgICAgIGludCAgICAgIGRlc3RfeCwKKyAgICAgICAgICAg
ICAgIGludCAgICAgIGRlc3RfeSwKKyAgICAgICAgICAgICAgIGludCAgICAgIHdpZHRoLAorICAg
ICAgICAgICAgICAgaW50ICAgICAgaGVpZ2h0KQoreworICBpbnQgeCwgeTsKKworICBkZXN0X2Rh
dGEgKz0gZGVzdF9zdHJpZGUgKiBkZXN0X3kgKyBkZXN0X3ggKiA0OworICBzcmNfZGF0YSArPSBz
cmNfc3RyaWRlICogc3JjX3kgKyBzcmNfeCAqIDQ7CisKKyAgZm9yICh5ID0gMDsgeSA8IGhlaWdo
dDsgeSsrKSB7CisgICAgZ3VpbnQzMiAqc3JjID0gKGd1aW50MzIgKikgc3JjX2RhdGE7CisKKyAg
ICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgZ3VpbnQgYWxwaGEgPSBzcmNb
eF0gPj4gMjQ7CisKKyAgICAgIGlmIChhbHBoYSA9PSAwKQorICAgICAgICB7CisgICAgICAgICAg
ZGVzdF9kYXRhW3ggKiA0ICsgMF0gPSAwOworICAgICAgICAgIGRlc3RfZGF0YVt4ICogNCArIDFd
ID0gMDsKKyAgICAgICAgICBkZXN0X2RhdGFbeCAqIDQgKyAyXSA9IDA7CisgICAgICAgIH0KKyAg
ICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIGRlc3RfZGF0YVt4ICogNCArIDBdID0gKCgo
c3JjW3hdICYgMHhmZjAwMDApID4+IDE2KSAqIDI1NSArIGFscGhhIC8gMikgLyBhbHBoYTsKKyAg
ICAgICAgICBkZXN0X2RhdGFbeCAqIDQgKyAxXSA9ICgoKHNyY1t4XSAmIDB4MDBmZjAwKSA+PiAg
OCkgKiAyNTUgKyBhbHBoYSAvIDIpIC8gYWxwaGE7CisgICAgICAgICAgZGVzdF9kYXRhW3ggKiA0
ICsgMl0gPSAoKChzcmNbeF0gJiAweDAwMDBmZikgPj4gIDApICogMjU1ICsgYWxwaGEgLyAyKSAv
IGFscGhhOworICAgICAgICB9CisgICAgICBkZXN0X2RhdGFbeCAqIDQgKyAzXSA9IGFscGhhOwor
ICAgIH0KKworICAgIHNyY19kYXRhICs9IHNyY19zdHJpZGU7CisgICAgZGVzdF9kYXRhICs9IGRl
c3Rfc3RyaWRlOworICB9Cit9CisKK3N0YXRpYyB2b2lkCitjb252ZXJ0X25vX2FscGhhIChndWNo
YXIgICpkZXN0X2RhdGEsCisgICAgICAgICAgICAgICAgICBpbnQgICAgICBkZXN0X3N0cmlkZSwK
KyAgICAgICAgICAgICAgICAgIGd1Y2hhciAgKnNyY19kYXRhLAorICAgICAgICAgICAgICAgICAg
aW50ICAgICAgc3JjX3N0cmlkZSwKKyAgICAgICAgICAgICAgICAgIGludCAgICAgIHNyY194LAor
ICAgICAgICAgICAgICAgICAgaW50ICAgICAgc3JjX3ksCisgICAgICAgICAgICAgICAgICBpbnQg
ICAgICBkZXN0X3gsCisgICAgICAgICAgICAgICAgICBpbnQgICAgICBkZXN0X3ksCisgICAgICAg
ICAgICAgICAgICBpbnQgICAgICB3aWR0aCwKKyAgICAgICAgICAgICAgICAgIGludCAgICAgIGhl
aWdodCkKK3sKKyAgaW50IHgsIHk7CisKKyAgZGVzdF9kYXRhICs9IGRlc3Rfc3RyaWRlICogZGVz
dF95ICsgZGVzdF94ICogMzsKKyAgc3JjX2RhdGEgKz0gc3JjX3N0cmlkZSAqIHNyY195ICsgc3Jj
X3ggKiA0OworCisgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgeworICAgIGd1aW50MzIg
KnNyYyA9IChndWludDMyICopIHNyY19kYXRhOworCisgICAgZm9yICh4ID0gMDsgeCA8IHdpZHRo
OyB4KyspIHsKKyAgICAgIGRlc3RfZGF0YVt4ICogMyArIDBdID0gc3JjW3hdID4+IDE2OworICAg
ICAgZGVzdF9kYXRhW3ggKiAzICsgMV0gPSBzcmNbeF0gPj4gIDg7CisgICAgICBkZXN0X2RhdGFb
eCAqIDMgKyAyXSA9IHNyY1t4XTsKKyAgICB9CisKKyAgICBzcmNfZGF0YSArPSBzcmNfc3RyaWRl
OworICAgIGRlc3RfZGF0YSArPSBkZXN0X3N0cmlkZTsKKyAgfQorfQorCisvKioKKyAqIGdka19w
aXhidWZfZ2V0X2Zyb21fc3VyZmFjZToKKyAqIEBkZXN0OiAoYWxsb3ctbm9uZSk6IERlc3RpbmF0
aW9uIHBpeGJ1Ziwgb3IgJU5VTEwgaWYgYSBuZXcgcGl4YnVmIHNob3VsZCBiZSBjcmVhdGVkLgor
ICogQHN1cmZhY2U6IHN1cmZhY2UgdG8gY29weSBmcm9tCisgKiBAc3JjX3g6IFNvdXJjZSBYIGNv
b3JkaW5hdGUgd2l0aGluIGRyYXdhYmxlLgorICogQHNyY195OiBTb3VyY2UgWSBjb29yZGluYXRl
IHdpdGhpbiBkcmF3YWJsZS4KKyAqIEBkZXN0X3g6IERlc3RpbmF0aW9uIFggY29vcmRpbmF0ZSBp
biBwaXhidWYsIG9yIDAgaWYgQGRlc3QgaXMgTlVMTC4KKyAqIEBkZXN0X3k6IERlc3RpbmF0aW9u
IFkgY29vcmRpbmF0ZSBpbiBwaXhidWYsIG9yIDAgaWYgQGRlc3QgaXMgTlVMTC4KKyAqIEB3aWR0
aDogV2lkdGggaW4gcGl4ZWxzIG9mIHJlZ2lvbiB0byBnZXQuCisgKiBAaGVpZ2h0OiBIZWlnaHQg
aW4gcGl4ZWxzIG9mIHJlZ2lvbiB0byBnZXQuCisgKgorICogVHJhbnNmZXJzIGltYWdlIGRhdGEg
ZnJvbSBhICNjYWlyb19zdXJmYWNlX3QgYW5kIGNvbnZlcnRzIGl0IHRvIGFuIFJHQihBKQorICog
cmVwcmVzZW50YXRpb24gaW5zaWRlIGEgI0dka1BpeGJ1Zi4gVGhpcyBhbGxvd3MgeW91IHRvIGVm
ZmljaWVudGx5IHJlYWQgaW5kaXZpZHVhbAorICogcGl4ZWxzIGZyb20gQ2Fpcm8gc3VyZmFjZXMu
IEZvciAjR2RrV2luZG93cywgdXNlIGdka19waXhidWZfZ2V0X2Zyb21fZHJhd2FibGUoKQorICog
aW5zdGVhZC4KKyAqIAorICogSWYgdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbiBwaXhidWYgQGRl
c3QgaXMgJU5VTEwsIHRoZW4gdGhpcworICogZnVuY3Rpb24gd2lsbCBjcmVhdGUgYW4gUkdCIHBp
eGJ1ZiB3aXRoIDggYml0cyBwZXIgY2hhbm5lbC4gVGhlIHBpeGJ1ZiB3aWxsCisgKiBjb250YWlu
IGFuIGFscGhhIGNoYW5uZWwgaWYgdGhlIEBzdXJmYWNlIGNvbnRhaW5zIG9uZS4gSW4gdGhpcyBj
YXNlLCB0aGUgQGRlc3RfeCAKKyAqIGFuZCBAZGVzdF95IGFyZ3VtZW50cyBtdXN0IGJlIHNwZWNp
ZmllZCBhcyAwLgorICoKKyAqIElmIHRoZSBzcGVjaWZpZWQgZHJhd2FibGUgaXMgYSB3aW5kb3cs
IGFuZCB0aGUgd2luZG93IGlzIG9mZiB0aGUKKyAqIHNjcmVlbiwgdGhlbiB0aGVyZSBpcyBubyBp
bWFnZSBkYXRhIGluIHRoZSBvYnNjdXJlZC9vZmZzY3JlZW4KKyAqIHJlZ2lvbnMgdG8gYmUgcGxh
Y2VkIGluIHRoZSBwaXhidWYuIFRoZSBjb250ZW50cyBvZiBwb3J0aW9ucyBvZiB0aGUKKyAqIHBp
eGJ1ZiBjb3JyZXNwb25kaW5nIHRvIHRoZSBvZmZzY3JlZW4gcmVnaW9uIGFyZSB1bmRlZmluZWQu
CisgKgorICogSWYgdGhlIHdpbmRvdyB5b3UncmUgb2J0YWluaW5nIGRhdGEgZnJvbSBpcyBwYXJ0
aWFsbHkgb2JzY3VyZWQgYnkKKyAqIG90aGVyIHdpbmRvd3MsIHRoZW4gdGhlIGNvbnRlbnRzIG9m
IHRoZSBwaXhidWYgYXJlYXMgY29ycmVzcG9uZGluZworICogdG8gdGhlIG9ic2N1cmVkIHJlZ2lv
bnMgYXJlIHVuZGVmaW5lZC4KKyAqIAorICogSWYgbWVtb3J5IGNhbid0IGJlIGFsbG9jYXRlZCBm
b3IgdGhlIHJldHVybiB2YWx1ZSwgJU5VTEwgd2lsbCBiZSByZXR1cm5lZAorICogaW5zdGVhZC4K
KyAqCisgKiAoSW4gc2hvcnQsIHRoZXJlIGFyZSBzZXZlcmFsIHdheXMgdGhpcyBmdW5jdGlvbiBj
YW4gZmFpbCwgYW5kIGlmIGl0IGZhaWxzCisgKiAgaXQgcmV0dXJucyAlTlVMTDsgc28gY2hlY2sg
dGhlIHJldHVybiB2YWx1ZS4pCisgKgorICogUmV0dXJuIHZhbHVlOiBUaGUgc2FtZSBwaXhidWYg
YXMgQGRlc3QgaWYgaXQgd2FzIG5vbi0lTlVMTCwgb3IgYSBuZXdseS1jcmVhdGVkCisgKiBwaXhi
dWYgd2l0aCBhIHJlZmVyZW5jZSBjb3VudCBvZiAxIGlmIG5vIGRlc3RpbmF0aW9uIHBpeGJ1ZiB3
YXMgc3BlY2lmaWVkLCBvciAlTlVMTCBvbiBlcnJvcgorICoqLworR2RrUGl4YnVmICoKK2dka19w
aXhidWZfZ2V0X2Zyb21fc3VyZmFjZSAgKEdka1BpeGJ1ZiAgICAgICAqZGVzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgc3JjX3gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgIHNyY195LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgICAgICBkZXN0X3gsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgIGRlc3RfeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgd2lkdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgIGhlaWdodCkKK3sKKyAgY2Fpcm9fY29udGVu
dF90IGNvbnRlbnQ7CisgIAorICAvKiBHZW5lcmFsIHNhbml0eSBjaGVja3MgKi8KKyAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwgKHN1cmZhY2UgIT0gTlVMTCwgTlVMTCk7CisgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsIChzcmNfeCA+PSAwICYmIHNyY195ID49IDAsIE5VTEwpOworICBnX3JldHVybl92YWxf
aWZfZmFpbCAod2lkdGggPiAwICYmIGhlaWdodCA+IDAsIE5VTEwpOworCisgIGlmICghZGVzdCkK
KyAgICB7CisgICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoZGVzdF94ID09IDAgJiYgZGVzdF95
ID09IDAsIE5VTEwpOworICAgICAgCisgICAgICBjb250ZW50ID0gY2Fpcm9fc3VyZmFjZV9nZXRf
Y29udGVudCAoc3VyZmFjZSkgfCBDQUlST19DT05URU5UX0NPTE9SOworICAgICAgZGVzdCA9IGdk
a19waXhidWZfbmV3IChHREtfQ09MT1JTUEFDRV9SR0IsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAhIShjb250ZW50ICYgQ0FJUk9fQ09OVEVOVF9BTFBIQSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBo
ZWlnaHQpOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
IChnZGtfcGl4YnVmX2dldF9jb2xvcnNwYWNlIChkZXN0KSA9PSBHREtfQ09MT1JTUEFDRV9SR0Is
IE5VTEwpOworICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGdka19waXhidWZfZ2V0X25fY2hh
bm5lbHMgKGRlc3QpID09IDMgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGtfcGl4
YnVmX2dldF9uX2NoYW5uZWxzIChkZXN0KSA9PSA0LCBOVUxMKTsKKyAgICAgIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsIChnZGtfcGl4YnVmX2dldF9iaXRzX3Blcl9zYW1wbGUgKGRlc3QpID09IDgsIE5V
TEwpOworICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGRlc3RfeCA+PSAwICYmIGRlc3RfeSA+
PSAwLCBOVUxMKTsKKyAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChkZXN0X3ggKyB3aWR0aCA8
PSBnZGtfcGl4YnVmX2dldF93aWR0aCAoZGVzdCksIE5VTEwpOworICAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwgKGRlc3RfeSArIGhlaWdodCA8PSBnZGtfcGl4YnVmX2dldF9oZWlnaHQgKGRlc3Qp
LCBOVUxMKTsKKworICAgICAgY29udGVudCA9IGdka19waXhidWZfZ2V0X2hhc19hbHBoYSAoZGVz
dCkgPyBDQUlST19DT05URU5UX0NPTE9SX0FMUEhBIDogQ0FJUk9fQ09OVEVOVF9DT0xPUjsKKyAg
ICB9CisKKyAgc3VyZmFjZSA9IGdka19jYWlyb19zdXJmYWNlX2NvZXJjZV90b19pbWFnZSAoc3Vy
ZmFjZSwgY29udGVudCwgc3JjX3ggKyB3aWR0aCwgc3JjX3kgKyBoZWlnaHQpOworICBjYWlyb19z
dXJmYWNlX2ZsdXNoIChzdXJmYWNlKTsKKyAgaWYgKGNhaXJvX3N1cmZhY2Vfc3RhdHVzIChzdXJm
YWNlKSB8fCBkZXN0ID09IE5VTEwpCisgICAgeworICAgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95
IChzdXJmYWNlKTsKKyAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICBpZiAoZ2RrX3BpeGJ1
Zl9nZXRfaGFzX2FscGhhIChkZXN0KSkKKyAgICBjb252ZXJ0X2FscGhhIChnZGtfcGl4YnVmX2dl
dF9waXhlbHMgKGRlc3QpLAorICAgICAgICAgICAgICAgICAgIGdka19waXhidWZfZ2V0X3Jvd3N0
cmlkZSAoZGVzdCksCisgICAgICAgICAgICAgICAgICAgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRf
ZGF0YSAoc3VyZmFjZSksCisgICAgICAgICAgICAgICAgICAgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9n
ZXRfc3RyaWRlIChzdXJmYWNlKSwKKyAgICAgICAgICAgICAgICAgICBzcmNfeCwgc3JjX3ksCisg
ICAgICAgICAgICAgICAgICAgZGVzdF94LCBkZXN0X3ksCisgICAgICAgICAgICAgICAgICAgd2lk
dGgsIGhlaWdodCk7CisgIGVsc2UKKyAgICBjb252ZXJ0X25vX2FscGhhIChnZGtfcGl4YnVmX2dl
dF9waXhlbHMgKGRlc3QpLAorICAgICAgICAgICAgICAgICAgICAgIGdka19waXhidWZfZ2V0X3Jv
d3N0cmlkZSAoZGVzdCksCisgICAgICAgICAgICAgICAgICAgICAgY2Fpcm9faW1hZ2Vfc3VyZmFj
ZV9nZXRfZGF0YSAoc3VyZmFjZSksCisgICAgICAgICAgICAgICAgICAgICAgY2Fpcm9faW1hZ2Vf
c3VyZmFjZV9nZXRfc3RyaWRlIChzdXJmYWNlKSwKKyAgICAgICAgICAgICAgICAgICAgICBzcmNf
eCwgc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgZGVzdF94LCBkZXN0X3ksCisgICAgICAg
ICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisKKyAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95
IChzdXJmYWNlKTsKKyAgcmV0dXJuIGRlc3Q7Cit9CisjZW5kaWYgLy9HVEtfQVBJX1ZFUlNJT05f
MgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCmluZGV4IGE4NzRlOWUuLjVhN2Q0Y2Eg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmgKQEAgLTkwLDYgKzkwLDEyIEBAIHZv
aWQgZ3RrX2FkanVzdG1lbnRfY29uZmlndXJlKEd0a0FkanVzdG1lbnQqIGFkanVzdG1lbnQsIGdk
b3VibGUgdmFsdWUsIGdkb3VibGUKIHZvaWQgZ3RrX2FkanVzdG1lbnRfc2V0X3ZhbHVlKEd0a0Fk
anVzdG1lbnQqIGFkanVzbWVudCwgZ2RvdWJsZSB2YWx1ZSk7CiAjZW5kaWYgLy8gR1RLX0NIRUNL
X1ZFUlNJT04oMiwgMTQsIDApCiAKKyNpZmRlZiBHVEtfQVBJX1ZFUlNJT05fMgorR2RrUGl4YnVm
ICpnZGtfcGl4YnVmX2dldF9mcm9tX3N1cmZhY2UoR2RrUGl4YnVmKiBkZXN0LCBjYWlyb19zdXJm
YWNlX3QqIHN1cmZhY2UsCisJCQkJICAgICAgIGludCBzcmNfeCwgaW50IHNyY195LCBpbnQgZGVz
dF94LCBpbnQgZGVzdF95LAorCQkJCSAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpOworI2Vu
ZGlmIC8vIEdUS19BUElfVkVSU0lPTl8yCisKIEdka0RldmljZSogZ2V0RGVmYXVsdEdES1BvaW50
ZXJEZXZpY2UoR2RrV2luZG93KiB3aW5kb3cpOwogR2RrQ3Vyc29yKiBibGFua0N1cnNvcigpOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69897</attachid>
            <date>2010-10-06 01:15:37 -0700</date>
            <delta_ts>2010-10-06 04:34:21 -0700</delta_ts>
            <desc>Updated patch to use GdkPixbuf when creating cursors</desc>
            <filename>cursor-pixbufs.diff</filename>
            <type>text/plain</type>
            <size>10503</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzI2MWI0MS4uMmFkMWRlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0xMC0wNiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIEdka1BpeGJ1ZiB0byBjcmVhdGUgcGxhdGZvcm0g
Y3Vyc29ycworCisgICAgICAgIGdka19jdXJzb3JfbmV3X2Zyb21fcGl4bWFwKCkgaGFzIGJlZW4g
cmVtb3ZlZCBpbiBndGszLiBXZSBjYW4gdXNlIGEKKyAgICAgICAgcGl4YnVmIGluc3RlYWQgb2Yg
YSBwaXhtYW4gYW5kIHVzZSBnZGtfY3Vyc29yX25ld19mcm9tX3BpeGJ1ZigpIGluc3RlYWQKKyAg
ICAgICAgZm9yIGJvdGggZ3RrMiBhbmQgZ3RrMy4KKworICAgICAgICBVc2UgcGl4YnVmcyBpbnN0
ZWFkIG9mIHBpeG1hcHMgd2hlbiBjcmVhdGluZyBwbGF0Zm9ybSBjdXJzb3JzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA4NworCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYW1lZEN1cnNvcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYzoKKyAgICAgICAgKGdka19jYWlyb19mb3JtYXRfZm9y
X2NvbnRlbnQpOgorICAgICAgICAoZ2RrX2NhaXJvX3N1cmZhY2VfY29lcmNlX3RvX2ltYWdlKToK
KyAgICAgICAgKGNvbnZlcnRfYWxwaGEpOgorICAgICAgICAoY29udmVydF9ub19hbHBoYSk6Cisg
ICAgICAgIChnZGtfcGl4YnVmX2dldF9mcm9tX3N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9HdGtWZXJzaW9uaW5nLmg6CisKIDIwMTAtMTAtMDEgIFZpbmNlbnQgU2NoZWliICA8c2No
ZWliQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9DdXJzb3JHdGsuY3BwCmluZGV4IGQxZjEyOTMuLjUyYTdmMTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ3Vyc29yR3RrLmgiCisjaW5jbHVkZSAiR3RrVmVyc2lvbmlu
Zy5oIgogCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgpAQCAtMzcs
MTkgKzM4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgR2RrUGl4bWFwKiBj
cmVhdGVQaXhtYXBGcm9tQml0cyhjb25zdCB1bnNpZ25lZCBjaGFyKiBiaXRzLCBjb25zdCBJbnRT
aXplJiBzaXplKQotewotICAgIGNhaXJvX3N1cmZhY2VfdCogZGF0YVN1cmZhY2UgPSBjYWlyb19p
bWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YShjb25zdF9jYXN0PHVuc2lnbmVkIGNoYXIqPihi
aXRzKSwgQ0FJUk9fRk9STUFUX0ExLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIHNpemUu
d2lkdGgoKSAvIDgpOwotICAgIEdka1BpeG1hcCogcGl4bWFwID0gZ2RrX3BpeG1hcF9uZXcoMCwg
c2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCAxKTsKLSAgICBjYWlyb190KiBjciA9IGdka19j
YWlyb19jcmVhdGUocGl4bWFwKTsKLSAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIGRh
dGFTdXJmYWNlLCAwLCAwKTsKLSAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJPX09QRVJB
VE9SX1NPVVJDRSk7Ci0gICAgY2Fpcm9fcGFpbnQoY3IpOwotICAgIGNhaXJvX2Rlc3Ryb3koY3Ip
OwotICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShkYXRhU3VyZmFjZSk7Ci0gICAgcmV0dXJuIHBp
eG1hcDsKLX0KLQogc3RhdGljIFBsYXRmb3JtUmVmUHRyPEdka0N1cnNvcj4gY3JlYXRlTmFtZWRD
dXJzb3IoQ3VzdG9tQ3Vyc29yVHlwZSBjdXJzb3JUeXBlKQogewogICAgIEN1c3RvbUN1cnNvciBj
dXJzb3IgPSBDdXN0b21DdXJzb3JzW2N1cnNvclR5cGVdOwpAQCAtNTcsMTIgKzQ1LDIzIEBAIHN0
YXRpYyBQbGF0Zm9ybVJlZlB0cjxHZGtDdXJzb3I+IGNyZWF0ZU5hbWVkQ3Vyc29yKEN1c3RvbUN1
cnNvclR5cGUgY3Vyc29yVHlwZSkKICAgICBpZiAoYykKICAgICAgICAgcmV0dXJuIGM7CiAKLSAg
ICBjb25zdCBHZGtDb2xvciBmZyA9IHsgMCwgMCwgMCwgMCB9OwotICAgIGNvbnN0IEdka0NvbG9y
IGJnID0geyA2NTUzNSwgNjU1MzUsIDY1NTM1LCA2NTUzNSB9OwogICAgIEludFNpemUgY3Vyc29y
U2l6ZSA9IEludFNpemUoMzIsIDMyKTsKLSAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhtYXA+IHNv
dXJjZSA9IGFkb3B0UGxhdGZvcm1SZWYoY3JlYXRlUGl4bWFwRnJvbUJpdHMoY3Vyc29yLmJpdHMs
IGN1cnNvclNpemUpKTsKLSAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhtYXA+IG1hc2sgPSBhZG9w
dFBsYXRmb3JtUmVmKGNyZWF0ZVBpeG1hcEZyb21CaXRzKGN1cnNvci5tYXNrX2JpdHMsIGN1cnNv
clNpemUpKTsKLSAgICByZXR1cm4gYWRvcHRQbGF0Zm9ybVJlZihnZGtfY3Vyc29yX25ld19mcm9t
X3BpeG1hcChzb3VyY2UuZ2V0KCksIG1hc2suZ2V0KCksICZmZywgJmJnLCBjdXJzb3IuaG90X3gs
IGN1cnNvci5ob3RfeSkpOworICAgIGNhaXJvX3N1cmZhY2VfdCogc291cmNlID0gY2Fpcm9faW1h
Z2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoY29uc3RfY2FzdDx1bnNpZ25lZCBjaGFyKj4oY3Vy
c29yLmJpdHMpLCBDQUlST19GT1JNQVRfQTEsIDMyLCAzMiwgNCk7CisgICAgY2Fpcm9fc3VyZmFj
ZV90KiBtYXNrID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoY29uc3RfY2Fz
dDx1bnNpZ25lZCBjaGFyKj4oY3Vyc29yLm1hc2tfYml0cyksIENBSVJPX0ZPUk1BVF9BMSwgMzIs
IDMyLCA0KTsKKyAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBjYWlyb19pbWFnZV9zdXJm
YWNlX2NyZWF0ZShDQUlST19GT1JNQVRfQTEsIDMyLCAzMik7CisgICAgY2Fpcm9fdCogY3IgPSBj
YWlyb19jcmVhdGUoc3VyZmFjZSk7CisKKyAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3Is
IHNvdXJjZSwgY3Vyc29yLmhvdF94LCBjdXJzb3IuaG90X3kpOworICAgIGNhaXJvX21hc2tfc3Vy
ZmFjZShjciwgbWFzaywgY3Vyc29yLmhvdF94LCBjdXJzb3IuaG90X3kpOworICAgIGNhaXJvX3N1
cmZhY2VfZGVzdHJveShzb3VyY2UpOworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShtYXNrKTsK
KyAgICBjYWlyb19kZXN0cm95KGNyKTsKKworICAgIEdka1BpeGJ1ZiogcGl4YnVmID0gZ2RrX3Bp
eGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKHN1cmZhY2UsIDAsIDAsIDMyLCAzMik7CisgICAgYyA9IGFk
b3B0UGxhdGZvcm1SZWYoZ2RrX2N1cnNvcl9uZXdfZnJvbV9waXhidWYoZ2RrX2Rpc3BsYXlfZ2V0
X2RlZmF1bHQoKSwgcGl4YnVmLCAwLCAwKSk7CisgICAgZ19vYmplY3RfdW5yZWYocGl4YnVmKTsK
KworICAgIHJldHVybiBjOwogfQogCiBzdGF0aWMgUGxhdGZvcm1SZWZQdHI8R2RrQ3Vyc29yPiBj
cmVhdGVDdXN0b21DdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYwppbmRleCBmNTQ2NmJlLi43YmY3YTU3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmMKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5jCkBAIC05OCwzICs5OCwxODMgQEAgY29u
c3QgZ2NoYXIqIGd0a19tZW51X2l0ZW1fZ2V0X2xhYmVsKEd0a01lbnVJdGVtKiBtZW51SXRlbSkK
ICAgICByZXR1cm4gMDsKIH0KICNlbmRpZiAvLyBHVEtfQ0hFQ0tfVkVSU0lPTigyLCAxNiwgMCkK
KworI2lmZGVmIEdUS19BUElfVkVSU0lPTl8yCitzdGF0aWMgY2Fpcm9fZm9ybWF0X3QKK2dka19j
YWlyb19mb3JtYXRfZm9yX2NvbnRlbnQgKGNhaXJvX2NvbnRlbnRfdCBjb250ZW50KQoreworICBz
d2l0Y2ggKGNvbnRlbnQpCisgICAgeworICAgIGNhc2UgQ0FJUk9fQ09OVEVOVF9DT0xPUjoKKyAg
ICAgIHJldHVybiBDQUlST19GT1JNQVRfUkdCMjQ7CisgICAgY2FzZSBDQUlST19DT05URU5UX0FM
UEhBOgorICAgICAgcmV0dXJuIENBSVJPX0ZPUk1BVF9BODsKKyAgICBjYXNlIENBSVJPX0NPTlRF
TlRfQ09MT1JfQUxQSEE6CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiBDQUlST19GT1JNQVRf
QVJHQjMyOworICAgIH0KK30KKworc3RhdGljIGNhaXJvX3N1cmZhY2VfdCAqCitnZGtfY2Fpcm9f
c3VyZmFjZV9jb2VyY2VfdG9faW1hZ2UgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fpcm9fY29udGVudF90IGNvbnRlbnQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkKK3sKKyAgY2Fpcm9fc3VyZmFjZV90
ICpjb3B5OworICBjYWlyb190ICpjcjsKKworICBpZiAoY2Fpcm9fc3VyZmFjZV9nZXRfdHlwZSAo
c3VyZmFjZSkgPT0gQ0FJUk9fU1VSRkFDRV9UWVBFX0lNQUdFICYmCisgICAgICBjYWlyb19zdXJm
YWNlX2dldF9jb250ZW50IChzdXJmYWNlKSA9PSBjb250ZW50ICYmCisgICAgICBjYWlyb19pbWFn
ZV9zdXJmYWNlX2dldF93aWR0aCAoc3VyZmFjZSkgPj0gd2lkdGggJiYKKyAgICAgIGNhaXJvX2lt
YWdlX3N1cmZhY2VfZ2V0X2hlaWdodCAoc3VyZmFjZSkgPj0gaGVpZ2h0KQorICAgIHJldHVybiBj
YWlyb19zdXJmYWNlX3JlZmVyZW5jZSAoc3VyZmFjZSk7CisKKyAgY29weSA9IGNhaXJvX2ltYWdl
X3N1cmZhY2VfY3JlYXRlIChnZGtfY2Fpcm9fZm9ybWF0X2Zvcl9jb250ZW50IChjb250ZW50KSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOworCisgIGNyID0gY2Fpcm9fY3JlYXRl
IChjb3B5KTsKKyAgY2Fpcm9fc2V0X29wZXJhdG9yIChjciwgQ0FJUk9fT1BFUkFUT1JfU09VUkNF
KTsKKyAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlIChjciwgc3VyZmFjZSwgMCwgMCk7CisgIGNh
aXJvX3BhaW50IChjcik7CisgIGNhaXJvX2Rlc3Ryb3kgKGNyKTsKKworICByZXR1cm4gY29weTsK
K30KKworc3RhdGljIHZvaWQKK2NvbnZlcnRfYWxwaGEgKGd1Y2hhciAgKmRlc3RfZGF0YSwKKyAg
ICAgICAgICAgICAgIGludCAgICAgIGRlc3Rfc3RyaWRlLAorICAgICAgICAgICAgICAgZ3VjaGFy
ICAqc3JjX2RhdGEsCisgICAgICAgICAgICAgICBpbnQgICAgICBzcmNfc3RyaWRlLAorICAgICAg
ICAgICAgICAgaW50ICAgICAgc3JjX3gsCisgICAgICAgICAgICAgICBpbnQgICAgICBzcmNfeSwK
KyAgICAgICAgICAgICAgIGludCAgICAgIHdpZHRoLAorICAgICAgICAgICAgICAgaW50ICAgICAg
aGVpZ2h0KQoreworICBpbnQgeCwgeTsKKworICBzcmNfZGF0YSArPSBzcmNfc3RyaWRlICogc3Jj
X3kgKyBzcmNfeCAqIDQ7CisKKyAgZm9yICh5ID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7CisgICAg
Z3VpbnQzMiAqc3JjID0gKGd1aW50MzIgKikgc3JjX2RhdGE7CisKKyAgICBmb3IgKHggPSAwOyB4
IDwgd2lkdGg7IHgrKykgeworICAgICAgZ3VpbnQgYWxwaGEgPSBzcmNbeF0gPj4gMjQ7CisKKyAg
ICAgIGlmIChhbHBoYSA9PSAwKQorICAgICAgICB7CisgICAgICAgICAgZGVzdF9kYXRhW3ggKiA0
ICsgMF0gPSAwOworICAgICAgICAgIGRlc3RfZGF0YVt4ICogNCArIDFdID0gMDsKKyAgICAgICAg
ICBkZXN0X2RhdGFbeCAqIDQgKyAyXSA9IDA7CisgICAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAg
ICAgeworICAgICAgICAgIGRlc3RfZGF0YVt4ICogNCArIDBdID0gKCgoc3JjW3hdICYgMHhmZjAw
MDApID4+IDE2KSAqIDI1NSArIGFscGhhIC8gMikgLyBhbHBoYTsKKyAgICAgICAgICBkZXN0X2Rh
dGFbeCAqIDQgKyAxXSA9ICgoKHNyY1t4XSAmIDB4MDBmZjAwKSA+PiAgOCkgKiAyNTUgKyBhbHBo
YSAvIDIpIC8gYWxwaGE7CisgICAgICAgICAgZGVzdF9kYXRhW3ggKiA0ICsgMl0gPSAoKChzcmNb
eF0gJiAweDAwMDBmZikgPj4gIDApICogMjU1ICsgYWxwaGEgLyAyKSAvIGFscGhhOworICAgICAg
ICB9CisgICAgICBkZXN0X2RhdGFbeCAqIDQgKyAzXSA9IGFscGhhOworICAgIH0KKworICAgIHNy
Y19kYXRhICs9IHNyY19zdHJpZGU7CisgICAgZGVzdF9kYXRhICs9IGRlc3Rfc3RyaWRlOworICB9
Cit9CisKK3N0YXRpYyB2b2lkCitjb252ZXJ0X25vX2FscGhhIChndWNoYXIgICpkZXN0X2RhdGEs
CisgICAgICAgICAgICAgICAgICBpbnQgICAgICBkZXN0X3N0cmlkZSwKKyAgICAgICAgICAgICAg
ICAgIGd1Y2hhciAgKnNyY19kYXRhLAorICAgICAgICAgICAgICAgICAgaW50ICAgICAgc3JjX3N0
cmlkZSwKKyAgICAgICAgICAgICAgICAgIGludCAgICAgIHNyY194LAorICAgICAgICAgICAgICAg
ICAgaW50ICAgICAgc3JjX3ksCisgICAgICAgICAgICAgICAgICBpbnQgICAgICB3aWR0aCwKKyAg
ICAgICAgICAgICAgICAgIGludCAgICAgIGhlaWdodCkKK3sKKyAgaW50IHgsIHk7CisKKyAgc3Jj
X2RhdGEgKz0gc3JjX3N0cmlkZSAqIHNyY195ICsgc3JjX3ggKiA0OworCisgIGZvciAoeSA9IDA7
IHkgPCBoZWlnaHQ7IHkrKykgeworICAgIGd1aW50MzIgKnNyYyA9IChndWludDMyICopIHNyY19k
YXRhOworCisgICAgZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4KyspIHsKKyAgICAgIGRlc3RfZGF0
YVt4ICogMyArIDBdID0gc3JjW3hdID4+IDE2OworICAgICAgZGVzdF9kYXRhW3ggKiAzICsgMV0g
PSBzcmNbeF0gPj4gIDg7CisgICAgICBkZXN0X2RhdGFbeCAqIDMgKyAyXSA9IHNyY1t4XTsKKyAg
ICB9CisKKyAgICBzcmNfZGF0YSArPSBzcmNfc3RyaWRlOworICAgIGRlc3RfZGF0YSArPSBkZXN0
X3N0cmlkZTsKKyAgfQorfQorCisvKioKKyAqIGdka19waXhidWZfZ2V0X2Zyb21fc3VyZmFjZToK
KyAqIEBzdXJmYWNlOiBzdXJmYWNlIHRvIGNvcHkgZnJvbQorICogQHNyY194OiBTb3VyY2UgWCBj
b29yZGluYXRlIHdpdGhpbiBAc3VyZmFjZQorICogQHNyY195OiBTb3VyY2UgWSBjb29yZGluYXRl
IHdpdGhpbiBAc3VyZmFjZQorICogQHdpZHRoOiBXaWR0aCBpbiBwaXhlbHMgb2YgcmVnaW9uIHRv
IGdldAorICogQGhlaWdodDogSGVpZ2h0IGluIHBpeGVscyBvZiByZWdpb24gdG8gZ2V0CisgKgor
ICogVHJhbnNmZXJzIGltYWdlIGRhdGEgZnJvbSBhICNjYWlyb19zdXJmYWNlX3QgYW5kIGNvbnZl
cnRzIGl0IHRvIGFuIFJHQihBKQorICogcmVwcmVzZW50YXRpb24gaW5zaWRlIGEgI0dka1BpeGJ1
Zi4gVGhpcyBhbGxvd3MgeW91IHRvIGVmZmljaWVudGx5IHJlYWQKKyAqIGluZGl2aWR1YWwgcGl4
ZWxzIGZyb20gY2Fpcm8gc3VyZmFjZXMuIEZvciAjR2RrV2luZG93cywgdXNlCisgKiBnZGtfcGl4
YnVmX2dldF9mcm9tX3dpbmRvdygpIGluc3RlYWQuCisgKgorICogVGhpcyBmdW5jdGlvbiB3aWxs
IGNyZWF0ZSBhbiBSR0IgcGl4YnVmIHdpdGggOCBiaXRzIHBlciBjaGFubmVsLiBUaGUgcGl4YnVm
CisgKiB3aWxsIGNvbnRhaW4gYW4gYWxwaGEgY2hhbm5lbCBpZiB0aGUgQHN1cmZhY2UgY29udGFp
bnMgb25lLgorICoKKyAqIFJldHVybiB2YWx1ZTogKHRyYW5zZmVyIGZ1bGwpOiBBIG5ld2x5LWNy
ZWF0ZWQgcGl4YnVmIHdpdGggYSByZWZlcmVuY2UgY291bnQKKyAqIG9mIDEsIG9yICVOVUxMIG9u
IGVycm9yCisgKiovCitHZGtQaXhidWYgKgorZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9zdXJmYWNlICAo
Y2Fpcm9fc3VyZmFjZV90ICpzdXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ICAgICAgICAgICAgICBzcmNfeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCAgICAgICAgICAgICAgc3JjX3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ICAgICAgICAgICAgIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAg
ICAgICAgICAgICBoZWlnaHQpCit7CisgIGNhaXJvX2NvbnRlbnRfdCBjb250ZW50OworICBHZGtQ
aXhidWYgKmRlc3Q7CisgIAorICAvKiBHZW5lcmFsIHNhbml0eSBjaGVja3MgKi8KKyAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwgKHN1cmZhY2UgIT0gTlVMTCwgTlVMTCk7CisgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsIChzcmNfeCA+PSAwICYmIHNyY195ID49IDAsIE5VTEwpOworICBnX3JldHVybl92YWxf
aWZfZmFpbCAod2lkdGggPiAwICYmIGhlaWdodCA+IDAsIE5VTEwpOworCisgIGNvbnRlbnQgPSBj
YWlyb19zdXJmYWNlX2dldF9jb250ZW50IChzdXJmYWNlKSB8IENBSVJPX0NPTlRFTlRfQ09MT1I7
CisgIGRlc3QgPSBnZGtfcGl4YnVmX25ldyAoR0RLX0NPTE9SU1BBQ0VfUkdCLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICEhKGNvbnRlbnQgJiBDQUlST19DT05URU5UX0FMUEhBKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICA4LAorICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBo
ZWlnaHQpOworCisgIHN1cmZhY2UgPSBnZGtfY2Fpcm9fc3VyZmFjZV9jb2VyY2VfdG9faW1hZ2Ug
KHN1cmZhY2UsIGNvbnRlbnQsIHNyY194ICsgd2lkdGgsIHNyY195ICsgaGVpZ2h0KTsKKyAgY2Fp
cm9fc3VyZmFjZV9mbHVzaCAoc3VyZmFjZSk7CisgIGlmIChjYWlyb19zdXJmYWNlX3N0YXR1cyAo
c3VyZmFjZSkgfHwgZGVzdCA9PSBOVUxMKQorICAgIHsKKyAgICAgIGNhaXJvX3N1cmZhY2VfZGVz
dHJveSAoc3VyZmFjZSk7CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgaWYgKGdka19w
aXhidWZfZ2V0X2hhc19hbHBoYSAoZGVzdCkpCisgICAgY29udmVydF9hbHBoYSAoZ2RrX3BpeGJ1
Zl9nZXRfcGl4ZWxzIChkZXN0KSwKKyAgICAgICAgICAgICAgICAgICBnZGtfcGl4YnVmX2dldF9y
b3dzdHJpZGUgKGRlc3QpLAorICAgICAgICAgICAgICAgICAgIGNhaXJvX2ltYWdlX3N1cmZhY2Vf
Z2V0X2RhdGEgKHN1cmZhY2UpLAorICAgICAgICAgICAgICAgICAgIGNhaXJvX2ltYWdlX3N1cmZh
Y2VfZ2V0X3N0cmlkZSAoc3VyZmFjZSksCisgICAgICAgICAgICAgICAgICAgc3JjX3gsIHNyY195
LAorICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworICBlbHNlCisgICAgY29udmVy
dF9ub19hbHBoYSAoZ2RrX3BpeGJ1Zl9nZXRfcGl4ZWxzIChkZXN0KSwKKyAgICAgICAgICAgICAg
ICAgICAgICBnZGtfcGl4YnVmX2dldF9yb3dzdHJpZGUgKGRlc3QpLAorICAgICAgICAgICAgICAg
ICAgICAgIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEgKHN1cmZhY2UpLAorICAgICAgICAg
ICAgICAgICAgICAgIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3N0cmlkZSAoc3VyZmFjZSksCisg
ICAgICAgICAgICAgICAgICAgICAgc3JjX3gsIHNyY195LAorICAgICAgICAgICAgICAgICAgICAg
IHdpZHRoLCBoZWlnaHQpOworCisgIGNhaXJvX3N1cmZhY2VfZGVzdHJveSAoc3VyZmFjZSk7Cisg
IHJldHVybiBkZXN0OworfQorI2VuZGlmIC8vR1RLX0FQSV9WRVJTSU9OXzIKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0d0a1ZlcnNpb25pbmcuaAppbmRleCBhODc0ZTllLi5lYjBiZTVjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvR3RrVmVyc2lvbmluZy5oCkBAIC05MCw2ICs5MCwxMSBAQCB2b2lkIGd0a19hZGp1c3Rt
ZW50X2NvbmZpZ3VyZShHdGtBZGp1c3RtZW50KiBhZGp1c3RtZW50LCBnZG91YmxlIHZhbHVlLCBn
ZG91YmxlCiB2b2lkIGd0a19hZGp1c3RtZW50X3NldF92YWx1ZShHdGtBZGp1c3RtZW50KiBhZGp1
c21lbnQsIGdkb3VibGUgdmFsdWUpOwogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9OKDIsIDE0
LCAwKQogCisjaWZkZWYgR1RLX0FQSV9WRVJTSU9OXzIKK0dka1BpeGJ1ZiAqZ2RrX3BpeGJ1Zl9n
ZXRfZnJvbV9zdXJmYWNlKGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSwgaW50IHNyY194LCBpbnQg
c3JjX3ksCisJCQkJICAgICAgIGludCBkZXN0X3gsIGludCBkZXN0X3ksIGludCB3aWR0aCwgaW50
IGhlaWdodCk7CisjZW5kaWYgLy8gR1RLX0FQSV9WRVJTSU9OXzIKKwogR2RrRGV2aWNlKiBnZXRE
ZWZhdWx0R0RLUG9pbnRlckRldmljZShHZGtXaW5kb3cqIHdpbmRvdyk7CiBHZGtDdXJzb3IqIGJs
YW5rQ3Vyc29yKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69922</attachid>
            <date>2010-10-06 04:34:21 -0700</date>
            <delta_ts>2010-10-06 06:05:13 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>cursor-pixbufs.diff</filename>
            <type>text/plain</type>
            <size>10267</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzI2MWI0MS4uMmFkMWRlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0xMC0wNiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIEdka1BpeGJ1ZiB0byBjcmVhdGUgcGxhdGZvcm0g
Y3Vyc29ycworCisgICAgICAgIGdka19jdXJzb3JfbmV3X2Zyb21fcGl4bWFwKCkgaGFzIGJlZW4g
cmVtb3ZlZCBpbiBndGszLiBXZSBjYW4gdXNlIGEKKyAgICAgICAgcGl4YnVmIGluc3RlYWQgb2Yg
YSBwaXhtYW4gYW5kIHVzZSBnZGtfY3Vyc29yX25ld19mcm9tX3BpeGJ1ZigpIGluc3RlYWQKKyAg
ICAgICAgZm9yIGJvdGggZ3RrMiBhbmQgZ3RrMy4KKworICAgICAgICBVc2UgcGl4YnVmcyBpbnN0
ZWFkIG9mIHBpeG1hcHMgd2hlbiBjcmVhdGluZyBwbGF0Zm9ybSBjdXJzb3JzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA4NworCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYW1lZEN1cnNvcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYzoKKyAgICAgICAgKGdka19jYWlyb19mb3JtYXRfZm9y
X2NvbnRlbnQpOgorICAgICAgICAoZ2RrX2NhaXJvX3N1cmZhY2VfY29lcmNlX3RvX2ltYWdlKToK
KyAgICAgICAgKGNvbnZlcnRfYWxwaGEpOgorICAgICAgICAoY29udmVydF9ub19hbHBoYSk6Cisg
ICAgICAgIChnZGtfcGl4YnVmX2dldF9mcm9tX3N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9HdGtWZXJzaW9uaW5nLmg6CisKIDIwMTAtMTAtMDEgIFZpbmNlbnQgU2NoZWliICA8c2No
ZWliQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9DdXJzb3JHdGsuY3BwCmluZGV4IGQxZjEyOTMuLjUyYTdmMTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0ay5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ3Vyc29yR3RrLmgiCisjaW5jbHVkZSAiR3RrVmVyc2lvbmlu
Zy5oIgogCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgpAQCAtMzcs
MTkgKzM4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgR2RrUGl4bWFwKiBj
cmVhdGVQaXhtYXBGcm9tQml0cyhjb25zdCB1bnNpZ25lZCBjaGFyKiBiaXRzLCBjb25zdCBJbnRT
aXplJiBzaXplKQotewotICAgIGNhaXJvX3N1cmZhY2VfdCogZGF0YVN1cmZhY2UgPSBjYWlyb19p
bWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YShjb25zdF9jYXN0PHVuc2lnbmVkIGNoYXIqPihi
aXRzKSwgQ0FJUk9fRk9STUFUX0ExLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIHNpemUu
d2lkdGgoKSAvIDgpOwotICAgIEdka1BpeG1hcCogcGl4bWFwID0gZ2RrX3BpeG1hcF9uZXcoMCwg
c2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCAxKTsKLSAgICBjYWlyb190KiBjciA9IGdka19j
YWlyb19jcmVhdGUocGl4bWFwKTsKLSAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3IsIGRh
dGFTdXJmYWNlLCAwLCAwKTsKLSAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJPX09QRVJB
VE9SX1NPVVJDRSk7Ci0gICAgY2Fpcm9fcGFpbnQoY3IpOwotICAgIGNhaXJvX2Rlc3Ryb3koY3Ip
OwotICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShkYXRhU3VyZmFjZSk7Ci0gICAgcmV0dXJuIHBp
eG1hcDsKLX0KLQogc3RhdGljIFBsYXRmb3JtUmVmUHRyPEdka0N1cnNvcj4gY3JlYXRlTmFtZWRD
dXJzb3IoQ3VzdG9tQ3Vyc29yVHlwZSBjdXJzb3JUeXBlKQogewogICAgIEN1c3RvbUN1cnNvciBj
dXJzb3IgPSBDdXN0b21DdXJzb3JzW2N1cnNvclR5cGVdOwpAQCAtNTcsMTIgKzQ1LDIzIEBAIHN0
YXRpYyBQbGF0Zm9ybVJlZlB0cjxHZGtDdXJzb3I+IGNyZWF0ZU5hbWVkQ3Vyc29yKEN1c3RvbUN1
cnNvclR5cGUgY3Vyc29yVHlwZSkKICAgICBpZiAoYykKICAgICAgICAgcmV0dXJuIGM7CiAKLSAg
ICBjb25zdCBHZGtDb2xvciBmZyA9IHsgMCwgMCwgMCwgMCB9OwotICAgIGNvbnN0IEdka0NvbG9y
IGJnID0geyA2NTUzNSwgNjU1MzUsIDY1NTM1LCA2NTUzNSB9OwogICAgIEludFNpemUgY3Vyc29y
U2l6ZSA9IEludFNpemUoMzIsIDMyKTsKLSAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhtYXA+IHNv
dXJjZSA9IGFkb3B0UGxhdGZvcm1SZWYoY3JlYXRlUGl4bWFwRnJvbUJpdHMoY3Vyc29yLmJpdHMs
IGN1cnNvclNpemUpKTsKLSAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhtYXA+IG1hc2sgPSBhZG9w
dFBsYXRmb3JtUmVmKGNyZWF0ZVBpeG1hcEZyb21CaXRzKGN1cnNvci5tYXNrX2JpdHMsIGN1cnNv
clNpemUpKTsKLSAgICByZXR1cm4gYWRvcHRQbGF0Zm9ybVJlZihnZGtfY3Vyc29yX25ld19mcm9t
X3BpeG1hcChzb3VyY2UuZ2V0KCksIG1hc2suZ2V0KCksICZmZywgJmJnLCBjdXJzb3IuaG90X3gs
IGN1cnNvci5ob3RfeSkpOworICAgIGNhaXJvX3N1cmZhY2VfdCogc291cmNlID0gY2Fpcm9faW1h
Z2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoY29uc3RfY2FzdDx1bnNpZ25lZCBjaGFyKj4oY3Vy
c29yLmJpdHMpLCBDQUlST19GT1JNQVRfQTEsIDMyLCAzMiwgNCk7CisgICAgY2Fpcm9fc3VyZmFj
ZV90KiBtYXNrID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoY29uc3RfY2Fz
dDx1bnNpZ25lZCBjaGFyKj4oY3Vyc29yLm1hc2tfYml0cyksIENBSVJPX0ZPUk1BVF9BMSwgMzIs
IDMyLCA0KTsKKyAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBjYWlyb19pbWFnZV9zdXJm
YWNlX2NyZWF0ZShDQUlST19GT1JNQVRfQTEsIDMyLCAzMik7CisgICAgY2Fpcm9fdCogY3IgPSBj
YWlyb19jcmVhdGUoc3VyZmFjZSk7CisKKyAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2UoY3Is
IHNvdXJjZSwgY3Vyc29yLmhvdF94LCBjdXJzb3IuaG90X3kpOworICAgIGNhaXJvX21hc2tfc3Vy
ZmFjZShjciwgbWFzaywgY3Vyc29yLmhvdF94LCBjdXJzb3IuaG90X3kpOworICAgIGNhaXJvX3N1
cmZhY2VfZGVzdHJveShzb3VyY2UpOworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShtYXNrKTsK
KyAgICBjYWlyb19kZXN0cm95KGNyKTsKKworICAgIEdka1BpeGJ1ZiogcGl4YnVmID0gZ2RrX3Bp
eGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKHN1cmZhY2UsIDAsIDAsIDMyLCAzMik7CisgICAgYyA9IGFk
b3B0UGxhdGZvcm1SZWYoZ2RrX2N1cnNvcl9uZXdfZnJvbV9waXhidWYoZ2RrX2Rpc3BsYXlfZ2V0
X2RlZmF1bHQoKSwgcGl4YnVmLCAwLCAwKSk7CisgICAgZ19vYmplY3RfdW5yZWYocGl4YnVmKTsK
KworICAgIHJldHVybiBjOwogfQogCiBzdGF0aWMgUGxhdGZvcm1SZWZQdHI8R2RrQ3Vyc29yPiBj
cmVhdGVDdXN0b21DdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYwppbmRleCBmNTQ2NmJlLi4zMWQ1ODczIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmMKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5jCkBAIC05OCwzICs5OCwxNjYgQEAgY29u
c3QgZ2NoYXIqIGd0a19tZW51X2l0ZW1fZ2V0X2xhYmVsKEd0a01lbnVJdGVtKiBtZW51SXRlbSkK
ICAgICByZXR1cm4gMDsKIH0KICNlbmRpZiAvLyBHVEtfQ0hFQ0tfVkVSU0lPTigyLCAxNiwgMCkK
KworI2lmZGVmIEdUS19BUElfVkVSU0lPTl8yCitzdGF0aWMgY2Fpcm9fZm9ybWF0X3QKK2dka19j
YWlyb19mb3JtYXRfZm9yX2NvbnRlbnQoY2Fpcm9fY29udGVudF90IGNvbnRlbnQpCit7CisgICAg
c3dpdGNoIChjb250ZW50KSB7CisgICAgY2FzZSBDQUlST19DT05URU5UX0NPTE9SOgorICAgICAg
ICByZXR1cm4gQ0FJUk9fRk9STUFUX1JHQjI0OworICAgIGNhc2UgQ0FJUk9fQ09OVEVOVF9BTFBI
QToKKyAgICAgICAgcmV0dXJuIENBSVJPX0ZPUk1BVF9BODsKKyAgICBjYXNlIENBSVJPX0NPTlRF
TlRfQ09MT1JfQUxQSEE6CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENBSVJPX0ZPUk1B
VF9BUkdCMzI7CisgICAgfQorfQorCitzdGF0aWMgY2Fpcm9fc3VyZmFjZV90KgorZ2RrX2NhaXJv
X3N1cmZhY2VfY29lcmNlX3RvX2ltYWdlKGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWlyb19jb250ZW50X3QgY29udGVudCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkKK3sKKyAgICBjYWlyb19zdXJmYWNlX3Qg
KiBjb3B5OworICAgIGNhaXJvX3QgKiBjcjsKKworICAgIGlmIChjYWlyb19zdXJmYWNlX2dldF90
eXBlKHN1cmZhY2UpID09IENBSVJPX1NVUkZBQ0VfVFlQRV9JTUFHRQorICAgICAgICAmJiBjYWly
b19zdXJmYWNlX2dldF9jb250ZW50KHN1cmZhY2UpID09IGNvbnRlbnQKKyAgICAgICAgJiYgY2Fp
cm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFjZSkgPj0gd2lkdGgKKyAgICAgICAgJiYg
Y2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KHN1cmZhY2UpID49IGhlaWdodCkKKyAgICAg
ICAgcmV0dXJuIGNhaXJvX3N1cmZhY2VfcmVmZXJlbmNlKHN1cmZhY2UpOworCisgICAgY29weSA9
IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlKGdka19jYWlyb19mb3JtYXRfZm9yX2NvbnRlbnQo
Y29udGVudCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQpOworCisgICAgY3Ig
PSBjYWlyb19jcmVhdGUoY29weSk7CisgICAgY2Fpcm9fc2V0X29wZXJhdG9yKGNyLCBDQUlST19P
UEVSQVRPUl9TT1VSQ0UpOworICAgIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShjciwgc3VyZmFj
ZSwgMCwgMCk7CisgICAgY2Fpcm9fcGFpbnQoY3IpOworICAgIGNhaXJvX2Rlc3Ryb3koY3IpOwor
CisgICAgcmV0dXJuIGNvcHk7Cit9CisKK3N0YXRpYyB2b2lkCitjb252ZXJ0X2FscGhhKGd1Y2hh
ciAqIGRlc3REYXRhLCBpbnQgZGVzdFN0cmlkZSwKKyAgICAgICAgICAgICAgZ3VjaGFyICogc3Jj
RGF0YSwgaW50IHNyY1N0cmlkZSwKKyAgICAgICAgICAgICAgaW50IHNyY1gsIGludCBzcmNZLCBp
bnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgaW50IHgsIHk7CisKKyAgICBzcmNEYXRhICs9
IHNyY1N0cmlkZSAqIHNyY1kgKyBzcmNZICogNDsKKworICAgIGZvciAoeSA9IDA7IHkgPCBoZWln
aHQ7IHkrKykgeworICAgICAgICBndWludDMyICogc3JjID0gKGd1aW50MzIgKikgc3JjRGF0YTsK
KworICAgICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAgZ3Vp
bnQgYWxwaGEgPSBzcmNbeF0gPj4gMjQ7CisKKyAgICAgICAgICAgIGlmICghYWxwaGEpIHsKKyAg
ICAgICAgICAgICAgICBkZXN0RGF0YVt4ICogNCArIDBdID0gMDsKKyAgICAgICAgICAgICAgICBk
ZXN0RGF0YVt4ICogNCArIDFdID0gMDsKKyAgICAgICAgICAgICAgICBkZXN0RGF0YVt4ICogNCAr
IDJdID0gMDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZGVzdERhdGFb
eCAqIDQgKyAwXSA9ICgoKHNyY1t4XSAmIDB4ZmYwMDAwKSA+PiAxNikgKiAyNTUgKyBhbHBoYSAv
IDIpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgZGVzdERhdGFbeCAqIDQgKyAxXSA9ICgoKHNy
Y1t4XSAmIDB4MDBmZjAwKSA+PiAgOCkgKiAyNTUgKyBhbHBoYSAvIDIpIC8gYWxwaGE7CisgICAg
ICAgICAgICAgICAgZGVzdERhdGFbeCAqIDQgKyAyXSA9ICgoKHNyY1t4XSAmIDB4MDAwMGZmKSA+
PiAgMCkgKiAyNTUgKyBhbHBoYSAvIDIpIC8gYWxwaGE7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBkZXN0RGF0YVt4ICogNCArIDNdID0gYWxwaGE7CisgICAgICAgIH0KKworICAgICAgICBz
cmNEYXRhICs9IHNyY1N0cmlkZTsKKyAgICAgICAgZGVzdERhdGEgKz0gZGVzdFN0cmlkZTsKKyAg
ICB9Cit9CisKK3N0YXRpYyB2b2lkCitjb252ZXJ0X25vX2FscGhhKGd1Y2hhciAqIGRlc3REYXRh
LCBpbnQgZGVzdFN0cmlkZSwgZ3VjaGFyICogc3JjRGF0YSwKKyAgICAgICAgICAgICAgICAgaW50
IHNyY1N0cmlkZSwgaW50IHNyY1gsIGludCBzcmNZLAorICAgICAgICAgICAgICAgICBpbnQgd2lk
dGgsIGludCBoZWlnaHQpCit7CisgICAgaW50IHgsIHk7CisKKyAgICBzcmNEYXRhICs9IHNyY1N0
cmlkZSAqIHNyY1kgKyBzcmNYICogNDsKKworICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkr
KykgeworICAgICAgICBndWludDMyICogc3JjID0gKGd1aW50MzIgKikgc3JjRGF0YTsKKworICAg
ICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAgZGVzdERhdGFb
eCAqIDMgKyAwXSA9IHNyY1t4XSA+PiAxNjsKKyAgICAgICAgICAgIGRlc3REYXRhW3ggKiAzICsg
MV0gPSBzcmNbeF0gPj4gIDg7CisgICAgICAgICAgICBkZXN0RGF0YVt4ICogMyArIDJdID0gc3Jj
W3hdOworICAgICAgICB9CisKKyAgICAgICAgc3JjRGF0YSArPSBzcmNTdHJpZGU7CisgICAgICAg
IGRlc3REYXRhICs9IGRlc3RTdHJpZGU7CisgICAgfQorfQorCisvKioKKyAqIGdka19waXhidWZf
Z2V0X2Zyb21fc3VyZmFjZToKKyAqIEBzdXJmYWNlOiBzdXJmYWNlIHRvIGNvcHkgZnJvbQorICog
QHNyY194OiBTb3VyY2UgWCBjb29yZGluYXRlIHdpdGhpbiBAc3VyZmFjZQorICogQHNyY195OiBT
b3VyY2UgWSBjb29yZGluYXRlIHdpdGhpbiBAc3VyZmFjZQorICogQHdpZHRoOiBXaWR0aCBpbiBw
aXhlbHMgb2YgcmVnaW9uIHRvIGdldAorICogQGhlaWdodDogSGVpZ2h0IGluIHBpeGVscyBvZiBy
ZWdpb24gdG8gZ2V0CisgKgorICogVHJhbnNmZXJzIGltYWdlIGRhdGEgZnJvbSBhICNjYWlyb19z
dXJmYWNlX3QgYW5kIGNvbnZlcnRzIGl0IHRvIGFuIFJHQihBKQorICogcmVwcmVzZW50YXRpb24g
aW5zaWRlIGEgI0dka1BpeGJ1Zi4gVGhpcyBhbGxvd3MgeW91IHRvIGVmZmljaWVudGx5IHJlYWQK
KyAqIGluZGl2aWR1YWwgcGl4ZWxzIGZyb20gY2Fpcm8gc3VyZmFjZXMuIEZvciAjR2RrV2luZG93
cywgdXNlCisgKiBnZGtfcGl4YnVmX2dldF9mcm9tX3dpbmRvdygpIGluc3RlYWQuCisgKgorICog
VGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSBhbiBSR0IgcGl4YnVmIHdpdGggOCBiaXRzIHBlciBj
aGFubmVsLiBUaGUgcGl4YnVmCisgKiB3aWxsIGNvbnRhaW4gYW4gYWxwaGEgY2hhbm5lbCBpZiB0
aGUgQHN1cmZhY2UgY29udGFpbnMgb25lLgorICoKKyAqIFJldHVybiB2YWx1ZTogKHRyYW5zZmVy
IGZ1bGwpOiBBIG5ld2x5LWNyZWF0ZWQgcGl4YnVmIHdpdGggYSByZWZlcmVuY2UgY291bnQKKyAq
IG9mIDEsIG9yICVOVUxMIG9uIGVycm9yCisgKiovCitHZGtQaXhidWYqCitnZGtfcGl4YnVmX2dl
dF9mcm9tX3N1cmZhY2UoY2Fpcm9fc3VyZmFjZV90ICogc3VyZmFjZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgc3JjWCwgaW50IHNyY1ksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworICAgIGNhaXJvX2NvbnRlbnRfdCBjb250
ZW50OworICAgIEdka1BpeGJ1ZiAqIGRlc3Q7CisKKyAgICAvKiBHZW5lcmFsIHNhbml0eSBjaGVj
a3MgKi8KKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCghc3VyZmFjZSwgTlVMTCk7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoc3JjWCA+PSAwICYmIHNyY1kgPj0gMCwgTlVMTCk7CisgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwod2lkdGggPiAwICYmIGhlaWdodCA+IDAsIE5VTEwpOworCisgICAg
Y29udGVudCA9IGNhaXJvX3N1cmZhY2VfZ2V0X2NvbnRlbnQoc3VyZmFjZSkgfCBDQUlST19DT05U
RU5UX0NPTE9SOworICAgIGRlc3QgPSBnZGtfcGl4YnVmX25ldyhHREtfQ09MT1JTUEFDRV9SR0Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICEhKGNvbnRlbnQgJiBDQUlST19DT05URU5UX0FM
UEhBKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgOCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgd2lkdGgsIGhlaWdodCk7CisKKyAgICBzdXJmYWNlID0gZ2RrX2NhaXJvX3N1cmZhY2Vf
Y29lcmNlX3RvX2ltYWdlKHN1cmZhY2UsIGNvbnRlbnQsIHNyY1ggKyB3aWR0aCwgc3JjWSArIGhl
aWdodCk7CisgICAgY2Fpcm9fc3VyZmFjZV9mbHVzaChzdXJmYWNlKTsKKyAgICBpZiAoY2Fpcm9f
c3VyZmFjZV9zdGF0dXMoc3VyZmFjZSkgfHwgIWRlc3QpIHsKKyAgICAgICAgY2Fpcm9fc3VyZmFj
ZV9kZXN0cm95KHN1cmZhY2UpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBp
ZiAoZ2RrX3BpeGJ1Zl9nZXRfaGFzX2FscGhhKGRlc3QpKQorICAgICAgICBjb252ZXJ0X2FscGhh
KGdka19waXhidWZfZ2V0X3BpeGVscyhkZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgZ2Rr
X3BpeGJ1Zl9nZXRfcm93c3RyaWRlKGRlc3QpLAorICAgICAgICAgICAgICAgICAgICAgICBjYWly
b19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKHN1cmZhY2UpLAorICAgICAgICAgICAgICAgICAgICAg
ICBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoc3VyZmFjZSksCisgICAgICAgICAgICAg
ICAgICAgICAgIHNyY1gsIHNyY1ksCisgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBoZWln
aHQpOworICAgIGVsc2UKKyAgICAgICAgY29udmVydF9ub19hbHBoYShnZGtfcGl4YnVmX2dldF9w
aXhlbHMoZGVzdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdka19waXhidWZfZ2V0X3Jv
d3N0cmlkZShkZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fpcm9faW1hZ2Vfc3Vy
ZmFjZV9nZXRfZGF0YShzdXJmYWNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fpcm9f
aW1hZ2Vfc3VyZmFjZV9nZXRfc3RyaWRlKHN1cmZhY2UpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBzcmNYLCBzcmNZLAorICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0
KTsKKworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShzdXJmYWNlKTsKKyAgICByZXR1cm4gZGVz
dDsKK30KKyNlbmRpZiAvLyBHVEtfQVBJX1ZFUlNJT05fMgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVy
c2lvbmluZy5oCmluZGV4IGE4NzRlOWUuLjdjZDY3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtW
ZXJzaW9uaW5nLmgKQEAgLTkwLDYgKzkwLDExIEBAIHZvaWQgZ3RrX2FkanVzdG1lbnRfY29uZmln
dXJlKEd0a0FkanVzdG1lbnQqIGFkanVzdG1lbnQsIGdkb3VibGUgdmFsdWUsIGdkb3VibGUKIHZv
aWQgZ3RrX2FkanVzdG1lbnRfc2V0X3ZhbHVlKEd0a0FkanVzdG1lbnQqIGFkanVzbWVudCwgZ2Rv
dWJsZSB2YWx1ZSk7CiAjZW5kaWYgLy8gR1RLX0NIRUNLX1ZFUlNJT04oMiwgMTQsIDApCiAKKyNp
ZmRlZiBHVEtfQVBJX1ZFUlNJT05fMgorR2RrUGl4YnVmKiBnZGtfcGl4YnVmX2dldF9mcm9tX3N1
cmZhY2UoY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlLCBpbnQgc3JjWCwgaW50IHNyY1ksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQp
OworI2VuZGlmIC8vIEdUS19BUElfVkVSU0lPTl8yCisKIEdka0RldmljZSogZ2V0RGVmYXVsdEdE
S1BvaW50ZXJEZXZpY2UoR2RrV2luZG93KiB3aW5kb3cpOwogR2RrQ3Vyc29yKiBibGFua0N1cnNv
cigpOwogCg==
</data>
<flag name="review"
          id="59682"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69928</attachid>
            <date>2010-10-06 06:05:13 -0700</date>
            <delta_ts>2010-10-06 07:23:50 -0700</delta_ts>
            <desc>New patch according to review</desc>
            <filename>cursor-pixbufs.diff</filename>
            <type>text/plain</type>
            <size>10203</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzI2MWI0MS4uODYyZTA5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0xMC0wNiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gVXNlIHBpeGJ1ZnMgaW5zdGVhZCBvZiBwaXht
YXBzIHdoZW4gY3JlYXRpbmcgcGxhdGZvcm0gY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcwODcKKworICAgICAgICBnZGtfY3Vyc29yX25l
d19mcm9tX3BpeG1hcCgpIGhhcyBiZWVuIHJlbW92ZWQgaW4gZ3RrMy4gV2UgY2FuIHVzZSBhCisg
ICAgICAgIHBpeGJ1ZiBpbnN0ZWFkIG9mIGEgcGl4bWFuIGFuZCB1c2UgZ2RrX2N1cnNvcl9uZXdf
ZnJvbV9waXhidWYoKSBpbnN0ZWFkCisgICAgICAgIGZvciBib3RoIGd0azIgYW5kIGd0azMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZU5hbWVkQ3Vyc29yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmlu
Zy5jOgorICAgICAgICAoZ2RrX2NhaXJvX2Zvcm1hdF9mb3JfY29udGVudCk6CisgICAgICAgIChn
ZGtfY2Fpcm9fc3VyZmFjZV9jb2VyY2VfdG9faW1hZ2UpOgorICAgICAgICAoY29udmVydF9hbHBo
YSk6CisgICAgICAgIChjb252ZXJ0X25vX2FscGhhKToKKyAgICAgICAgKGdka19waXhidWZfZ2V0
X2Zyb21fc3VyZmFjZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaDoK
KwogMjAxMC0xMC0wMSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0
ay5jcHAKaW5kZXggZDFmMTI5My4uNzZhNTg4MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvQ3Vyc29yR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DdXJzb3JHdGsu
Y3BwCkBAIC0yOCwyOCArMjgsMTcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkN1cnNvckd0ay5oIgorI2luY2x1ZGUgIkd0a1ZlcnNpb25pbmcuaCIKIAogI2luY2x1ZGUgIklt
YWdlLmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVJlZlB0ckNh
aXJvLmgiCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgogI2luY2x1ZGUgPGd0ay9ndGsuaD4KICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBH
ZGtQaXhtYXAqIGNyZWF0ZVBpeG1hcEZyb21CaXRzKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJpdHMs
IGNvbnN0IEludFNpemUmIHNpemUpCi17Ci0gICAgY2Fpcm9fc3VyZmFjZV90KiBkYXRhU3VyZmFj
ZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKGNvbnN0X2Nhc3Q8dW5zaWdu
ZWQgY2hhcio+KGJpdHMpLCBDQUlST19GT1JNQVRfQTEsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWln
aHQoKSwgc2l6ZS53aWR0aCgpIC8gOCk7Ci0gICAgR2RrUGl4bWFwKiBwaXhtYXAgPSBnZGtfcGl4
bWFwX25ldygwLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIDEpOwotICAgIGNhaXJvX3Qq
IGNyID0gZ2RrX2NhaXJvX2NyZWF0ZShwaXhtYXApOwotICAgIGNhaXJvX3NldF9zb3VyY2Vfc3Vy
ZmFjZShjciwgZGF0YVN1cmZhY2UsIDAsIDApOwotICAgIGNhaXJvX3NldF9vcGVyYXRvcihjciwg
Q0FJUk9fT1BFUkFUT1JfU09VUkNFKTsKLSAgICBjYWlyb19wYWludChjcik7Ci0gICAgY2Fpcm9f
ZGVzdHJveShjcik7Ci0gICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGRhdGFTdXJmYWNlKTsKLSAg
ICByZXR1cm4gcGl4bWFwOwotfQotCiBzdGF0aWMgUGxhdGZvcm1SZWZQdHI8R2RrQ3Vyc29yPiBj
cmVhdGVOYW1lZEN1cnNvcihDdXN0b21DdXJzb3JUeXBlIGN1cnNvclR5cGUpCiB7CiAgICAgQ3Vz
dG9tQ3Vyc29yIGN1cnNvciA9IEN1c3RvbUN1cnNvcnNbY3Vyc29yVHlwZV07CkBAIC01NywxMiAr
NDYsMTkgQEAgc3RhdGljIFBsYXRmb3JtUmVmUHRyPEdka0N1cnNvcj4gY3JlYXRlTmFtZWRDdXJz
b3IoQ3VzdG9tQ3Vyc29yVHlwZSBjdXJzb3JUeXBlKQogICAgIGlmIChjKQogICAgICAgICByZXR1
cm4gYzsKIAotICAgIGNvbnN0IEdka0NvbG9yIGZnID0geyAwLCAwLCAwLCAwIH07Ci0gICAgY29u
c3QgR2RrQ29sb3IgYmcgPSB7IDY1NTM1LCA2NTUzNSwgNjU1MzUsIDY1NTM1IH07CiAgICAgSW50
U2l6ZSBjdXJzb3JTaXplID0gSW50U2l6ZSgzMiwgMzIpOwotICAgIFBsYXRmb3JtUmVmUHRyPEdk
a1BpeG1hcD4gc291cmNlID0gYWRvcHRQbGF0Zm9ybVJlZihjcmVhdGVQaXhtYXBGcm9tQml0cyhj
dXJzb3IuYml0cywgY3Vyc29yU2l6ZSkpOwotICAgIFBsYXRmb3JtUmVmUHRyPEdka1BpeG1hcD4g
bWFzayA9IGFkb3B0UGxhdGZvcm1SZWYoY3JlYXRlUGl4bWFwRnJvbUJpdHMoY3Vyc29yLm1hc2tf
Yml0cywgY3Vyc29yU2l6ZSkpOwotICAgIHJldHVybiBhZG9wdFBsYXRmb3JtUmVmKGdka19jdXJz
b3JfbmV3X2Zyb21fcGl4bWFwKHNvdXJjZS5nZXQoKSwgbWFzay5nZXQoKSwgJmZnLCAmYmcsIGN1
cnNvci5ob3RfeCwgY3Vyc29yLmhvdF95KSk7CisgICAgUGxhdGZvcm1SZWZQdHI8Y2Fpcm9fc3Vy
ZmFjZV90PiBzb3VyY2UgPSBhZG9wdFBsYXRmb3JtUmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3Jl
YXRlX2Zvcl9kYXRhKGNvbnN0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KGN1cnNvci5iaXRzKSwgQ0FJ
Uk9fRk9STUFUX0ExLCAzMiwgMzIsIDQpKTsKKyAgICBQbGF0Zm9ybVJlZlB0cjxjYWlyb19zdXJm
YWNlX3Q+IG1hc2sgPSBhZG9wdFBsYXRmb3JtUmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRl
X2Zvcl9kYXRhKGNvbnN0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KGN1cnNvci5tYXNrX2JpdHMpLCBD
QUlST19GT1JNQVRfQTEsIDMyLCAzMiwgNCkpOworICAgIFBsYXRmb3JtUmVmUHRyPGNhaXJvX3N1
cmZhY2VfdD4gc3VyZmFjZSA9IGFkb3B0UGxhdGZvcm1SZWYoY2Fpcm9faW1hZ2Vfc3VyZmFjZV9j
cmVhdGUoQ0FJUk9fRk9STUFUX0ExLCAzMiwgMzIpKTsKKyAgICBQbGF0Zm9ybVJlZlB0cjxjYWly
b190PiBjciA9IGNhaXJvX2NyZWF0ZShzdXJmYWNlKTsKKworICAgIGNhaXJvX3NldF9zb3VyY2Vf
c3VyZmFjZShjci5nZXQoKSwgc291cmNlLmdldCgpLCBjdXJzb3IuaG90X3gsIGN1cnNvci5ob3Rf
eSk7CisgICAgY2Fpcm9fbWFza19zdXJmYWNlKGNyLmdldCgpLCBtYXNrLmdldCgpLCBjdXJzb3Iu
aG90X3gsIGN1cnNvci5ob3RfeSk7CisKKyAgICBQbGF0Zm9ybVJlZlB0cjxHZGtQaXhidWY+IHBp
eGJ1ZiA9IGFkb3B0UGxhdGZvcm1SZWYoZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKHN1cmZh
Y2UuZ2V0KCksIDAsIDAsIDMyLCAzMikpOworICAgIGMgPSBhZG9wdFBsYXRmb3JtUmVmKGdka19j
dXJzb3JfbmV3X2Zyb21fcGl4YnVmKGdka19kaXNwbGF5X2dldF9kZWZhdWx0KCksIHBpeGJ1Zi5n
ZXQoKSwgMCwgMCkpOworCisgICAgcmV0dXJuIGM7CiB9CiAKIHN0YXRpYyBQbGF0Zm9ybVJlZlB0
cjxHZGtDdXJzb3I+IGNyZWF0ZUN1c3RvbUN1cnNvcihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBv
aW50JiBob3RTcG90KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lv
bmluZy5jIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5jCmluZGV4IGY1NDY2
YmUuLjMxZDU4NzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25p
bmcuYworKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmMKQEAgLTk4LDMg
Kzk4LDE2NiBAQCBjb25zdCBnY2hhciogZ3RrX21lbnVfaXRlbV9nZXRfbGFiZWwoR3RrTWVudUl0
ZW0qIG1lbnVJdGVtKQogICAgIHJldHVybiAwOwogfQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJT
SU9OKDIsIDE2LCAwKQorCisjaWZkZWYgR1RLX0FQSV9WRVJTSU9OXzIKK3N0YXRpYyBjYWlyb19m
b3JtYXRfdAorZ2RrX2NhaXJvX2Zvcm1hdF9mb3JfY29udGVudChjYWlyb19jb250ZW50X3QgY29u
dGVudCkKK3sKKyAgICBzd2l0Y2ggKGNvbnRlbnQpIHsKKyAgICBjYXNlIENBSVJPX0NPTlRFTlRf
Q09MT1I6CisgICAgICAgIHJldHVybiBDQUlST19GT1JNQVRfUkdCMjQ7CisgICAgY2FzZSBDQUlS
T19DT05URU5UX0FMUEhBOgorICAgICAgICByZXR1cm4gQ0FJUk9fRk9STUFUX0E4OworICAgIGNh
c2UgQ0FJUk9fQ09OVEVOVF9DT0xPUl9BTFBIQToKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1
cm4gQ0FJUk9fRk9STUFUX0FSR0IzMjsKKyAgICB9Cit9CisKK3N0YXRpYyBjYWlyb19zdXJmYWNl
X3QqCitnZGtfY2Fpcm9fc3VyZmFjZV9jb2VyY2VfdG9faW1hZ2UoY2Fpcm9fc3VyZmFjZV90KiBz
dXJmYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhaXJvX2NvbnRlbnRf
dCBjb250ZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaGVpZ2h0KQoreworICAgIGNh
aXJvX3N1cmZhY2VfdCAqIGNvcHk7CisgICAgY2Fpcm9fdCAqIGNyOworCisgICAgaWYgKGNhaXJv
X3N1cmZhY2VfZ2V0X3R5cGUoc3VyZmFjZSkgPT0gQ0FJUk9fU1VSRkFDRV9UWVBFX0lNQUdFCisg
ICAgICAgICYmIGNhaXJvX3N1cmZhY2VfZ2V0X2NvbnRlbnQoc3VyZmFjZSkgPT0gY29udGVudAor
ICAgICAgICAmJiBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF93aWR0aChzdXJmYWNlKSA+PSB3aWR0
aAorICAgICAgICAmJiBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWlnaHQoc3VyZmFjZSkgPj0g
aGVpZ2h0KQorICAgICAgICByZXR1cm4gY2Fpcm9fc3VyZmFjZV9yZWZlcmVuY2Uoc3VyZmFjZSk7
CisKKyAgICBjb3B5ID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGUoZ2RrX2NhaXJvX2Zvcm1h
dF9mb3JfY29udGVudChjb250ZW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdo
dCk7CisKKyAgICBjciA9IGNhaXJvX2NyZWF0ZShjb3B5KTsKKyAgICBjYWlyb19zZXRfb3BlcmF0
b3IoY3IsIENBSVJPX09QRVJBVE9SX1NPVVJDRSk7CisgICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJm
YWNlKGNyLCBzdXJmYWNlLCAwLCAwKTsKKyAgICBjYWlyb19wYWludChjcik7CisgICAgY2Fpcm9f
ZGVzdHJveShjcik7CisKKyAgICByZXR1cm4gY29weTsKK30KKworc3RhdGljIHZvaWQKK2NvbnZl
cnRfYWxwaGEoZ3VjaGFyICogZGVzdERhdGEsIGludCBkZXN0U3RyaWRlLAorICAgICAgICAgICAg
ICBndWNoYXIgKiBzcmNEYXRhLCBpbnQgc3JjU3RyaWRlLAorICAgICAgICAgICAgICBpbnQgc3Jj
WCwgaW50IHNyY1ksIGludCB3aWR0aCwgaW50IGhlaWdodCkKK3sKKyAgICBpbnQgeCwgeTsKKwor
ICAgIHNyY0RhdGEgKz0gc3JjU3RyaWRlICogc3JjWSArIHNyY1kgKiA0OworCisgICAgZm9yICh5
ID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7CisgICAgICAgIGd1aW50MzIgKiBzcmMgPSAoZ3VpbnQz
MiAqKSBzcmNEYXRhOworCisgICAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7Cisg
ICAgICAgICAgICBndWludCBhbHBoYSA9IHNyY1t4XSA+PiAyNDsKKworICAgICAgICAgICAgaWYg
KCFhbHBoYSkgeworICAgICAgICAgICAgICAgIGRlc3REYXRhW3ggKiA0ICsgMF0gPSAwOworICAg
ICAgICAgICAgICAgIGRlc3REYXRhW3ggKiA0ICsgMV0gPSAwOworICAgICAgICAgICAgICAgIGRl
c3REYXRhW3ggKiA0ICsgMl0gPSAwOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICBkZXN0RGF0YVt4ICogNCArIDBdID0gKCgoc3JjW3hdICYgMHhmZjAwMDApID4+IDE2KSAq
IDI1NSArIGFscGhhIC8gMikgLyBhbHBoYTsKKyAgICAgICAgICAgICAgICBkZXN0RGF0YVt4ICog
NCArIDFdID0gKCgoc3JjW3hdICYgMHgwMGZmMDApID4+ICA4KSAqIDI1NSArIGFscGhhIC8gMikg
LyBhbHBoYTsKKyAgICAgICAgICAgICAgICBkZXN0RGF0YVt4ICogNCArIDJdID0gKCgoc3JjW3hd
ICYgMHgwMDAwZmYpID4+ICAwKSAqIDI1NSArIGFscGhhIC8gMikgLyBhbHBoYTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGRlc3REYXRhW3ggKiA0ICsgM10gPSBhbHBoYTsKKyAgICAgICAg
fQorCisgICAgICAgIHNyY0RhdGEgKz0gc3JjU3RyaWRlOworICAgICAgICBkZXN0RGF0YSArPSBk
ZXN0U3RyaWRlOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK2NvbnZlcnRfbm9fYWxwaGEoZ3Vj
aGFyICogZGVzdERhdGEsIGludCBkZXN0U3RyaWRlLCBndWNoYXIgKiBzcmNEYXRhLAorICAgICAg
ICAgICAgICAgICBpbnQgc3JjU3RyaWRlLCBpbnQgc3JjWCwgaW50IHNyY1ksCisgICAgICAgICAg
ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkKK3sKKyAgICBpbnQgeCwgeTsKKworICAgIHNy
Y0RhdGEgKz0gc3JjU3RyaWRlICogc3JjWSArIHNyY1ggKiA0OworCisgICAgZm9yICh5ID0gMDsg
eSA8IGhlaWdodDsgeSsrKSB7CisgICAgICAgIGd1aW50MzIgKiBzcmMgPSAoZ3VpbnQzMiAqKSBz
cmNEYXRhOworCisgICAgICAgIGZvciAoeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CisgICAgICAg
ICAgICBkZXN0RGF0YVt4ICogMyArIDBdID0gc3JjW3hdID4+IDE2OworICAgICAgICAgICAgZGVz
dERhdGFbeCAqIDMgKyAxXSA9IHNyY1t4XSA+PiAgODsKKyAgICAgICAgICAgIGRlc3REYXRhW3gg
KiAzICsgMl0gPSBzcmNbeF07CisgICAgICAgIH0KKworICAgICAgICBzcmNEYXRhICs9IHNyY1N0
cmlkZTsKKyAgICAgICAgZGVzdERhdGEgKz0gZGVzdFN0cmlkZTsKKyAgICB9Cit9CisKKy8qKgor
ICogZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9zdXJmYWNlOgorICogQHN1cmZhY2U6IHN1cmZhY2UgdG8g
Y29weSBmcm9tCisgKiBAc3JjX3g6IFNvdXJjZSBYIGNvb3JkaW5hdGUgd2l0aGluIEBzdXJmYWNl
CisgKiBAc3JjX3k6IFNvdXJjZSBZIGNvb3JkaW5hdGUgd2l0aGluIEBzdXJmYWNlCisgKiBAd2lk
dGg6IFdpZHRoIGluIHBpeGVscyBvZiByZWdpb24gdG8gZ2V0CisgKiBAaGVpZ2h0OiBIZWlnaHQg
aW4gcGl4ZWxzIG9mIHJlZ2lvbiB0byBnZXQKKyAqCisgKiBUcmFuc2ZlcnMgaW1hZ2UgZGF0YSBm
cm9tIGEgI2NhaXJvX3N1cmZhY2VfdCBhbmQgY29udmVydHMgaXQgdG8gYW4gUkdCKEEpCisgKiBy
ZXByZXNlbnRhdGlvbiBpbnNpZGUgYSAjR2RrUGl4YnVmLiBUaGlzIGFsbG93cyB5b3UgdG8gZWZm
aWNpZW50bHkgcmVhZAorICogaW5kaXZpZHVhbCBwaXhlbHMgZnJvbSBjYWlybyBzdXJmYWNlcy4g
Rm9yICNHZGtXaW5kb3dzLCB1c2UKKyAqIGdka19waXhidWZfZ2V0X2Zyb21fd2luZG93KCkgaW5z
dGVhZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGFuIFJHQiBwaXhidWYgd2l0
aCA4IGJpdHMgcGVyIGNoYW5uZWwuIFRoZSBwaXhidWYKKyAqIHdpbGwgY29udGFpbiBhbiBhbHBo
YSBjaGFubmVsIGlmIHRoZSBAc3VyZmFjZSBjb250YWlucyBvbmUuCisgKgorICogUmV0dXJuIHZh
bHVlOiAodHJhbnNmZXIgZnVsbCk6IEEgbmV3bHktY3JlYXRlZCBwaXhidWYgd2l0aCBhIHJlZmVy
ZW5jZSBjb3VudAorICogb2YgMSwgb3IgJU5VTEwgb24gZXJyb3IKKyAqKi8KK0dka1BpeGJ1ZioK
K2dka19waXhidWZfZ2V0X2Zyb21fc3VyZmFjZShjYWlyb19zdXJmYWNlX3QgKiBzdXJmYWNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzcmNYLCBpbnQgc3JjWSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgY2Fpcm9f
Y29udGVudF90IGNvbnRlbnQ7CisgICAgR2RrUGl4YnVmICogZGVzdDsKKworICAgIC8qIEdlbmVy
YWwgc2FuaXR5IGNoZWNrcyAqLworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCFzdXJmYWNlLCBO
VUxMKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChzcmNYID49IDAgJiYgc3JjWSA+PSAwLCBO
VUxMKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCh3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCwg
TlVMTCk7CisKKyAgICBjb250ZW50ID0gY2Fpcm9fc3VyZmFjZV9nZXRfY29udGVudChzdXJmYWNl
KSB8IENBSVJPX0NPTlRFTlRfQ09MT1I7CisgICAgZGVzdCA9IGdka19waXhidWZfbmV3KEdES19D
T0xPUlNQQUNFX1JHQiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgISEoY29udGVudCAmIENB
SVJPX0NPTlRFTlRfQUxQSEEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICA4LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKworICAgIHN1cmZhY2UgPSBnZGtf
Y2Fpcm9fc3VyZmFjZV9jb2VyY2VfdG9faW1hZ2Uoc3VyZmFjZSwgY29udGVudCwgc3JjWCArIHdp
ZHRoLCBzcmNZICsgaGVpZ2h0KTsKKyAgICBjYWlyb19zdXJmYWNlX2ZsdXNoKHN1cmZhY2UpOwor
ICAgIGlmIChjYWlyb19zdXJmYWNlX3N0YXR1cyhzdXJmYWNlKSB8fCAhZGVzdCkgeworICAgICAg
ICBjYWlyb19zdXJmYWNlX2Rlc3Ryb3koc3VyZmFjZSk7CisgICAgICAgIHJldHVybiBOVUxMOwor
ICAgIH0KKworICAgIGlmIChnZGtfcGl4YnVmX2dldF9oYXNfYWxwaGEoZGVzdCkpCisgICAgICAg
IGNvbnZlcnRfYWxwaGEoZ2RrX3BpeGJ1Zl9nZXRfcGl4ZWxzKGRlc3QpLAorICAgICAgICAgICAg
ICAgICAgICAgICBnZGtfcGl4YnVmX2dldF9yb3dzdHJpZGUoZGVzdCksCisgICAgICAgICAgICAg
ICAgICAgICAgIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEoc3VyZmFjZSksCisgICAgICAg
ICAgICAgICAgICAgICAgIGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3N0cmlkZShzdXJmYWNlKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgc3JjWCwgc3JjWSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgd2lkdGgsIGhlaWdodCk7CisgICAgZWxzZQorICAgICAgICBjb252ZXJ0X25vX2FscGhhKGdk
a19waXhidWZfZ2V0X3BpeGVscyhkZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Rr
X3BpeGJ1Zl9nZXRfcm93c3RyaWRlKGRlc3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
YWlyb19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKHN1cmZhY2UpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUoc3VyZmFjZSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNyY1gsIHNyY1ksCisgICAgICAgICAgICAgICAgICAgICAgICAg
IHdpZHRoLCBoZWlnaHQpOworCisgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KHN1cmZhY2UpOwor
ICAgIHJldHVybiBkZXN0OworfQorI2VuZGlmIC8vIEdUS19BUElfVkVSU0lPTl8yCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9HdGtWZXJzaW9uaW5nLmgKaW5kZXggYTg3NGU5ZS4uMmIxMjRjMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaApAQCAtMzIsNiArMzIsOCBAQCBHX0JFR0lOX0RFQ0xT
CiAvLyBNYWNyb3MgdG8gYXZvaWQgZGVwcmVjYXRpb24gY2hlY2tpbmcgY2h1cm4KICNpZm5kZWYg
R1RLX0FQSV9WRVJTSU9OXzIKICNkZWZpbmUgR0RLX0RJU1BMQVkoKSAoR0RLX0RJU1BMQVlfWERJ
U1BMQVkoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQoKSkpCitHZGtQaXhidWYqIGdka19waXhidWZf
Z2V0X2Zyb21fc3VyZmFjZShjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UsIGludCBzcmNYLCBpbnQg
c3JjWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwg
aW50IGhlaWdodCk7CiAjZW5kaWYKIAogI2lmICFHVEtfQ0hFQ0tfVkVSU0lPTigyLCAyMSwgMikK
</data>
<flag name="review"
          id="59691"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
    <flag name="commit-queue"
          id="59692"
          type_id="3"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69937</attachid>
            <date>2010-10-06 07:23:50 -0700</date>
            <delta_ts>2010-10-06 09:52:56 -0700</delta_ts>
            <desc>New version of the patch</desc>
            <filename>cursor-pixbufs.diff</filename>
            <type>text/plain</type>
            <size>10220</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzI2MWI0MS4uODYyZTA5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0xMC0wNiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gVXNlIHBpeGJ1ZnMgaW5zdGVhZCBvZiBwaXht
YXBzIHdoZW4gY3JlYXRpbmcgcGxhdGZvcm0gY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcwODcKKworICAgICAgICBnZGtfY3Vyc29yX25l
d19mcm9tX3BpeG1hcCgpIGhhcyBiZWVuIHJlbW92ZWQgaW4gZ3RrMy4gV2UgY2FuIHVzZSBhCisg
ICAgICAgIHBpeGJ1ZiBpbnN0ZWFkIG9mIGEgcGl4bWFuIGFuZCB1c2UgZ2RrX2N1cnNvcl9uZXdf
ZnJvbV9waXhidWYoKSBpbnN0ZWFkCisgICAgICAgIGZvciBib3RoIGd0azIgYW5kIGd0azMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZU5hbWVkQ3Vyc29yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmlu
Zy5jOgorICAgICAgICAoZ2RrX2NhaXJvX2Zvcm1hdF9mb3JfY29udGVudCk6CisgICAgICAgIChn
ZGtfY2Fpcm9fc3VyZmFjZV9jb2VyY2VfdG9faW1hZ2UpOgorICAgICAgICAoY29udmVydF9hbHBo
YSk6CisgICAgICAgIChjb252ZXJ0X25vX2FscGhhKToKKyAgICAgICAgKGdka19waXhidWZfZ2V0
X2Zyb21fc3VyZmFjZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaDoK
KwogMjAxMC0xMC0wMSAgVmluY2VudCBTY2hlaWIgIDxzY2hlaWJAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ3Vyc29yR3RrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0N1cnNvckd0
ay5jcHAKaW5kZXggZDFmMTI5My4uOTk3MWJmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvQ3Vyc29yR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DdXJzb3JHdGsu
Y3BwCkBAIC0yOCwyOCArMjgsMTcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkN1cnNvckd0ay5oIgorI2luY2x1ZGUgIkd0a1ZlcnNpb25pbmcuaCIKIAogI2luY2x1ZGUgIklt
YWdlLmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVJlZlB0ckNh
aXJvLmgiCiAjaW5jbHVkZSA8Z2RrL2dkay5oPgogI2luY2x1ZGUgPGd0ay9ndGsuaD4KICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBH
ZGtQaXhtYXAqIGNyZWF0ZVBpeG1hcEZyb21CaXRzKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJpdHMs
IGNvbnN0IEludFNpemUmIHNpemUpCi17Ci0gICAgY2Fpcm9fc3VyZmFjZV90KiBkYXRhU3VyZmFj
ZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zvcl9kYXRhKGNvbnN0X2Nhc3Q8dW5zaWdu
ZWQgY2hhcio+KGJpdHMpLCBDQUlST19GT1JNQVRfQTEsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWln
aHQoKSwgc2l6ZS53aWR0aCgpIC8gOCk7Ci0gICAgR2RrUGl4bWFwKiBwaXhtYXAgPSBnZGtfcGl4
bWFwX25ldygwLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIDEpOwotICAgIGNhaXJvX3Qq
IGNyID0gZ2RrX2NhaXJvX2NyZWF0ZShwaXhtYXApOwotICAgIGNhaXJvX3NldF9zb3VyY2Vfc3Vy
ZmFjZShjciwgZGF0YVN1cmZhY2UsIDAsIDApOwotICAgIGNhaXJvX3NldF9vcGVyYXRvcihjciwg
Q0FJUk9fT1BFUkFUT1JfU09VUkNFKTsKLSAgICBjYWlyb19wYWludChjcik7Ci0gICAgY2Fpcm9f
ZGVzdHJveShjcik7Ci0gICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KGRhdGFTdXJmYWNlKTsKLSAg
ICByZXR1cm4gcGl4bWFwOwotfQotCiBzdGF0aWMgUGxhdGZvcm1SZWZQdHI8R2RrQ3Vyc29yPiBj
cmVhdGVOYW1lZEN1cnNvcihDdXN0b21DdXJzb3JUeXBlIGN1cnNvclR5cGUpCiB7CiAgICAgQ3Vz
dG9tQ3Vyc29yIGN1cnNvciA9IEN1c3RvbUN1cnNvcnNbY3Vyc29yVHlwZV07CkBAIC01NywxMiAr
NDYsMTcgQEAgc3RhdGljIFBsYXRmb3JtUmVmUHRyPEdka0N1cnNvcj4gY3JlYXRlTmFtZWRDdXJz
b3IoQ3VzdG9tQ3Vyc29yVHlwZSBjdXJzb3JUeXBlKQogICAgIGlmIChjKQogICAgICAgICByZXR1
cm4gYzsKIAotICAgIGNvbnN0IEdka0NvbG9yIGZnID0geyAwLCAwLCAwLCAwIH07Ci0gICAgY29u
c3QgR2RrQ29sb3IgYmcgPSB7IDY1NTM1LCA2NTUzNSwgNjU1MzUsIDY1NTM1IH07CiAgICAgSW50
U2l6ZSBjdXJzb3JTaXplID0gSW50U2l6ZSgzMiwgMzIpOwotICAgIFBsYXRmb3JtUmVmUHRyPEdk
a1BpeG1hcD4gc291cmNlID0gYWRvcHRQbGF0Zm9ybVJlZihjcmVhdGVQaXhtYXBGcm9tQml0cyhj
dXJzb3IuYml0cywgY3Vyc29yU2l6ZSkpOwotICAgIFBsYXRmb3JtUmVmUHRyPEdka1BpeG1hcD4g
bWFzayA9IGFkb3B0UGxhdGZvcm1SZWYoY3JlYXRlUGl4bWFwRnJvbUJpdHMoY3Vyc29yLm1hc2tf
Yml0cywgY3Vyc29yU2l6ZSkpOwotICAgIHJldHVybiBhZG9wdFBsYXRmb3JtUmVmKGdka19jdXJz
b3JfbmV3X2Zyb21fcGl4bWFwKHNvdXJjZS5nZXQoKSwgbWFzay5nZXQoKSwgJmZnLCAmYmcsIGN1
cnNvci5ob3RfeCwgY3Vyc29yLmhvdF95KSk7CisgICAgUGxhdGZvcm1SZWZQdHI8Y2Fpcm9fc3Vy
ZmFjZV90PiBzb3VyY2UgPSBhZG9wdFBsYXRmb3JtUmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3Jl
YXRlX2Zvcl9kYXRhKGNvbnN0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KGN1cnNvci5iaXRzKSwgQ0FJ
Uk9fRk9STUFUX0ExLCAzMiwgMzIsIDQpKTsKKyAgICBQbGF0Zm9ybVJlZlB0cjxjYWlyb19zdXJm
YWNlX3Q+IG1hc2sgPSBhZG9wdFBsYXRmb3JtUmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRl
X2Zvcl9kYXRhKGNvbnN0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KGN1cnNvci5tYXNrX2JpdHMpLCBD
QUlST19GT1JNQVRfQTEsIDMyLCAzMiwgNCkpOworICAgIFBsYXRmb3JtUmVmUHRyPGNhaXJvX3N1
cmZhY2VfdD4gc3VyZmFjZSA9IGFkb3B0UGxhdGZvcm1SZWYoY2Fpcm9faW1hZ2Vfc3VyZmFjZV9j
cmVhdGUoQ0FJUk9fRk9STUFUX0ExLCAzMiwgMzIpKTsKKyAgICBQbGF0Zm9ybVJlZlB0cjxjYWly
b190PiBjciA9IGFkb3B0UGxhdGZvcm1SZWYoY2Fpcm9fY3JlYXRlKHN1cmZhY2UuZ2V0KCkpKTsK
KworICAgIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShjci5nZXQoKSwgc291cmNlLmdldCgpLCBj
dXJzb3IuaG90X3gsIGN1cnNvci5ob3RfeSk7CisgICAgY2Fpcm9fbWFza19zdXJmYWNlKGNyLmdl
dCgpLCBtYXNrLmdldCgpLCBjdXJzb3IuaG90X3gsIGN1cnNvci5ob3RfeSk7CisKKyAgICBQbGF0
Zm9ybVJlZlB0cjxHZGtQaXhidWY+IHBpeGJ1ZiA9IGFkb3B0UGxhdGZvcm1SZWYoZ2RrX3BpeGJ1
Zl9nZXRfZnJvbV9zdXJmYWNlKHN1cmZhY2UuZ2V0KCksIDAsIDAsIDMyLCAzMikpOworICAgIHJl
dHVybiBhZG9wdFBsYXRmb3JtUmVmKGdka19jdXJzb3JfbmV3X2Zyb21fcGl4YnVmKGdka19kaXNw
bGF5X2dldF9kZWZhdWx0KCksIHBpeGJ1Zi5nZXQoKSwgMCwgMCkpOwogfQogCiBzdGF0aWMgUGxh
dGZvcm1SZWZQdHI8R2RrQ3Vyc29yPiBjcmVhdGVDdXN0b21DdXJzb3IoSW1hZ2UqIGltYWdlLCBj
b25zdCBJbnRQb2ludCYgaG90U3BvdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L0d0a1ZlcnNpb25pbmcuYyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuYwpp
bmRleCBmNTQ2NmJlLi4zMWQ1ODczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9H
dGtWZXJzaW9uaW5nLmMKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5j
CkBAIC05OCwzICs5OCwxNjYgQEAgY29uc3QgZ2NoYXIqIGd0a19tZW51X2l0ZW1fZ2V0X2xhYmVs
KEd0a01lbnVJdGVtKiBtZW51SXRlbSkKICAgICByZXR1cm4gMDsKIH0KICNlbmRpZiAvLyBHVEtf
Q0hFQ0tfVkVSU0lPTigyLCAxNiwgMCkKKworI2lmZGVmIEdUS19BUElfVkVSU0lPTl8yCitzdGF0
aWMgY2Fpcm9fZm9ybWF0X3QKK2dka19jYWlyb19mb3JtYXRfZm9yX2NvbnRlbnQoY2Fpcm9fY29u
dGVudF90IGNvbnRlbnQpCit7CisgICAgc3dpdGNoIChjb250ZW50KSB7CisgICAgY2FzZSBDQUlS
T19DT05URU5UX0NPTE9SOgorICAgICAgICByZXR1cm4gQ0FJUk9fRk9STUFUX1JHQjI0OworICAg
IGNhc2UgQ0FJUk9fQ09OVEVOVF9BTFBIQToKKyAgICAgICAgcmV0dXJuIENBSVJPX0ZPUk1BVF9B
ODsKKyAgICBjYXNlIENBSVJPX0NPTlRFTlRfQ09MT1JfQUxQSEE6CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgcmV0dXJuIENBSVJPX0ZPUk1BVF9BUkdCMzI7CisgICAgfQorfQorCitzdGF0aWMgY2Fp
cm9fc3VyZmFjZV90KgorZ2RrX2NhaXJvX3N1cmZhY2VfY29lcmNlX3RvX2ltYWdlKGNhaXJvX3N1
cmZhY2VfdCogc3VyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWly
b19jb250ZW50X3QgY29udGVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCkK
K3sKKyAgICBjYWlyb19zdXJmYWNlX3QgKiBjb3B5OworICAgIGNhaXJvX3QgKiBjcjsKKworICAg
IGlmIChjYWlyb19zdXJmYWNlX2dldF90eXBlKHN1cmZhY2UpID09IENBSVJPX1NVUkZBQ0VfVFlQ
RV9JTUFHRQorICAgICAgICAmJiBjYWlyb19zdXJmYWNlX2dldF9jb250ZW50KHN1cmZhY2UpID09
IGNvbnRlbnQKKyAgICAgICAgJiYgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfd2lkdGgoc3VyZmFj
ZSkgPj0gd2lkdGgKKyAgICAgICAgJiYgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfaGVpZ2h0KHN1
cmZhY2UpID49IGhlaWdodCkKKyAgICAgICAgcmV0dXJuIGNhaXJvX3N1cmZhY2VfcmVmZXJlbmNl
KHN1cmZhY2UpOworCisgICAgY29weSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlKGdka19j
YWlyb19mb3JtYXRfZm9yX2NvbnRlbnQoY29udGVudCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWlnaHQpOworCisgICAgY3IgPSBjYWlyb19jcmVhdGUoY29weSk7CisgICAgY2Fpcm9f
c2V0X29wZXJhdG9yKGNyLCBDQUlST19PUEVSQVRPUl9TT1VSQ0UpOworICAgIGNhaXJvX3NldF9z
b3VyY2Vfc3VyZmFjZShjciwgc3VyZmFjZSwgMCwgMCk7CisgICAgY2Fpcm9fcGFpbnQoY3IpOwor
ICAgIGNhaXJvX2Rlc3Ryb3koY3IpOworCisgICAgcmV0dXJuIGNvcHk7Cit9CisKK3N0YXRpYyB2
b2lkCitjb252ZXJ0X2FscGhhKGd1Y2hhciAqIGRlc3REYXRhLCBpbnQgZGVzdFN0cmlkZSwKKyAg
ICAgICAgICAgICAgZ3VjaGFyICogc3JjRGF0YSwgaW50IHNyY1N0cmlkZSwKKyAgICAgICAgICAg
ICAgaW50IHNyY1gsIGludCBzcmNZLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgaW50
IHgsIHk7CisKKyAgICBzcmNEYXRhICs9IHNyY1N0cmlkZSAqIHNyY1kgKyBzcmNZICogNDsKKwor
ICAgIGZvciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgeworICAgICAgICBndWludDMyICogc3Jj
ID0gKGd1aW50MzIgKikgc3JjRGF0YTsKKworICAgICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7
IHgrKykgeworICAgICAgICAgICAgZ3VpbnQgYWxwaGEgPSBzcmNbeF0gPj4gMjQ7CisKKyAgICAg
ICAgICAgIGlmICghYWxwaGEpIHsKKyAgICAgICAgICAgICAgICBkZXN0RGF0YVt4ICogNCArIDBd
ID0gMDsKKyAgICAgICAgICAgICAgICBkZXN0RGF0YVt4ICogNCArIDFdID0gMDsKKyAgICAgICAg
ICAgICAgICBkZXN0RGF0YVt4ICogNCArIDJdID0gMDsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgZGVzdERhdGFbeCAqIDQgKyAwXSA9ICgoKHNyY1t4XSAmIDB4ZmYwMDAw
KSA+PiAxNikgKiAyNTUgKyBhbHBoYSAvIDIpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgZGVz
dERhdGFbeCAqIDQgKyAxXSA9ICgoKHNyY1t4XSAmIDB4MDBmZjAwKSA+PiAgOCkgKiAyNTUgKyBh
bHBoYSAvIDIpIC8gYWxwaGE7CisgICAgICAgICAgICAgICAgZGVzdERhdGFbeCAqIDQgKyAyXSA9
ICgoKHNyY1t4XSAmIDB4MDAwMGZmKSA+PiAgMCkgKiAyNTUgKyBhbHBoYSAvIDIpIC8gYWxwaGE7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBkZXN0RGF0YVt4ICogNCArIDNdID0gYWxwaGE7
CisgICAgICAgIH0KKworICAgICAgICBzcmNEYXRhICs9IHNyY1N0cmlkZTsKKyAgICAgICAgZGVz
dERhdGEgKz0gZGVzdFN0cmlkZTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitjb252ZXJ0X25v
X2FscGhhKGd1Y2hhciAqIGRlc3REYXRhLCBpbnQgZGVzdFN0cmlkZSwgZ3VjaGFyICogc3JjRGF0
YSwKKyAgICAgICAgICAgICAgICAgaW50IHNyY1N0cmlkZSwgaW50IHNyY1gsIGludCBzcmNZLAor
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgaW50IHgsIHk7
CisKKyAgICBzcmNEYXRhICs9IHNyY1N0cmlkZSAqIHNyY1kgKyBzcmNYICogNDsKKworICAgIGZv
ciAoeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykgeworICAgICAgICBndWludDMyICogc3JjID0gKGd1
aW50MzIgKikgc3JjRGF0YTsKKworICAgICAgICBmb3IgKHggPSAwOyB4IDwgd2lkdGg7IHgrKykg
eworICAgICAgICAgICAgZGVzdERhdGFbeCAqIDMgKyAwXSA9IHNyY1t4XSA+PiAxNjsKKyAgICAg
ICAgICAgIGRlc3REYXRhW3ggKiAzICsgMV0gPSBzcmNbeF0gPj4gIDg7CisgICAgICAgICAgICBk
ZXN0RGF0YVt4ICogMyArIDJdID0gc3JjW3hdOworICAgICAgICB9CisKKyAgICAgICAgc3JjRGF0
YSArPSBzcmNTdHJpZGU7CisgICAgICAgIGRlc3REYXRhICs9IGRlc3RTdHJpZGU7CisgICAgfQor
fQorCisvKioKKyAqIGdka19waXhidWZfZ2V0X2Zyb21fc3VyZmFjZToKKyAqIEBzdXJmYWNlOiBz
dXJmYWNlIHRvIGNvcHkgZnJvbQorICogQHNyY194OiBTb3VyY2UgWCBjb29yZGluYXRlIHdpdGhp
biBAc3VyZmFjZQorICogQHNyY195OiBTb3VyY2UgWSBjb29yZGluYXRlIHdpdGhpbiBAc3VyZmFj
ZQorICogQHdpZHRoOiBXaWR0aCBpbiBwaXhlbHMgb2YgcmVnaW9uIHRvIGdldAorICogQGhlaWdo
dDogSGVpZ2h0IGluIHBpeGVscyBvZiByZWdpb24gdG8gZ2V0CisgKgorICogVHJhbnNmZXJzIGlt
YWdlIGRhdGEgZnJvbSBhICNjYWlyb19zdXJmYWNlX3QgYW5kIGNvbnZlcnRzIGl0IHRvIGFuIFJH
QihBKQorICogcmVwcmVzZW50YXRpb24gaW5zaWRlIGEgI0dka1BpeGJ1Zi4gVGhpcyBhbGxvd3Mg
eW91IHRvIGVmZmljaWVudGx5IHJlYWQKKyAqIGluZGl2aWR1YWwgcGl4ZWxzIGZyb20gY2Fpcm8g
c3VyZmFjZXMuIEZvciAjR2RrV2luZG93cywgdXNlCisgKiBnZGtfcGl4YnVmX2dldF9mcm9tX3dp
bmRvdygpIGluc3RlYWQuCisgKgorICogVGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSBhbiBSR0Ig
cGl4YnVmIHdpdGggOCBiaXRzIHBlciBjaGFubmVsLiBUaGUgcGl4YnVmCisgKiB3aWxsIGNvbnRh
aW4gYW4gYWxwaGEgY2hhbm5lbCBpZiB0aGUgQHN1cmZhY2UgY29udGFpbnMgb25lLgorICoKKyAq
IFJldHVybiB2YWx1ZTogKHRyYW5zZmVyIGZ1bGwpOiBBIG5ld2x5LWNyZWF0ZWQgcGl4YnVmIHdp
dGggYSByZWZlcmVuY2UgY291bnQKKyAqIG9mIDEsIG9yICVOVUxMIG9uIGVycm9yCisgKiovCitH
ZGtQaXhidWYqCitnZGtfcGl4YnVmX2dldF9mcm9tX3N1cmZhY2UoY2Fpcm9fc3VyZmFjZV90ICog
c3VyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3JjWCwgaW50IHNyY1ks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorewor
ICAgIGNhaXJvX2NvbnRlbnRfdCBjb250ZW50OworICAgIEdka1BpeGJ1ZiAqIGRlc3Q7CisKKyAg
ICAvKiBHZW5lcmFsIHNhbml0eSBjaGVja3MgKi8KKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCgh
c3VyZmFjZSwgTlVMTCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc3JjWCA+PSAwICYmIHNy
Y1kgPj0gMCwgTlVMTCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwod2lkdGggPiAwICYmIGhl
aWdodCA+IDAsIE5VTEwpOworCisgICAgY29udGVudCA9IGNhaXJvX3N1cmZhY2VfZ2V0X2NvbnRl
bnQoc3VyZmFjZSkgfCBDQUlST19DT05URU5UX0NPTE9SOworICAgIGRlc3QgPSBnZGtfcGl4YnVm
X25ldyhHREtfQ09MT1JTUEFDRV9SR0IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICEhKGNv
bnRlbnQgJiBDQUlST19DT05URU5UX0FMUEhBKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIGhlaWdodCk7CisKKyAgICBzdXJm
YWNlID0gZ2RrX2NhaXJvX3N1cmZhY2VfY29lcmNlX3RvX2ltYWdlKHN1cmZhY2UsIGNvbnRlbnQs
IHNyY1ggKyB3aWR0aCwgc3JjWSArIGhlaWdodCk7CisgICAgY2Fpcm9fc3VyZmFjZV9mbHVzaChz
dXJmYWNlKTsKKyAgICBpZiAoY2Fpcm9fc3VyZmFjZV9zdGF0dXMoc3VyZmFjZSkgfHwgIWRlc3Qp
IHsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KHN1cmZhY2UpOworICAgICAgICByZXR1
cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoZ2RrX3BpeGJ1Zl9nZXRfaGFzX2FscGhhKGRlc3Qp
KQorICAgICAgICBjb252ZXJ0X2FscGhhKGdka19waXhidWZfZ2V0X3BpeGVscyhkZXN0KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgZ2RrX3BpeGJ1Zl9nZXRfcm93c3RyaWRlKGRlc3QpLAorICAg
ICAgICAgICAgICAgICAgICAgICBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9kYXRhKHN1cmZhY2Up
LAorICAgICAgICAgICAgICAgICAgICAgICBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9zdHJpZGUo
c3VyZmFjZSksCisgICAgICAgICAgICAgICAgICAgICAgIHNyY1gsIHNyY1ksCisgICAgICAgICAg
ICAgICAgICAgICAgIHdpZHRoLCBoZWlnaHQpOworICAgIGVsc2UKKyAgICAgICAgY29udmVydF9u
b19hbHBoYShnZGtfcGl4YnVmX2dldF9waXhlbHMoZGVzdCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdka19waXhidWZfZ2V0X3Jvd3N0cmlkZShkZXN0KSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShzdXJmYWNlKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfc3RyaWRlKHN1cmZhY2Up
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNYLCBzcmNZLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aWR0aCwgaGVpZ2h0KTsKKworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShz
dXJmYWNlKTsKKyAgICByZXR1cm4gZGVzdDsKK30KKyNlbmRpZiAvLyBHVEtfQVBJX1ZFUlNJT05f
MgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvR3RrVmVyc2lvbmluZy5oCmluZGV4IGE4NzRlOWUuLjAzNWE1NTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0d0a1ZlcnNpb25pbmcuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9HdGtWZXJzaW9uaW5nLmgKQEAgLTMyLDYgKzMyLDkgQEAgR19C
RUdJTl9ERUNMUwogLy8gTWFjcm9zIHRvIGF2b2lkIGRlcHJlY2F0aW9uIGNoZWNraW5nIGNodXJu
CiAjaWZuZGVmIEdUS19BUElfVkVSU0lPTl8yCiAjZGVmaW5lIEdES19ESVNQTEFZKCkgKEdES19E
SVNQTEFZX1hESVNQTEFZKGdka19kaXNwbGF5X2dldF9kZWZhdWx0KCkpKQorI2Vsc2UKK0dka1Bp
eGJ1ZiogZ2RrX3BpeGJ1Zl9nZXRfZnJvbV9zdXJmYWNlKGNhaXJvX3N1cmZhY2VfdCogc3VyZmFj
ZSwgaW50IHNyY1gsIGludCBzcmNZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICNlbmRpZgogCiAjaWYgIUdUS19DSEVDS19W
RVJTSU9OKDIsIDIxLCAyKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>