<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>241402</bug_id>
          
          <creation_ts>2010-06-11 11:37:23 +0000</creation_ts>
          <short_desc>kwin freezes when changing related settings in systemsettings while compositing is active</short_desc>
          <delta_ts>2011-02-14 09:44:09 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Plasma</classification>
          <product>kwin</product>
          <component>compositing</component>
          <version>unspecified</version>
          <rep_platform>Arch Linux</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>UPSTREAM</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rainer Kastl">rainer.kastl</reporter>
          <assigned_to name="KWin default assignee">kwin-bugs-null</assigned_to>
          <cc>anshulajain</cc>
    
    <cc>bjoern</cc>
    
    <cc>both1970</cc>
    
    <cc>cruzki123</cc>
    
    <cc>disp.reg.bugs.kde</cc>
    
    <cc>echukwuogor</cc>
    
    <cc>finex</cc>
    
    <cc>fredrik</cc>
    
    <cc>ggrabler</cc>
    
    <cc>glad.deschrijver</cc>
    
    <cc>iansamit</cc>
    
    <cc>ipstanistreet</cc>
    
    <cc>jay</cc>
    
    <cc>jpsinthemix</cc>
    
    <cc>kate_baggins</cc>
    
    <cc>kde</cc>
    
    <cc>kde</cc>
    
    <cc>marcus</cc>
    
    <cc>mboquien</cc>
    
    <cc>micuintus</cc>
    
    <cc>msnkipa</cc>
    
    <cc>over1pixel</cc>
    
    <cc>pete</cc>
    
    <cc>rahul</cc>
    
    <cc>rdieter</cc>
    
    <cc>ronald</cc>
    
    <cc>schiv</cc>
    
    <cc>shane</cc>
    
    <cc>sven.burmeister</cc>
    
    <cc>wengxt</cc>
    
    <cc>wstephenson</cc>
    
    <cc>yogeshm.007</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>976911</commentid>
    <comment_count>0</comment_count>
      <attachid>47891</attachid>
    <who name="Rainer Kastl">rainer.kastl</who>
    <bug_when>2010-06-11 11:37:23 +0000</bug_when>
    <thetext>Created attachment 47891
kwin output

Version:           unspecified (using Devel) 
OS:                Linux

I´m using [kde-unstable] from archlinux (4.4.85/KDE 4.5 Beta 2).

Whenever I change settings in systemsettings related to kwin (like switching the default tiling layout), kwin freezes. Mouse cursor is still visible and can be moved, but clicks aren´t registered and the display does not get updated anymore. Video stops playing, but audio continues. This only happens when compositing is activated.

Attached is the kwin log, the effects start to unload when I press Ctrl-C in the terminal.

Reproducible: Always

Steps to Reproduce:
1. Make sure compositing is activated.
2. Start systemsettings and change a value related to kwin.
3. Click apply.

Actual Results:  
Display stops updating, clicks are not registered.

Expected Results:  
No freeze. ;)

xorg-server: 1.8.1-1
xf86-video-ati: 6.13.0-1
mesa, ati-dri, libgl: 7.8.1-3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976913</commentid>
    <comment_count>1</comment_count>
    <who name="Rainer Kastl">rainer.kastl</who>
    <bug_when>2010-06-11 11:40:23 +0000</bug_when>
    <thetext>Only happens when using OpenGL, XRender is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977356</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Berroterán">ceb.xan</who>
    <bug_when>2010-06-12 02:35:58 +0000</bug_when>
    <thetext>I&apos;m getting the same problem. Using Arch and the kde-unstable repository with an Intel GMA965 (X3100). I get the freeze if I try to change the fonts or the window decoration, too.

xf86-video-intel: 2.11.0-2
Other packages are the same ones of the reporter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981696</commentid>
    <comment_count>3</comment_count>
      <attachid>48226</attachid>
    <who name="Rainer Kastl">rainer.kastl</who>
    <bug_when>2010-06-22 15:21:30 +0000</bug_when>
    <thetext>Created attachment 48226
Log from the freeze

Log with debug messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981700</commentid>
    <comment_count>4</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2010-06-22 15:33:56 +0000</bug_when>
    <thetext>I updated this weekend from openSUSE 11.2 (which had xserver 1.7.x, Mesa 7.6 I think) to openSUSE 11.3 RC1 (which has xserver 1.8, Mesa 7.8), WITHOUT recompiling KDE from trunk, and I sometimes get freezes now, too. I am pretty sure it is an upstream bug (in X11 server or Mesa).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989153</commentid>
    <comment_count>5</comment_count>
    <who name="Ekeluo Chukwuogor">echukwuogor</who>
    <bug_when>2010-07-12 22:20:01 +0000</bug_when>
    <thetext>I&apos;m about to commit ****** because of this. I open warzone2100 (just launch by typing warz in krunner, don&apos;t need to see) then exit after menu shows, this kwin back on track but does nothing good for memory consumption. Just about anything related to kwin (style, theme, effect, decoration) causes this for me. running rc1 on kubuntu 10.04.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989166</commentid>
    <comment_count>6</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-07-12 22:41:19 +0000</bug_when>
    <thetext>just suspend/resume compositing instead (SHIFT+ALT+F12)

if this is reproducable to you like to the OP, please try to just call

qdbus org.kde.kwin /KWin reconfigure

also
-&gt; test another decoration and
-&gt; disable all effect plugins to see whether the issue remains then.

&quot;style&quot; (and maybe &quot;theme&quot; as of plasma-desktop &quot;theme&quot; as well) are not kwin related, btw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992961</commentid>
    <comment_count>7</comment_count>
    <who name="Ekeluo Chukwuogor">echukwuogor</who>
    <bug_when>2010-07-22 14:26:35 +0000</bug_when>
    <thetext>Calling &apos;qdbus org.kde.kwin /KWin reconfigure&apos; causes it everytime. Changing decos didn&apos;t affect it (tried bespin, polyester).

Thanks for the suspend/resume tip though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002443</commentid>
    <comment_count>8</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-08-12 21:29:39 +0000</bug_when>
    <thetext>Happened on my ATI HD 3450 with open source driver (kernel 2.6.34, 2.6.35, mesa 7.8.1 or 7.9-git)
But kwin works well without this issue with my Nvidia Go 6200 (offical driver).

...But this is not happened with 4.4 though. Maybe some new opengl api with some issue introduced in 4.5 cause this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002449</commentid>
    <comment_count>9</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-12 21:43:56 +0000</bug_when>
    <thetext>see comment #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002455</commentid>
    <comment_count>10</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-08-12 21:55:39 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; see comment #4

I also think it&apos;s a upstream issue, but can this problem solved in a similar way as #243181 https://bugs.kde.org/show_bug.cgi?id=243181?

I think quite a lot cards will be affected by this problem...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002463</commentid>
    <comment_count>11</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-12 22:14:49 +0000</bug_when>
    <thetext>If the bug is in mesa we&apos;d likely have to blacklist _every_ driver except nvidia... 
doesn&apos;t sound like an option to me :-)

also the blacklist is intended for weak GPUs, not broken drivers.

plus at least for the intel driver it seems as if there&apos;re a really sever issue that breaks when using two GL contexts in a short time frame (ie. you can segfault kwin by launching glxgears or so...) so the driver needs to be fixed anyway, since this is no more a kwin issue...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002497</commentid>
    <comment_count>12</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-12 23:17:21 +0000</bug_when>
    <thetext>&gt; also the blacklist is intended for weak GPUs, not broken drivers.
It&apos;s also meant for broken drivers, that&apos;s why the version is included. But 
it&apos;s done in a way that assumes that a new driver version will fix the 
problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003222</commentid>
    <comment_count>13</comment_count>
    <who name="Ian Smith">iansamit</who>
    <bug_when>2010-08-14 08:51:29 +0000</bug_when>
    <thetext>I have the same problem.

BTW, there is some confusion out in the forums between this bug and https://bugzilla.novell.com/show_bug.cgi?id=615649. Is there a relationship?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003258</commentid>
    <comment_count>14</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-08-14 10:03:11 +0000</bug_when>
    <thetext>I&apos;m not sure... but my card is ATI HD 3450.

Is any nvidia user who use nouveau encounter this problem? Maybe this can help us determine whether it is related to mesa or a specific dri driver.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003988</commentid>
    <comment_count>15</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-15 11:25:15 +0000</bug_when>
    <thetext>(In reply to comment #14)
&gt; I&apos;m not sure... but my card is ATI HD 3450.
&gt; 
&gt; Is any nvidia user who use nouveau encounter this problem? Maybe this can help
&gt; us determine whether it is related to mesa or a specific dri driver.

(In reply to comment #0)
&gt; Created an attachment (id=47891) [details]
&gt; kwin output
&gt; 
&gt; Version:           unspecified (using Devel) 
&gt; OS:                Linux
&gt; 
&gt; I´m using [kde-unstable] from archlinux (4.4.85/KDE 4.5 Beta 2).
&gt; 
&gt; Whenever I change settings in systemsettings related to kwin (like switching
&gt; the default tiling layout), kwin freezes. Mouse cursor is still visible and can
&gt; be moved, but clicks aren´t registered and the display does not get updated
&gt; anymore. Video stops playing, but audio continues. This only happens when
&gt; compositing is activated.
&gt; 
&gt; Attached is the kwin log, the effects start to unload when I press Ctrl-C in
&gt; the terminal.
&gt; 
&gt; Reproducible: Always
&gt; 
&gt; Steps to Reproduce:
&gt; 1. Make sure compositing is activated.
&gt; 2. Start systemsettings and change a value related to kwin.
&gt; 3. Click apply.
&gt; 
&gt; Actual Results:  
&gt; Display stops updating, clicks are not registered.
&gt; 
&gt; Expected Results:  
&gt; No freeze. ;)
&gt; 
&gt; xorg-server: 1.8.1-1
&gt; xf86-video-ati: 6.13.0-1
&gt; mesa, ati-dri, libgl: 7.8.1-3


I build i686-GNU/Linux systems, and I saw the same behavior with kde 4.4.95 (Linux-2.6.35/gcc-4.5.1/glibc-2.12.1/xorg-server 1.8.2/Mesa-7.8.2/xf86-video-intel.2.12.0), and now see the same with kde 4.5.0. Downgrading the intel driver to 2.11.0 and 2.10.0 had no effect.

Note that for kde 4.4.{2,3,4,5} (Linux-2.6.33.7/gcc-4.4.3/glibc-2.11.1/xorg-server 1.8.1/Mesa-7.8.1/xf86-video-intel.2.10.0), this problem was not present.

I have an Intel Corporation 82915G/GV/910GL Integrated Graphics Controller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004082</commentid>
    <comment_count>16</comment_count>
      <attachid>50575</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-15 13:01:20 +0000</bug_when>
    <thetext>Created attachment 50575
partial .xsession-errors log 

Attached is a partial .xsession-errors log related to this issue (there were no associated errors in Xorg.0.log)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004083</commentid>
    <comment_count>17</comment_count>
      <attachid>50575</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-15 13:05:02 +0000</bug_when>
    <thetext>Comment on attachment 50575
partial .xsession-errors log 

This is a segment of the partial .xsession-errors file resulting when this bug occurs. There were no associated Xorg.0.log errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004087</commentid>
    <comment_count>18</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-15 13:11:31 +0000</bug_when>
    <thetext>Oh, forgot to give the Qt version: with kde 4.4.95 I used Qt-4.7rc2, and with kde 4.5.0 I downgraded to Qt-4.6.3 hoping that would resolve the problem, but nope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004118</commentid>
    <comment_count>19</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-15 13:46:40 +0000</bug_when>
    <thetext>(In reply to comment #18)
&gt; Oh, forgot to give the Qt version: with kde 4.4.95 I used Qt-4.7rc2, and with
&gt; kde 4.5.0 I downgraded to Qt-4.6.3 hoping that would resolve the problem, but
&gt; nope.

as comment #4 mentions:
this has nothing to do with the KDE or Qt version but is somewhere in xorg-server, mesa or the driver.
Up-or-downgrading KDE won&apos;t help.
Try to disable kms by passing &quot;i915.modeset=0&quot; to the kernel in grub</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004530</commentid>
    <comment_count>20</comment_count>
    <who name="Glad Deschrijver">glad.deschrijver</who>
    <bug_when>2010-08-16 00:03:40 +0000</bug_when>
    <thetext>I have the same bug of the original poster with one difference: it does not necessarily occur when using systemsettings, it happens when I do anything (or even nothing) after a few minutes after I started KDE.  The keyboard also stops working.  In Juk the music continues to play until the end of the song, the following song is not started.  When I remove ~/.kde and restart KDE it is even worse because then the freeze happens even sooner and the mouse cannot be moved anymore.  I am using KDE 4.5.0 from KDEmod/Arch Linux on x86_64 with kernel 2.6.34 and NVIDIA GeForce GT 240/PCI/SSE2, OpenGL version 3.3.0 NVIDIA 256.44 using the proprietary nvidia driver.  Disabling the blur desktop effect solved the problem until I revisited the &quot;Desktop Effects&quot; configuration in systemsettings and tried to close systemsettings after changing nothing (I don&apos;t know if this is persistent since my motivation to test this further is abysmal after already having rebooted 10 times this evening).  I had none of these problems in KDE 4.4.5.  The Qt version was and is 4.6.3, xorg-server version was and is 1.8.1, mesa version was and is 7.8.2.  Yes, these three packages didn&apos;t change during the upgrade from KDE 4.4.5 to KDE 4.5.0, they were already installed since 4 July and I upgraded to KDE 4.5.0 only today 15 August (I never used the betas or RCs).  This contradicts the conclusion of comment #4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004531</commentid>
    <comment_count>21</comment_count>
    <who name="Glad Deschrijver">glad.deschrijver</who>
    <bug_when>2010-08-16 00:04:19 +0000</bug_when>
    <thetext>*** This bug has been confirmed by popular vote. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004557</commentid>
    <comment_count>22</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-16 01:09:09 +0000</bug_when>
    <thetext>comment #20 sounds more like bug #247839 (the failure on closing systemsettings could be just random)

However, given that mouse and kbd (including ctrl+alt+backspace, &quot;zapping&quot;) are inoperative (contradicting this OP) and you won&apos;t be able to &quot;fix&quot; it by suspeding/resuming compositing (?!) this is a server halt.

if you can ssh into that machine from another one, there&apos;s a good chance that you can either kill the server or at least get a &quot;clean&quot; shutdown.
also you can look for the X11 cpu usage and check dmesg for Xid entries (gpu errors likely says &quot;NVRM&quot;)
Also have a short look at your gpu temp (nvidia-settings -q GPUCoreTemp) - just ruling out it&apos;s gotten hot wherever you live ;-)

Next you should determine that it&apos;s caused/induced by kwin&apos;s (GL) compositing (deactivate it or launch another WM, like &quot;openbox --replace &amp;&quot;)
Iff this &quot;fixes&quot; the issue, just deactivate all effects to bisect if a specific one is causing this or it&apos;s the general rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004804</commentid>
    <comment_count>23</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-16 13:05:19 +0000</bug_when>
    <thetext>(In reply to comment #22)
&gt; comment #20 sounds more like bug #247839 (the failure on closing systemsettings
&gt; could be just random)
&gt; 
&gt; However, given that mouse and kbd (including ctrl+alt+backspace, &quot;zapping&quot;) are
&gt; inoperative (contradicting this OP) and you won&apos;t be able to &quot;fix&quot; it by
&gt; suspeding/resuming compositing (?!) this is a server halt.
&gt; 
&gt; if you can ssh into that machine from another one, there&apos;s a good chance that
&gt; you can either kill the server or at least get a &quot;clean&quot; shutdown.
&gt; also you can look for the X11 cpu usage and check dmesg for Xid entries (gpu
&gt; errors likely says &quot;NVRM&quot;)
&gt; Also have a short look at your gpu temp (nvidia-settings -q GPUCoreTemp) - just
&gt; ruling out it&apos;s gotten hot wherever you live ;-)
&gt; 
&gt; Next you should determine that it&apos;s caused/induced by kwin&apos;s (GL) compositing
&gt; (deactivate it or launch another WM, like &quot;openbox --replace &amp;&quot;)
&gt; Iff this &quot;fixes&quot; the issue, just deactivate all effects to bisect if a specific
&gt; one is causing this or it&apos;s the general rendering.

Hi folks,
Ok, for kde-4.5.0, I downgraded all of X (libs/server/drivers), libdrm, and Mesa to the configuration I now use w/o problems under kde-4.4.5. The issue nder v4.5.0 remains. My feeling is that its most likely a kdelibs/kdebase-workspace issue. Also, in the .xsession-errors log I posted earlier, the message:
  systemsettings(3100) EventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createWidgets!

occurs many times when this &apos;hang&apos; happens. Perhaps its related to bug: 238864, Comment #7 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005293</commentid>
    <comment_count>24</comment_count>
    <who name="Glad Deschrijver">glad.deschrijver</who>
    <bug_when>2010-08-17 00:37:34 +0000</bug_when>
    <thetext>In reply to comment #22:

I only have one computer so I cannot ssh into it from another machine.  Top doesn&apos;t show disturbing behavior of X11 before this happens (it happens totally unexpectedly, there is no exaggerated CPU usage before it happens, nor any sluggishness).  I cannot find Xid entries in the dmesg or other log files.  Yesterday after the 10 reboots, I disabled the blur effect and the freeze only occurred once when closing systemsettings (that was immediately after rebooting for the 10th time), but after that I worked for more than one hour without a freeze.  Today the freeze only happens when I activate the blur effect (a few minutes after activating it), when I disable the blur effect the freeze doesn&apos;t occur anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005308</commentid>
    <comment_count>25</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-17 01:05:57 +0000</bug_when>
    <thetext>ok, see this bug #243181 and this blog http://blog.martin-graesslin.com/blog/2010/07/blacklisting-drivers-for-some-kwin-effects/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005562</commentid>
    <comment_count>26</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-17 13:55:01 +0000</bug_when>
    <thetext>I&apos;m now in the process of rebuilding 4.5 on a nicely working intel 915 system now using v4.4.5, without any xorg/libdrm/mesa changes. We&apos;ll see how it goes. As far as bug #243181, I suspect it not related. Anyway, I don&apos;t really think &quot;blacklisting&quot; video cards is an appropriate approach; a better approach would be to &quot;blacklist&quot; kde-4.5, downgrade to 4.4.5, and wait for 4.5.2 or 4.5.3. Anyway, &apos;nuf of that. In actuality, for me (w/intel 915 card), all desktop effects I&apos;ve tried are working fine as usual (luv the rolling cube for desktop navigation); its simply that whenever I change a desktop effects setting via &quot;apply&quot;, the system hangs--when I keyboard-toggle desktop effects off and then back on, all is well, with changes intact. Nevertheless, in my judgment 4.5 is not stable enough for general use. See bug #246498 and #247839 -- a lot of people are having similiar problems on a variety of video cards..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005628</commentid>
    <comment_count>27</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-17 16:26:53 +0000</bug_when>
    <thetext>(In reply to comment #26)
&gt; As far as bug #243181, I suspect it not related.
you&apos;re not experiencing bug #20 - that&apos;s entirely differen and has nothing to do with the original bug. it should not even be here :-)

&gt; Anyway, I don&apos;t really think &quot;blacklisting&quot; video cards is an appropriate approach; 
Frankly, I personally HATE it but it was the last solution we (ok martin ;-P ) could get into the release when becoming aware of the amount of trouble causing drivers/open gl implementations regarding those two shader effects.

what would be required was an external stress test application to see what your gpu/driver combination can do atm. This is however NOT related to this bug at all.

&gt; a better approach would be to &quot;blacklist&quot; kde-4.5, downgrade to 4.4.5, and wait for 4.5.2 or 4.5.3.
That&apos;d be then your distros job and actually some distros seem to do so (because of these issues)

&gt; its simply that whenever I change a desktop effects setting via &quot;apply&quot;
yes, that&apos;s this bug - see comments #4 &amp; #6

bug #246498 looks like this one and also (apparently) only affects intel users (ignoring comment #20 here, which is not related) so it might be a dupe.
(there&apos;re other intel related bug reports regarding two gl contexts in a short time frmae, like playing an opengl game or so)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006069</commentid>
    <comment_count>28</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-18 14:12:46 +0000</bug_when>
    <thetext>*** Bug 246498 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006188</commentid>
    <comment_count>29</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-08-18 17:30:54 +0000</bug_when>
    <thetext>#27
Also ati with open source drivers...
My friend and I all suffered with this problem, but we use different ati card. ati hd 3450 and 4300.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006197</commentid>
    <comment_count>30</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-18 17:42:43 +0000</bug_when>
    <thetext>does anybody encountering this issue
- have a second computer
- sshd on the &quot;broken&quot; on
- basic gdb knowledge?

when the freeze occures (apparently one can trigger it if, then for sure)
- ssh into the &quot;frozen&quot; machine
- check for the kwin process &quot;ps -A | grep kwin&quot;
- attach to it &quot;gdb&quot;, started enter &quot;attach $pid&quot;, wait until debug libs etc. are loaded
- call a backtrace &quot;bt&quot; (if you&apos;ve only a text terminal on the non frozen machine, you can &quot;gdb 2&gt;&amp;1 | tee gdb.log&quot; to dump the gdb session into a log file as well)
- don&apos;t forget to &quot;detach&quot;, then &quot;quit&quot; gdb and unfreeze the frozen one

thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006205</commentid>
    <comment_count>31</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-08-18 17:54:24 +0000</bug_when>
    <thetext>for my case, no need to sshd, because ctrl + alt + fn works....

and actually, kwin seems not freeze, because if you use your mouse to do something (though it will not displayed right), after twice alt shift f12, I can saw the result of my action...

Another information is, qdbus org.kde.kwin /KWin reconfigure is running again after freeze, kwin will crash and dmesg will shows:
radeon 0000:01:00.0: r600_cs_track_check:280 mask 0x0000000F | 0x0000000F no cb for 0
radeon 0000:01:00.0: r600_packet3_check:1108 invalid cmd stream 526
[drm:radeon_cs_ioctl] *ERROR* Invalid command stream !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006216</commentid>
    <comment_count>32</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-18 18:31:44 +0000</bug_when>
    <thetext>(In reply to comment #31)
&gt; for my case, no need to sshd, because ctrl + alt + fn works....
there&apos;d a chance that moving to a VT will resolve the freeze, but since alt+shift+f12 and WM actions are intercepted you&apos;d only see the eventloop anyway...
 
&gt; Another information is, qdbus org.kde.kwin /KWin reconfigure is running again
do you have that btrace? does kwin crash for you after running (and exiting) some opengl applications (w/o deacivating compositing)

&gt; after freeze, kwin will crash and dmesg will shows:
does the repainting halt if you disable direct rendering (advanced tab) or pass &quot;nomodeset&quot; to the kernel in grub? (be aware that there&apos;re reports for this causing visual glitches, notably on font rendering, see this report on mesa: https://bugs.freedesktop.org/show_bug.cgi?id=28327)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006462</commentid>
    <comment_count>33</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-19 08:04:34 +0000</bug_when>
    <thetext>Followup to Comment #26:
Finished the build, and how depressing... the desktop settings &apos;apply&apos; still fails in the same manner, but much worse, even though desktop effects are auto-enabled on first boot, and after login the screen fades in properly, desktop grid fails to &apos;take&apos; most of the time, desktop cube doesn&apos;t work at all. Also, after applying a desktop effect settings change, the pc frequently dropped back to the kdm login, or hard hanged. The pc formerly had kde-4.4.5, with Linux-2.6.33.7, gcc-4.4.3, glibc-2.11.1, Qt-4.6.3, xorg-server-1.8.0, Mesa-7.8.1, libdrm-2.4.20, and f86-video-intel.2.10.0 and all worked great. All I did was remove v4.4.5, and built v4.5 (upgrading attica-0.1.3 to v0.1.4). The graphics card is Intel Corporation 82865G Integrated Graphics Controller (rev 02).

The pc I first build kde-4.5.0 on (my earlier comments), has Linux-2.6.35, gcc-4.5.1, glibc-2.12.1, Qt-4.6.3, xorg-server-1.8.2, Mesa-7.8.2, libdrm-2.4.21, and f86-video-intel.2.12.0.

I know that Linux video is currently a monumental mess, so this could simply be latent bugs in kernel/libdrm/Mesa/Xorg that have only surfaced kde-4.5.0. Unfortunately, my kde builds are w/o debug so I can&apos;t use gdb.

I&apos;ll probably be short on time presently, and I want to resurrect the v4.4.5 system, but if there&apos;s anything I might do to help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006517</commentid>
    <comment_count>34</comment_count>
    <who name="Rainer Kastl">rainer.kastl</who>
    <bug_when>2010-08-19 10:36:03 +0000</bug_when>
    <thetext>Since I haven´t had any free time available since reporting this bug, I didn´t report the bug upstream. Can anyone make sure it is reported or create it if it isn´t?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006525</commentid>
    <comment_count>35</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-08-19 10:42:33 +0000</bug_when>
    <thetext>Actually I think for most people they don&apos;t know how to describe this problem to upstream, especially if this is related to video card driver... I&apos;d like to know that does anyone have the idea that which api of opengl cause this problem? Which api is introduced in kde 4.5.0, but not in kde 4.4.5?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007527</commentid>
    <comment_count>36</comment_count>
    <who name="">both1970</who>
    <bug_when>2010-08-21 11:52:17 +0000</bug_when>
    <thetext>I have this problem on Slackware 13.1 using 4.5. I can return to normal if I run DISPLAY=:0 kwin --replace from console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007894</commentid>
    <comment_count>37</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-22 13:04:09 +0000</bug_when>
    <thetext>for a shot in the dark:
can anybody being able to reproduce this try to revert this commit:
    http://websvn.kde.org/?view=revision&amp;revision=1137490
recompile and restart kwin, then try again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008107</commentid>
    <comment_count>38</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-22 22:55:19 +0000</bug_when>
    <thetext>(In reply to comment #37)
&gt; for a shot in the dark:
&gt; can anybody being able to reproduce this try to revert this commit:
&gt;     http://websvn.kde.org/?view=revision&amp;revision=1137490
&gt; recompile and restart kwin, then try again?

Yup, tried that. I simply created a patch to revert kwinglutils.cpp to v4.4.5, and it has no effect, so the problem unfortunately lies eleswhere.I also tried Linux-2.6.36-rc1--no change as well. I&apos;m now about to rebuild v4.5.0 w/debug so I can use gdb, but it&apos;ll take several days. I do have a short backtrace which I got by rebuilding kdebase/-workspace/-runtime w/debug:

(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb59764b1 in select () at ../sysdeps/unix/syscall-template.S:82
#2  0xb698a3d3 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/libQtCore.so.4
#3  0xb698e609 in QEventDispatcherUNIX::select(int, fd_set*, fd_set*, fd_set*, timeval*) () from /usr/lib/libQtCore.so.4
#4  0xb5f21dcc in ?? () from /usr/lib/libQtGui.so.4
#5  0xb698f476 in QEventDispatcherUNIXPrivate::doSelect(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;, timeval*) ()
   from /usr/lib/libQtCore.so.4
#6  0xb69900f6 in QEventDispatcherUNIX::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#7  0xb5f22076 in ?? () from /usr/lib/libQtGui.so.4
#8  0xb6961889 in QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#9  0xb6961afa in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#10 0xb69663df in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#11 0xb5e72ab7 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#12 0xb77093bb in kdemain (argc=3, argv=0xbfc529a4)
    at /home/bld/kdebase-workspace-4.5.0-jps_src/kdebase-workspace-4.5.0/kwin/main.cpp:531
#13 0x0804874b in main (argc=3, argv=0xbfc529a4) at /home/bld/kdebase-workspace-4.5.0-jps_src/build/kwin/kwin_dummy.cpp:3
(gdb) detach
Detaching from program: /usr/bin/kwin, process 2221
(gdb) quit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008139</commentid>
    <comment_count>39</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-22 23:28:11 +0000</bug_when>
    <thetext>yeah it keeps hanging  in the eventfilter.
next candidate to revert would then be http://websvn.kde.org/?view=rev&amp;revision=1137668

check your glx version (NOT the glx client version) (glxinfo | grep -i version) and esp. if it&apos;s &lt; 1.3 (intel -&gt; yes :) give it a try =\
you&apos;ll however loose direct rendering until it&apos;s &quot;officially&quot; available ... &quot;if&quot;  :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008141</commentid>
    <comment_count>40</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-22 23:30:30 +0000</bug_when>
    <thetext>errr.. sorry in case that was too ambigious:
waiting in the eventloop until sth. interesting happens is what applications usually do, no dead- or livelock, nothing frozen on the CPU (this is why shift+alt+f12 is still intercepted)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008214</commentid>
    <comment_count>41</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-23 07:11:45 +0000</bug_when>
    <thetext>(In reply to comment #40)
&gt; errr.. sorry in case that was too ambigious:
&gt; waiting in the eventloop until sth. interesting happens is what applications
&gt; usually do, no dead- or livelock, nothing frozen on the CPU (this is why
&gt; shift+alt+f12 is still intercepted)

glx ver is 1.4. Here&apos;s the output from glxinfo:
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, 
    GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, 
    GLX_INTEL_swap_event
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 915G GEM 20100328 2010Q1 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 7.8.2
OpenGL extensions:
    GL_ARB_copy_buffer, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program, 
    GL_ARB_half_float_pixel, GL_ARB_map_buffer_range, GL_ARB_multisample, 
    GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, 
    GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_shader_objects, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_120, GL_ARB_shadow, 
    GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, 
    GL_ARB_transpose_matrix, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
    GL_EXT_cull_vertex, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, 
    GL_EXT_draw_range_elements, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_object, GL_EXT_fog_coord, 
    GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, 
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
    GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, 
    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, 
    GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle, 
    GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1, 
    GL_APPLE_client_storage, GL_APPLE_packed_pixels, 
    GL_APPLE_vertex_array_object, GL_APPLE_object_purgeable, 
    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, 
    GL_ATI_separate_stencil, GL_IBM_multimode_draw_arrays, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
    GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent, 
    GL_NV_packed_depth_stencil, GL_NV_texture_env_combine4, 
    GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program, 
    GL_NV_vertex_program1_1, GL_OES_read_format, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, 
    GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

32 GLX Visuals
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xbd 24 tc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xbe 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xbf 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xc0 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc1 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc2 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc3 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xc4 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xc5 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xc6 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xc7 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc8 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xc9 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xca 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xcb 24 dc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xcc 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xcd 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xce 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xcf 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xd0 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xd1 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xd2 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xd3 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xd4 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xd5 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xd6 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xd7 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xd8 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xd9 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x8c 32 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

48 GLXFBConfigs:
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x8d  0 tc  0 16  0 r  .  .  5  6  5  0  0  0  0  0  0  0  0  0 0 None
0x8e  0 tc  0 16  0 r  y  .  5  6  5  0  0  0  0  0  0  0  0  0 0 None
0x8f  0 tc  0 16  0 r  y  .  5  6  5  0  0  0  0  0  0  0  0  0 0 None
0x90  0 tc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x91  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x92  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0x93  0 tc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0x94  0 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0x95  0 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0x96  0 tc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0x97  0 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0x98  0 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0x99  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x9a  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x9b  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x9c  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x9d  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x9e  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x9f  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0xa0  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0xa1  0 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xa2  0 tc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xa3  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xa4  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xa5  0 dc  0 16  0 r  .  .  5  6  5  0  0  0  0  0  0  0  0  0 0 None
0xa6  0 dc  0 16  0 r  y  .  5  6  5  0  0  0  0  0  0  0  0  0 0 None
0xa7  0 dc  0 16  0 r  y  .  5  6  5  0  0  0  0  0  0  0  0  0 0 None
0xa8  0 dc  0 16  0 r  .  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0xa9  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0xaa  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0xab  0 dc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xac  0 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xad  0 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xae  0 dc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xaf  0 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xb0  0 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xb1  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xb2  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xb3  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xb4  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xb5  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xb6  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xb7  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None
0xb8  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  0 16 16 16  0  0 0 Slow
0xb9  0 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xba  0 dc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xbb  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xbc  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008348</commentid>
    <comment_count>42</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-23 13:00:46 +0000</bug_when>
    <thetext>Ok, finally beginning to pin things down, In kdebase-workspace-4.4.5/kwin main.cpp, we have:

499     // HACK: This is needed for AIGLX
500     if( qstrcmp( qgetenv( &quot;KWIN_DIRECT_GL&quot; ), &quot;1&quot; ) != 0 )
501         setenv( &quot;LIBGL_ALWAYS_INDIRECT&quot;,&quot;1&quot;, true );

while in kdebase-workspace-4.5.0/kwin/main.cpp, these lines are absent, and in kdebase-workspace-4.5.0/kwin/compositingprefs.cpp, we have:

120 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
121     // HACK: This is needed for AIGLX
122     if( qstrcmp( qgetenv( &quot;KWIN_DIRECT_GL&quot; ), &quot;1&quot; ) != 0 )
123         {
124         // Start an external helper program that initializes GLX and returns
125         // 0 if we can use direct rendering, and 1 otherwise.
126         // The reason we have to use an external program is that after GLX
127         // has been initialized, it&apos;s too late to set the LIBGL_ALWAYS_INDIRECT
128         // environment variable.
129         // Direct rendering is preferred, since not all OpenGL extensions are
130         // available with indirect rendering.
131         const QString opengl_test = KStandardDirs::findExe( &quot;kwin_opengl_test&quot; );
132         if ( QProcess::execute( opengl_test ) != 0 )
133             setenv( &quot;LIBGL_ALWAYS_INDIRECT&quot;, &quot;1&quot;, true );
134         }

while in kdebase-workspace-4.4.5/kwin/compositingprefs.cpp these lines are absent.

If I build kdebase-workspace-4.4.5 with lines 499-501 added, then this entire issue disappears at least for me (i915 graphics).

If I rebuild a vanilla kdebase-workspace-4.4.5, and simply add LIBGL_ALWAYS_INDIRECT=1 to ~/.bash_profile, then this entire issue disappears as well.

Since I never explicitly set KWIN_DIRECT_GL, I assume its unset, and hence in v4.4.5 LIBGL_ALWAYS_INDIRECT is always set in kwin. For v4.5.0, if KWIN_DIRECT_GL is unset, kwin uses kwin_opengl_test to decide whether to set LIBGL_ALWAYS_INDIRECT, and apparently kwin_opengl_test returns 0 and so LIBGL_ALWAYS_INDIRECT is not set.

My glxinfo says &apos;direct rendering: Yes,&apos; so I assume this is why kwin_opengl_test has a good return code. Furthermore, on first kde boot, desktop effects are active and in Desktop Effects--&gt;Advanced &apos;Enable Direct Rendering&apos; is checked. Note also that, on first kde boots, desktop effects all appear to work. This suggest to me that X/libdrm/Mesa/intel driver are all working, at least on first boots. For me, the issue has only been that on
making a CHANGE to desktop effects via the system settings dialog, or changes to screen appearance in general, results in the &apos;hang&apos; if desktop effects are active. 

So it looks like kde initially sets up the graphics correctly, but then after
that, if changes are requested (perhaps requiring some sort of re-initializtion of the video), something goes amiss (not necessarily in kde).

So, can anybody shed light on how kde uses the environment variables KWIN_DIRECT_GL and LIBGL_ALWAYS_INDIRECT, particularly the latter? I&apos;m curious because even with LIBGL_ALWAYS_INDIRECT set, Desktop Effects--&gt;Advanced &apos;Enable Direct Rendering&apos; is checked, and desktop effects are FAST, really FAST!

ps: I&apos;m still seeing a ton of these messages in .xsession-errors:
systemsettings(3722) EventListener::eventFilter: User of KWidgetItemDelegate should not delete widgets created by createWidgets!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008352</commentid>
    <comment_count>43</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-23 13:07:27 +0000</bug_when>
    <thetext>In my last comment(#42), I miss-typed; replace

If I build kdebase-workspace-4.4.5 with lines 499-501 added, then this entire
issue disappears at least for me (i915 graphics).

If I rebuild a vanilla kdebase-workspace-4.4.5, and simply add
LIBGL_ALWAYS_INDIRECT=1 to ~/.bash_profile, then this entire issue disappears
as well.

with

If I build kdebase-workspace-4.5.0 with lines 499-501 added, then this entire
issue disappears at least for me (i915 graphics).

If I rebuild a vanilla kdebase-workspace-4.5.0, and simply add
LIBGL_ALWAYS_INDIRECT=1 to ~/.bash_profile, then this entire issue disappears
as well.

sorry &apos;bout that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008756</commentid>
    <comment_count>44</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-24 10:34:08 +0000</bug_when>
    <thetext>I knoww very little about opengl, as you could probably tell. I now see that Mesa uses LIBGL_ALWAYS_INDIRECT.  This &apos;hang&apos; issue didn&apos;t occur in v4.4.5 because I do not set KWIN_DIRECT_GL and then kwin always sets LIBGL_ALWAYS_INDIRECT.  For v4.5.0, with KWIN_DIRECT_GL unset, kwin sets LIBGL_ALWAYS_INDIRECT only if &apos;kwin_opengl_test&apos; returns nonzero.  For me, kwin_opengl_test returns 0 on my desktop as well as on my laptop (both using i915) so LIBGL_ALWAYS_INDIRECT is left unset and the &apos;hang&apos; issue occurs.

So, in my case, assuming kwin_opengl_test returning 0 is legit, it looks like an upstream issue where direct gl support is declared by Mesa, but in fact is not the case. I do get a number of desktop effects, including translucency, but not &apos;blur&apos; even though its enabled and no errors are reported (and its not blacklisted, at least in kwinrc).

Going back to v4.4.5, I find that the Xorg-server-1.8.0/Mesa-7.8.1/libdrm-2.4.20/xf86-video-2.10.0 works, but if I upgrade any or all of these 5 pkgs then all goes to hell-random crashes, etc. (for exanple, Xorg-server-1.8.2/Mesa-7.8.2/libdrm-2.4.21/xf86-video-2.11.0 fails badly).

Looks to me like its just the same old-same old Linux video -what a mess --- and NOT kde at all..

I&apos;ll stick with manually setting LIBGL_ALWAYS_INDIRECT, and carry on..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008802</commentid>
    <comment_count>45</comment_count>
    <who name="Shane">shane</who>
    <bug_when>2010-08-24 11:44:40 +0000</bug_when>
    <thetext>I am not a programmer but I just want to say thank you to all for looking into this bug.

Also, I want to add that I am using Compiz-fusion as a WM and it is working flawlessly on my Intel 4500M. If anything, my perception is that it is much smoother than KWin... and many effects that do not work in KWin do work in Compiz. E.g. cover switch and zooming. (They do work in KWin but I have to disable the functionality checks).

My point is that it is possible to have compositing working properly with the same underlying libraries, drivers, etc.

Here are the packages I have installed in Arch.

[me@arch ~]$ pacman -Q | grep -e xorg-server -e mesa -e libdrm -e xf86-video
lib32-libdrm 2.4.21-1
lib32-mesa 7.8.2-1
libdrm 2.4.21-2
mesa 7.8.2-1
xf86-video-intel 2.12.0-1
xf86-video-vesa 2.3.0-2
xorg-server 1.8.1.902-1
xorg-server-utils 7.5-5

If a problem exists upstream, can one of us who is more knowledgeable please submit a bug report or a patch to them. I would... but I wouldn&apos;t know what I&apos;d be talking about. I would much rather use Kwin than Compiz.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009174</commentid>
    <comment_count>46</comment_count>
    <who name="FiNeX">finex</who>
    <bug_when>2010-08-25 11:31:32 +0000</bug_when>
    <thetext>Will a fix/workaround be included in the upcoming KDE 4.5.1 (tag is tomorrow)?


Otherwise is sufficient to set the &quot;LIBGL_ALWAYS_INDIRECT&quot; to have a manual workaround? Maybe it should be written in the release notes :-)



Thanks all!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009238</commentid>
    <comment_count>47</comment_count>
    <who name="Ray Rashif">schiv</who>
    <bug_when>2010-08-25 14:16:09 +0000</bug_when>
    <thetext>What follows is what I have observed, immediately going from 4.4 to 4.5 with the same Xorg, same Mesa, same Intel, same Dri etc. (Arch Linux):

#1: Fresh $HOME (everything deleted)
#2: Run KDE 4.4 == OK
#3: Fresh $HOME
#4: Upgrade to 4.5
#5: Run KDE 4.5 == NOT OK

This is an Intel GMA 950, on an Intel 945 board (laptop).

The issues, seen gradually since login:

* Compositing is disabled (expected default, similar to 4.4)
* Enable Compositing; SLOW performance (FAST/NORMAL in 4.4)
* Toggle a setting, click Apply; Weird Freeze (NORMAL in 4.4)

** SWITCHING VT and back has NO EFFECT
** Unchecking &quot;Enable direct rendering&quot; FAILS (compositing fails, WORKS in 4.4)
** LIBGL_ALWAYS_INDIRECT=1 (similar to above) naturally FAILS as well
** Xrender WORKS, with direct or indirect rendering

So, I don&apos;t know how it could be anything but Kwin compositing code (else, some other KDE code). You guys have done stuff that is incompatible with the current and latest open-source ATI/Intel video stack used by not-so-recent hardware. I&apos;m guessing LIBGL_ALWAYS_INDIRECT=1 or unchecking &quot;Enable direct rendering&quot; works with newer hardware, but those still affected by this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009250</commentid>
    <comment_count>48</comment_count>
    <who name="FiNeX">finex</who>
    <bug_when>2010-08-25 14:51:33 +0000</bug_when>
    <thetext>I&apos;ve just tried to set LIBGL_ALWAYS_INDIRECT=1 on my notebook (intel 945) but without any positive effects.

The freeze occours even without opening systemsettings.

After the login I&apos;ve opened some applications (konsole, firefox, dolphin) and the desktop has been frozen again :-(

I&apos;m using xorg-server 1.8.1.902-1 (from archlinux repositories).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009258</commentid>
    <comment_count>49</comment_count>
    <who name="Médéric Boquien">mboquien</who>
    <bug_when>2010-08-25 15:07:00 +0000</bug_when>
    <thetext>I agree with FiNeX, a workaround is badly needed. I updated to 4.5.0 yesterday (archlinux) on 2 computers, one with an intel and one with an ati card, both running OSS drivers and it gives a disastrous first impression of KDE. On the other hand, on a computer running the nvidia driver no problem to be noted (any kwin developer using an OSS driver?)

@47: it is not necessarily in KDE. Changes in kwin may just have triggered the bug in mesa, it would not be the first time KDE pushes the envelope. Though the effect is really bad here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009261</commentid>
    <comment_count>50</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2010-08-25 15:20:25 +0000</bug_when>
    <thetext>This bug is about KWin freezing when applying KWin related changes in systemsettings. What comment #48 refers to propably is the intel/DRI related kernel bug. Update to 2.6.35 kernel, newest stable Mesa and Xorg, and those random hangs with intel 945 disappear (at least on my machine).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009284</commentid>
    <comment_count>51</comment_count>
    <who name="Ray Rashif">schiv</who>
    <bug_when>2010-08-25 16:17:05 +0000</bug_when>
    <thetext>(In reply to comment #49) 
&gt; @47: it is not necessarily in KDE. Changes in kwin may just have triggered the
&gt; bug in mesa, it would not be the first time KDE pushes the envelope. Though the
&gt; effect is really bad here.

That is exactly what I meant by using the term &quot;incompatible&quot;; applies both ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009352</commentid>
    <comment_count>52</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-25 18:51:02 +0000</bug_when>
    <thetext>SVN commit 1167908 by graesslin:

Revert rev 1137490: it caused compositing not working with legacy NVIDIA drivers and might be responsible for freezes when changing config.
BUG: 243991
CCBUG: 241402
FIXED-IN: 4.5.1



 M  +0 -20     kwinglutils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=1167908</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009356</commentid>
    <comment_count>53</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-25 18:53:52 +0000</bug_when>
    <thetext>SVN commit 1167909 by graesslin:

Forward port rev 1167908
Revert rev 1137490: it caused compositing not working with legacy NVIDIA drivers and might be responsible for freezes when changing config.
It can be reverted as there is already a better fix for buggy drivers present in 4.5.1.
Did I mention that I love drivers?
CCBUG: 243991
CCBUG: 241402

 M  +0 -20     kwinglutils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=1167909</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009357</commentid>
    <comment_count>54</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-25 18:58:05 +0000</bug_when>
    <thetext>(In reply to comment #46)
&gt; Will a fix/workaround be included in the upcoming KDE 4.5.1 (tag is tomorrow)?
I just did a commit, but I do not know if it fixed it. I have to properly investigate the issue but currently I am lacking the time. If I get a patch before the release I will send a notice to the release team.


(In reply to comment #49)
&gt; On the
&gt; other hand, on a computer running the nvidia driver no problem to be noted (any
&gt; kwin developer using an OSS driver?)
Most of the devs are using NVIDIA, but I will switch to an Ati based system soon to feel with my users. But if it&apos;s too bad for me I will get an NVIDIA card again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009396</commentid>
    <comment_count>55</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2010-08-25 20:31:17 +0000</bug_when>
    <thetext>Tested r1167909 on trunk, still hangs when applying changes while compositing is active. Toggling compositing resumes.

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20100328 2010Q1 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 7.8.2
XOrg: 7.5 (server 1.8.0) (intel 2.12.0)
lspci: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009415</commentid>
    <comment_count>56</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-08-25 21:38:41 +0000</bug_when>
    <thetext>martins fix is for the fbo test, while apparently this one&apos;s about the inversed LIBGL_ALWAYS_INDIRECT policy ...

kwin used to force it unless you exported KWIN_DIRECT_GL=1, now it prepends a GLX test and only sets it if the test fails - from other bugreports (kwin crashes after closing gl game blablablah ..) i however make that intel/mesa (and maby ati/mesa) uncleanly exit gl contexts - so there&apos;s actually a good chance that the test works but direct rendering is actually broken, bein unveiled on multiple context creations.

it might work to run the test several times then:
inc=0; while `kwin_opengl_test`; do ((++inc)); echo passed; done; echo &quot;failed on $inc&quot;

no idea whether that&apos;s it, though *shrug*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009845</commentid>
    <comment_count>57</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-26 21:21:42 +0000</bug_when>
    <thetext>*** Bug 246987 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010549</commentid>
    <comment_count>58</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-28 14:54:03 +0000</bug_when>
    <thetext>*** Bug 243889 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010561</commentid>
    <comment_count>59</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-08-28 15:12:17 +0000</bug_when>
    <thetext>*** Bug 245400 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010769</commentid>
    <comment_count>60</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-08-29 03:29:34 +0000</bug_when>
    <thetext>What looks to be the root issue here is that KDE and/or Mesa/xorg video driver/kernel video driver are unable to support Mesa direct opengl for some driver-graphics card configurations (for me Intel Corporation 82865G or 82915G/GV/910GL Integrated Graphics using i915). I believe its not KDE, probably not Mesa, but rather driver (for me, xf86-video-intel and i915) issue(s).

KDE-4.4.x resolved this issue by forcing Mesa to use indirect opengl (LIBGL_ALWAYS_INDIRECT=1); for cases where Mesa direct opengl is know to work, one could override LIBGL_ALWAYS_INDIRECT=1 by setting KWIN_DIRECT_GL=1 in the kwin environment.

In KDE-4.5.0, LIBGL_ALWAYS_INDIRECT=1 is set only if (a) KWIN_DIRECT_GL=1 is not set in environment, and (b) the kwin_opengl_test fails; the present &apos;hang&apos; issue occurs when kwin_opengl_test passes, even though Mesa direct opengl does not work for the driver-graphics card configuration being used.

On my system, if I run machtest
(http://wwwvis.informatik.uni-stuttgart.de/machtest/intro.html) and
glean (http://glean.sourceforge.net/) tests using direct opengl, I get many PASSES, but some notable FAILURES. Clearly KDE can do nothing about these direct opengl failures.

In summary, it appears to me that the strategy to be taken here, in KDE, is to strengthen kwin_opengl_test to be able to reliably detect failures in direct opengl (reliably prevent false positives) and to then set LIBGL_ALWAYS_INDIRECT=1. I think little else can be done on the KDE side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012805</commentid>
    <comment_count>61</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2010-09-01 20:06:06 +0000</bug_when>
    <thetext>*** Bug 249778 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014781</commentid>
    <comment_count>62</comment_count>
      <attachid>51344</attachid>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-09-05 17:58:00 +0000</bug_when>
    <thetext>Created attachment 51344
Patch to fix the freezes in combination with reverting rev 1137668

This is a patch to solve all the issues we see with the Intel drivers when indirect rendering is enabled. As I do not have intel hardware the patch is untested.

The patch should go together with reverting svn rev 1137668. It would be nice if someone could try this combinations and have a look for the following issues:
* are effects enabled on kwin startup if the selfcheck is enabled (expected behaviour: breaks without patch, works with patch)
* does the desktop freeze when changing settings (expected behaviour: no freeze with the patch)
* does blur and lanczos get enabled without being on the blacklist (expected behaviour: are not enabled)
* is the direct rendering option honoured

Thanks for testings :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014823</commentid>
    <comment_count>63</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-05 19:49:57 +0000</bug_when>
    <thetext>(In reply to comment #62)
&gt; Created an attachment (id=51344) [details]
&gt; Patch to fix the freezes in combination with reverting rev 1137668
&gt; 
&gt; This is a patch to solve all the issues we see with the Intel drivers when
&gt; indirect rendering is enabled. As I do not have intel hardware the patch is
&gt; untested.
&gt; 
&gt; The patch should go together with reverting svn rev 1137668. It would be nice
&gt; if someone could try this combinations and have a look for the following
&gt; issues:
&gt; * are effects enabled on kwin startup if the selfcheck is enabled (expected
&gt; behaviour: breaks without patch, works with patch)
&gt; * does the desktop freeze when changing settings (expected behaviour: no freeze
&gt; with the patch)
&gt; * does blur and lanczos get enabled without being on the blacklist (expected
&gt; behaviour: are not enabled)
&gt; * is the direct rendering option honoured
&gt; 
&gt; Thanks for testings :-)

Sorry to say it, but no change, problem remains...

* are effects enabled on kwin startup... YES (with or w/o patch)
* does the desktop freeze when...        YES (with or w/o patch)
* does blur and lanczos get enabled...   NO  (blacklisted with or w/o patch)
* is the direct rendering option...      YES (with or w/o patch)

This is for kde-4.5.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014844</commentid>
    <comment_count>64</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-09-05 20:45:04 +0000</bug_when>
    <thetext>Oh I think I did not make myself clear: if you test this patch ensure that the 
driver is *not* on the blacklist. It&apos;s important to know if kwin recognizes 
that those effects should not be loaded. If it is blacklisted the test does 
not say anything</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014936</commentid>
    <comment_count>65</comment_count>
    <who name="Scott Kitterman">kde</who>
    <bug_when>2010-09-06 01:09:13 +0000</bug_when>
    <thetext>I tried this patch on Kubuntu Maverick (KDE 4.5.1) on a Dell mini 10v.  The only other change from the current development snapshot was I&apos;m also running a recent mesa git snapshot (which helps considerably with solving incomplete painting and flashes with compositing enabled).

With a fresh .kde and this patch the initial login is with effects temporarily suspended (and blur is enabled in the desktop effects configuration).  If I disable blur, effects are activated and work well.  I still have the problem of changing effects while effects are enabled causing the screen to freeze.  When I logout and login again (without blur), I get effects.

This is significantly better than what I get with stock 4.5.1 where I can never manage to login with effects enabled.  

In system settings it still says I&apos;m using direct rendering (enable direct rendering is checked) which, if I understand the patch correctly, is not correct.


00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014968</commentid>
    <comment_count>66</comment_count>
    <who name="Scott Kitterman">kde</who>
    <bug_when>2010-09-06 05:31:56 +0000</bug_when>
    <thetext>After I tried the patch, I noticed the mention of also reverting rev 1137668.  I built another package that also has that reverted.  Still get screen freezes when changing setting with effects active.  No effects are always temporarily disabled on login so this seems less good than the patch without revering rev 1137668 on my system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014972</commentid>
    <comment_count>67</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-06 07:06:16 +0000</bug_when>
    <thetext>(In reply to comment #64)
&gt; Oh I think I did not make myself clear: if you test this patch ensure that the 
&gt; driver is *not* on the blacklist. It&apos;s important to know if kwin recognizes 
&gt; that those effects should not be loaded. If it is blacklisted the test does 
&gt; not say anything

Oops, my error, my driver (Intel Corporation 82915G/GV/910GL Integrated Graphics Controller (rev 04) ) is not blacklisted. So the results are:

* are effects enabled on kwin startup... YES (with or w/o patch)
* does the desktop freeze when...        YES (with or w/o patch)
* does blur and lanczos get enabled...   YES (with or w/o patch)
* is the direct rendering option...      YES (with or w/o patch)

For me, this patch is actually a step backward in that there are now often kwin crashes after making desktop-settings changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015379</commentid>
    <comment_count>68</comment_count>
    <who name="Scott Kitterman">kde</who>
    <bug_when>2010-09-07 04:53:10 +0000</bug_when>
    <thetext>Today I tried mgraesslin&apos;s suggestions of also reverting kdesvn 1096554.  With that in addition to the patch and the other reversion I get effects on login.  The ceckbox for blur is checked in the U/I, but it doesn&apos;t appear to be active.  Trying to change effects with them enabled now gets a kwin crash instead of a freeze (since recovers automatically, this is progress).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016983</commentid>
    <comment_count>69</comment_count>
      <attachid>51510</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-10 11:38:51 +0000</bug_when>
    <thetext>Created attachment 51510
241402 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016987</commentid>
    <comment_count>70</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-10 11:41:34 +0000</bug_when>
    <thetext>Ok, been doing some investigation into this issue, and here&apos;s what I&apos;ve found. Looks like a KDE bug, period.  First, I&apos;ll be referring to to kdebase-workspave-4.5.1 code; specifically kdebase-workspace-4.5.1.new/kwin compositingprefs.{cpp,h}. The problem occurs in CompositingPrefs::detect(), in the following lines:

145     // remember and later restore active context
146     GLXContext oldcontext = glXGetCurrentContext();
147     GLXDrawable olddrawable = glXGetCurrentDrawable();
148     GLXDrawable oldreaddrawable = None;
149     if( hasglx13 )
150         oldreaddrawable = glXGetCurrentReadDrawable();
151 
152     if( initGLXContext() )
153         {
154         detectDriverAndVersion();
155         applyDriverSpecificOptions();
156         }
157     if( hasglx13 )
158         glXMakeContextCurrent( display(), olddrawable, oldreaddrawable, oldcontext );
159     else
160         glXMakeCurrent( display(), olddrawable, oldcontext );
161     deleteGLXContext();

I&apos;ve added kWarning lines to compositingprefs.cpp and done numerous rebuilds of kdebase-workspace-4.5.1 to see whats happening.  What happens on first kde boot (no ~/.kde, etc), is that on the first entry to CompositingPrefs::detect() we have oldcontext = NULL; in this case, all goes well. Once logged in, Desktop effects are active (and working).  Now if we select System Settings-&gt;Desktop effects, CompositingPrefs::detect() is entered again, and once again,oldcontext = NULL.  Next we select the All effects tab, and turn on some effect, say cube animation, and then click on apply; the system &apos;hangs&apos;/loses mouse focus. However, keyboard focus remains as we all know, and so going to vt1 and looking at ~/.xsession-errors, I find that CompositingPrefs::detect() has been entered a third time and this time oldcontext != NULL.

From the foregoing, I have then found that if lines 156-161 above are replaced with

156         }
       deleteGLXContext();
157     if( hasglx13 )
158         glXMakeContextCurrent( display(), olddrawable, oldreaddrawable, oldcontext );
159     else
160         glXMakeCurrent( display(), olddrawable, oldcontext );
161     //deleteGLXContext();

then the entire issue disappears.  Further, if I modify the code so that a new context is created, used, and then destroyed only if oldcontext = NULL (i.e., initGLXContext used only when oldcontext = NULL), and when oldcontext != NULL, I simply use whatever current context is active, then again, the issue entirely disappears.

Now, as the code in CompositingPrefs::detect() looks more or less sound (with the exception of possible failures to free some X-related resources such as visinfo and colormap), I think the problem lies in the external process environment.  In fact, it is quite simple to put together a simple standalone problem which closely mimics CompositingPrefs::detect(); I have done so, and all works as expected, no leaks caught by valgrind, etc.  Based on this, I think the problem is not in Mesa/Xorg/libdrm/video drivers.

Since the CompositingPrefs::detect() code depends crucially the X connection ( display() here ), I suspect that this value may be dynamic even while CompositingPrefs::detect() is running; if this is so, then deleteGLXContext() could end up trying to free stuff from a Display associated at the time with mGLContext.  To test this, I have created a patch which basically uses a new X connection in initGLXContext(), rather than display(), and this appears thus far to work nicely.

I&apos;d like to emphasize that this patch (241402 patch), is not necessarily a proper fix, but is intended to hopefully shed light on this issue..

Anyway, anyone with time, and more expertise here, please feel free to jump in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016988</commentid>
    <comment_count>71</comment_count>
      <attachid>51510</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-10 11:47:12 +0000</bug_when>
    <thetext>Comment on attachment 51510
241402 patch

--- kdebase-workspace-4.5.1.old/kwin/compositingprefs.h 2010-01-26 19:22:26.000000000 -0500
+++ kdebase-workspace-4.5.1.new/kwin/compositingprefs.h 2010-09-10 04:55:27.061000036 -0400
@@ -92,6 +92,9 @@
 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
     GLXContext mGLContext;
     Window mGLWindow;
+    XVisualInfo *mVisinfo;
+    Colormap mColormap;
+    Display *mDpy;
 #endif
 };
 
--- kdebase-workspace-4.5.1.old/kwin/compositingprefs.cpp       2010-06-24 12:28:18.000000000 -0400
+++ kdebase-workspace-4.5.1.new/kwin/compositingprefs.cpp       2010-09-10 04:55:34.844000003 -0400
@@ -166,6 +166,11 @@
 {
 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
     mGLContext = NULL;
+    mDpy       = NULL;
+    mVisinfo   = NULL;
+    mGLWindow  = 0;
+    mColormap  = 0;
+
     KXErrorHandler handler;
     // Most of this code has been taken from glxinfo.c
     QVector&lt;int&gt; attribs;
@@ -175,39 +180,44 @@
     attribs &lt;&lt; GLX_BLUE_SIZE &lt;&lt; 1;
     attribs &lt;&lt; None;
 
-    XVisualInfo* visinfo = glXChooseVisual( display(), DefaultScreen( display()), attribs.data() );
-    if( !visinfo )
+    mDpy = XOpenDisplay(0);
+    if ( !mDpy )
+         {
+         kDebug( 1212 ) &lt;&lt; &quot;Error: XOpenDisplay(0) failed&quot;;
+         return false;
+         }
+    mVisinfo = glXChooseVisual( mDpy, DefaultScreen( mDpy ), attribs.data() );
+    if( !mVisinfo )
         {
         attribs.last() = GLX_DOUBLEBUFFER;
         attribs &lt;&lt; None;
-        visinfo = glXChooseVisual( display(), DefaultScreen( display()), attribs.data() );
-        if (!visinfo)
+        mVisinfo = glXChooseVisual( mDpy, DefaultScreen( mDpy ), attribs.data() );
+        if( !mVisinfo )
             {
             kDebug( 1212 ) &lt;&lt; &quot;Error: couldn&apos;t find RGB GLX visual&quot;;
             return false;
             }
         }
 
-    mGLContext = glXCreateContext( display(), visinfo, NULL, True );
-    if ( !mGLContext )
-    {
+    mGLContext = glXCreateContext( mDpy, mVisinfo, NULL, True );
+    if( !mGLContext )
+        {
         kDebug( 1212 ) &lt;&lt; &quot;glXCreateContext failed&quot;;
-        XDestroyWindow( display(), mGLWindow );
         return false;
-    }
+        }
 
     XSetWindowAttributes attr;
     attr.background_pixel = 0;
     attr.border_pixel = 0;
-    attr.colormap = XCreateColormap( display(), rootWindow(), visinfo-&gt;visual, AllocNone );
+    mColormap = XCreateColormap( mDpy, RootWindow( mDpy, mVisinfo-&gt;screen ), mVisinfo-&gt;visual, AllocNone );
+    attr.colormap = mColormap;
     attr.event_mask = StructureNotifyMask | ExposureMask;
     unsigned long mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
     int width = 100, height = 100;
-    mGLWindow = XCreateWindow( display(), rootWindow(), 0, 0, width, height,
-                       0, visinfo-&gt;depth, InputOutput,
-                       visinfo-&gt;visual, mask, &amp;attr );
+    mGLWindow = XCreateWindow( mDpy, RootWindow( mDpy, mVisinfo-&gt;screen ), 0, 0, width, height,
+                       0, mVisinfo-&gt;depth, InputOutput, mVisinfo-&gt;visual, mask, &amp;attr );
 
-    return glXMakeCurrent( display(), mGLWindow, mGLContext ) &amp;&amp; !handler.error( true );
+    return glXMakeCurrent( mDpy, mGLWindow, mGLContext ) &amp;&amp; !handler.error( true );
 #else
    return false;
 #endif
@@ -216,10 +226,31 @@
 void CompositingPrefs::deleteGLXContext()
 {
 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
-    if( mGLContext == NULL )
-        return;
-    glXDestroyContext( display(), mGLContext );
-    XDestroyWindow( display(), mGLWindow );
+    if( mDpy != NULL )
+        {
+        if( mGLWindow != 0 )
+            {
+            XDestroyWindow( mDpy, mGLWindow );
+            mGLWindow = 0;
+            }
+        if( mGLContext != NULL )
+            {
+            glXDestroyContext( mDpy, mGLContext );
+            mGLContext = NULL;
+            }
+        if( mColormap != 0 )
+            {
+            XFreeColormap( mDpy, mColormap);
+            mColormap = 0;
+            }
+        if( mVisinfo != NULL )
+            {
+            XFree( mVisinfo );
+            mVisinfo = NULL;
+            }
+        XCloseDisplay( mDpy );
+        mDpy = NULL;
+        }
 #endif
 }
 
@@ -319,7 +350,6 @@
     //    }
     }
 
-
 bool CompositingPrefs::detectXgl()
     { // Xgl apparently uses only this specific X version
     return VendorRelease(display()) == 70000001;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016989</commentid>
    <comment_count>72</comment_count>
      <attachid>51510</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-10 11:51:40 +0000</bug_when>
    <thetext>Comment on attachment 51510
241402 patch

--- kdebase-workspace-4.5.1.old/kwin/compositingprefs.h 2010-01-26 19:22:26.000000000 -0500
+++ kdebase-workspace-4.5.1.new/kwin/compositingprefs.h 2010-09-10 04:55:27.061000036 -0400
@@ -92,6 +92,9 @@
 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
     GLXContext mGLContext;
     Window mGLWindow;
+    XVisualInfo *mVisinfo;
+    Colormap mColormap;
+    Display *mDpy;
 #endif
 };
 
--- kdebase-workspace-4.5.1.old/kwin/compositingprefs.cpp       2010-06-24 12:28:18.000000000 -0400
+++ kdebase-workspace-4.5.1.new/kwin/compositingprefs.cpp       2010-09-10 04:55:34.844000003 -0400
@@ -166,6 +166,11 @@
 {
 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
     mGLContext = NULL;
+    mDpy       = NULL;
+    mVisinfo   = NULL;
+    mGLWindow  = 0;
+    mColormap  = 0;
+
     KXErrorHandler handler;
     // Most of this code has been taken from glxinfo.c
     QVector&lt;int&gt; attribs;
@@ -175,39 +180,44 @@
     attribs &lt;&lt; GLX_BLUE_SIZE &lt;&lt; 1;
     attribs &lt;&lt; None;
 
-    XVisualInfo* visinfo = glXChooseVisual( display(), DefaultScreen( display()), attribs.data() );
-    if( !visinfo )
+    mDpy = XOpenDisplay(0);
+    if ( !mDpy )
+         {
+         kDebug( 1212 ) &lt;&lt; &quot;Error: XOpenDisplay(0) failed&quot;;
+         return false;
+         }
+    mVisinfo = glXChooseVisual( mDpy, DefaultScreen( mDpy ), attribs.data() );
+    if( !mVisinfo )
         {
         attribs.last() = GLX_DOUBLEBUFFER;
         attribs &lt;&lt; None;
-        visinfo = glXChooseVisual( display(), DefaultScreen( display()), attribs.data() );
-        if (!visinfo)
+        mVisinfo = glXChooseVisual( mDpy, DefaultScreen( mDpy ), attribs.data() );
+        if( !mVisinfo )
             {
             kDebug( 1212 ) &lt;&lt; &quot;Error: couldn&apos;t find RGB GLX visual&quot;;
             return false;
             }
         }
 
-    mGLContext = glXCreateContext( display(), visinfo, NULL, True );
-    if ( !mGLContext )
-    {
+    mGLContext = glXCreateContext( mDpy, mVisinfo, NULL, True );
+    if( !mGLContext )
+        {
         kDebug( 1212 ) &lt;&lt; &quot;glXCreateContext failed&quot;;
-        XDestroyWindow( display(), mGLWindow );
         return false;
-    }
+        }
 
     XSetWindowAttributes attr;
     attr.background_pixel = 0;
     attr.border_pixel = 0;
-    attr.colormap = XCreateColormap( display(), rootWindow(), visinfo-&gt;visual, AllocNone );
+    mColormap = XCreateColormap( mDpy, RootWindow( mDpy, mVisinfo-&gt;screen ), mVisinfo-&gt;visual, AllocNone );
+    attr.colormap = mColormap;
     attr.event_mask = StructureNotifyMask | ExposureMask;
     unsigned long mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
     int width = 100, height = 100;
-    mGLWindow = XCreateWindow( display(), rootWindow(), 0, 0, width, height,
-                       0, visinfo-&gt;depth, InputOutput,
-                       visinfo-&gt;visual, mask, &amp;attr );
+    mGLWindow = XCreateWindow( mDpy, RootWindow( mDpy, mVisinfo-&gt;screen ), 0, 0, width, height,
+                       0, mVisinfo-&gt;depth, InputOutput, mVisinfo-&gt;visual, mask, &amp;attr );
 
-    return glXMakeCurrent( display(), mGLWindow, mGLContext ) &amp;&amp; !handler.error( true );
+    return glXMakeCurrent( mDpy, mGLWindow, mGLContext ) &amp;&amp; !handler.error( true );
 #else
    return false;
 #endif
@@ -216,10 +226,31 @@
 void CompositingPrefs::deleteGLXContext()
 {
 #ifdef KWIN_HAVE_OPENGL_COMPOSITING
-    if( mGLContext == NULL )
-        return;
-    glXDestroyContext( display(), mGLContext );
-    XDestroyWindow( display(), mGLWindow );
+    if( mDpy != NULL )
+        {
+        if( mGLWindow != 0 )
+            {
+            XDestroyWindow( mDpy, mGLWindow );
+            mGLWindow = 0;
+            }
+        if( mGLContext != NULL )
+            {
+            glXDestroyContext( mDpy, mGLContext );
+            mGLContext = NULL;
+            }
+        if( mColormap != 0 )
+            {
+            XFreeColormap( mDpy, mColormap);
+            mColormap = 0;
+            }
+        if( mVisinfo != NULL )
+            {
+            XFree( mVisinfo );
+            mVisinfo = NULL;
+            }
+        XCloseDisplay( mDpy );
+        mDpy = NULL;
+        }
 #endif
 }
 
@@ -319,7 +350,6 @@
     //    }
     }
 
-
 bool CompositingPrefs::detectXgl()
     { // Xgl apparently uses only this specific X version
     return VendorRelease(display()) == 70000001;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016993</commentid>
    <comment_count>73</comment_count>
      <attachid>51511</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-10 11:59:40 +0000</bug_when>
    <thetext>Created attachment 51511
kdebase-workspace-4.5.1-compositingprefs_detect.patch

Sorry, attached the wrong file in attachment 51510. This is the correct one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017124</commentid>
    <comment_count>74</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-09-10 17:15:13 +0000</bug_when>
    <thetext>Thanks for investigating the issue. If some users can confirm that the patch 
fixes the issue I would apply it to trunk (after verifying that it does not 
break on nvidia and fglrx) and backport in about two weeks, so that this issue 
is solved before 4.5.2 is released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017212</commentid>
    <comment_count>75</comment_count>
    <who name="Scott Kitterman">kde</who>
    <bug_when>2010-09-10 21:18:17 +0000</bug_when>
    <thetext>Patch does not work for me.  Was it supposed to be applied in tandom with any of the other patches/reverts described in the bug?

This is on current Kubuntu Maverick (with KDE 4.5.1) and a recent Mesa git snapshot.

It did change things slightly.  Previously on this system (Dell mini 10v with Intel 945GME), shift+alt+f12 after a freeze would cause an X crash.  Now it doesn&apos;t.  It just does nothing instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017236</commentid>
    <comment_count>76</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-09-10 22:13:33 +0000</bug_when>
    <thetext>*** Bug 250825 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017274</commentid>
    <comment_count>77</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-09-11 00:01:22 +0000</bug_when>
    <thetext>(In reply to comment #70)
&gt; From the foregoing, I have then found that if lines 156-161 above are replaced
&gt; with
&gt; 
&gt; 156         }
&gt;        deleteGLXContext();
&gt; 157     if( hasglx13 )
&gt; 158         glXMakeContextCurrent( display(), olddrawable, oldreaddrawable,
&gt; oldcontext );
&gt; 159     else
&gt; 160         glXMakeCurrent( display(), olddrawable, oldcontext );
&gt; 161     //deleteGLXContext();
&gt; 
&gt; then the entire issue disappears.

... what means that the intel driver can not handle multiple gl contexts (it just destroys the current one - i recall to have mentioned such impression before - bug reports reg. crashes on kwin ./. gl games -, so to me this sounds absolutely reasonable)

-&gt; The change is safe and should be applied (still, this is _clearly_ a driver bug, and no, i&apos;ve not written this code :-) but this won&apos;t fix the external issues)

&gt; Further, if I modify the code so that a new context is created, used, and then destroyed only if 
&gt; oldcontext = NULL (i.e., initGLXContext used only when oldcontext = NULL), and when
&gt; oldcontext != NULL, I simply use whatever current context is active, then again, the issue entirely
&gt; disappears.

Because you do not bother the driver with multiple contexts anymore... - since the context is (for whatever reason) always constructed &quot;direct&quot;* and the actual directness nature is handled by the env var (-&gt; why this??), kwin will unlikely run contexts on different dpys or vis and as long as the detection code does not mess up with the context but just queries some values, that&apos;s no big deal... but afaics not &quot;correct&quot; either... and a bit wonky if the dection ever starts to impact the &quot;testing&quot; context... =\

* the &quot;True&quot; in &quot;glXCreateContext( display(), visinfo, NULL, True );&quot;

&gt; Now, as the code in CompositingPrefs::detect() looks more or less sound 
... except for the complete break on glXDestroyContext() ... ;-)

&gt; In fact, it is quite simple to put together a simple standalone problem which closely mimics
&gt; CompositingPrefs::detect(); I have done so, and all works as expected, 
... with two open contexts at the same time? (you should attach the code)

&gt; no leaks caught by valgrind, etc.
What does the leak mention refer to? (just the XFree stuff?)

&gt; Based on this, I think the problem is not in Mesa/Xorg/libdrm/video drivers.
Based on your observation i&apos;m damn sure that mesa / the intel driver can only reliably handle _one_ gl contxt at a time ;-)
I wouldn&apos;t mind, but iff this really holds across processes as well, this workaround won&apos;t fix composited kwin + other gl clients ... :-(

&gt; Since the CompositingPrefs::detect() code depends crucially the X connection (
&gt; display() here ), I suspect that this value may be dynamic even while
&gt; CompositingPrefs::detect() is running; 

unlikely - display() is QX11Info::display() which returns a value assigned during the QApplication construction - you could debug the value, but i doubt it ever changes once QApplication() was called (which is a requirement to do anything GUI related in Qt)
Since CompositingPrefs is constructed in the options constructor, options are allocated on the heap in the kwin ::Application constructor which inits on the KApplication constructor invoking the QApplication constructor, all should be fine... &quot;should&quot;

Ok, main questions:
- You mentioned that repositioning the deleteGLXContext() call completely fixed it for you (so far): does that still hold?
- Did reconnecting the xserver cause you any further improvement?
- Do you still have to set the libgl_always_indirect variable or -and more important- does dri now work for you?

If not, my opinion is
a) commit the deleteGLXContext() repositioning
b) commit the required XFree*()&apos;s
c) do NOT make the code more compex by adding a second display connection, since &quot;0&quot; is not necessarily the proper display string and might just cause further issues... and /theoretically/ it should not be necessary at all

Finally and
@Martin/Lucas/Fredrik/whoever:

Can please so. elaborate why we cannot directly open an indirect context in case allocating the direct context fails but rely on the evironment variable? (unrespected by some implementations?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017493</commentid>
    <comment_count>78</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-09-11 16:29:02 +0000</bug_when>
    <thetext>&gt; Patch to fix the freezes in combination with reverting rev 1137668
&gt; 
&gt; This is a patch to solve all the issues we see with the Intel drivers when
&gt; indirect rendering is enabled. As I do not have intel hardware the patch is
&gt; untested.
I just want to say that even if the patch would fix the issue for Intel users 
it cannot be applied. I am currently using fglrx with indirect rendering and 
blur is working. That means we cannot assume that we need direct rendering for 
FBO or GLSL (fglrx supports FBO and ARB shaders, but not GLSL in indirect 
rendering). So a check for direct rendering as in the patch would mean 
regressions for users having a working driver.

Now I don&apos;t want to favor the proprietary drivers but I do not want to remove 
features for users with working drivers, because there are broken free 
drivers. It just needs to be fixed in the right place and that is the driver 
:-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017539</commentid>
    <comment_count>79</comment_count>
    <who name="Jay LaCroix">jay</who>
    <bug_when>2010-09-11 18:13:31 +0000</bug_when>
    <thetext>I don&apos;t understand. Can&apos;t you just make an &apos;if statement&apos; for the fix and put a checkbox called &quot;compatibility mode&quot; that turns the fix on or off? Or maybe if it&apos;s Intel anything, the fix is applied, but if it&apos;s Nvidia, it&apos;s not? I don&apos;t see how a work around can&apos;t be coded up that makes everyone happy. Sure the issue may be the driver, but are you sure the driver will EVER be fixed? You said yourself this has been going on for years. I refuse to believe a work around that makes everyone happy is not possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017641</commentid>
    <comment_count>80</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-09-11 21:43:49 +0000</bug_when>
    <thetext>according to the replies, this patch doesn&apos;t really fix anything of this bug anyway - it&apos;s just broad sword approach to prevent using some things if sth. (weak to no related) else doesn&apos;t work and by this: wrong :-)

Also this very patch is NOT related to comments #70 - #77</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017825</commentid>
    <comment_count>81</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-12 13:00:18 +0000</bug_when>
    <thetext>(In reply to comment #77)
&gt; (In reply to comment #70)
&gt; &gt; From the foregoing, I have then found that if lines 156-161 above are replaced
&gt; &gt; with
&gt; &gt; 
&gt; &gt; 156         }
&gt; &gt;        deleteGLXContext();
&gt; &gt; 157     if( hasglx13 )
&gt; &gt; 158         glXMakeContextCurrent( display(), olddrawable, oldreaddrawable,
&gt; &gt; oldcontext );
&gt; &gt; 159     else
&gt; &gt; 160         glXMakeCurrent( display(), olddrawable, oldcontext );
&gt; &gt; 161     //deleteGLXContext();
&gt; &gt; 
&gt; &gt; then the entire issue disappears.
&gt; 
&gt; ... what means that the intel driver can not handle multiple gl contexts (it
&gt; just destroys the current one - i recall to have mentioned such impression
&gt; before - bug reports reg. crashes on kwin ./. gl games -, so to me this sounds
&gt; absolutely reasonable)
&gt; Not so at all (see my attachment to follow (simple code, works great with no memory leaks caught by valgrind).
 
&gt; -&gt; The change is safe and should be applied (still, this is _clearly_ a driver
&gt; bug, and no, i&apos;ve not written this code :-) but this won&apos;t fix the external
&gt; issues)
&gt; I think the only think that clear here, and rather sad as well, is that for as long as this bug has been open, no one of any appreciable expertise has been able to put any time in. I&apos;m not going to defend &apos;the drivers;&apos; I know Mesa is a mess, I know the intel driver is far from ideal (if its anything like their buggy IPW2200 wireless driver code, which I have had the pleasure to look at)...

&gt; &gt; Further, if I modify the code so that a new context is created, used, and then destroyed only if 
&gt; &gt; oldcontext = NULL (i.e., initGLXContext used only when oldcontext = NULL), and when
&gt; &gt; oldcontext != NULL, I simply use whatever current context is active, then again, the issue entirely
&gt; &gt; disappears.
&gt; 
&gt; Because you do not bother the driver with multiple contexts anymore... - since
&gt; the context is (for whatever reason) always constructed &quot;direct&quot;* and the
&gt; actual directness nature is handled by the env var (-&gt; why this??), kwin will
&gt; unlikely run contexts on different dpys or vis and as long as the detection
&gt; code does not mess up with the context but just queries some values, that&apos;s no
&gt; big deal... but afaics not &quot;correct&quot; either... and a bit wonky if the dection
&gt; ever starts to impact the &quot;testing&quot; context... =\
&gt; 
&gt; * the &quot;True&quot; in &quot;glXCreateContext( display(), visinfo, NULL, True );&quot;
&gt; 
&gt; &gt; Now, as the code in CompositingPrefs::detect() looks more or less sound 
&gt; ... except for the complete break on glXDestroyContext() ... ;-)
&gt; 
&gt; &gt; In fact, it is quite simple to put together a simple standalone problem which closely mimics
&gt; &gt; CompositingPrefs::detect(); I have done so, and all works as expected, 
&gt; ... with two open contexts at the same time? (you should attach the code)
&gt;  Again, see my attachment to follow. Of course you don&apos;t have two current contexts (in the same process or thread)-- not possible, but you can have any number of contexts defined -- you just switch among them -- and can can have multiple &apos;displays&apos; as well -- I don&apos;t mean multiple servers, I mean multiple connections to a single X server. 
&gt; &gt; no leaks caught by valgrind, etc.
&gt; What does the leak mention refer to? (just the XFree stuff?)
&gt; See my attachment -- there are some sample runs -- along with the code -- you can give a try yourself on your system if you like.
&gt; &gt; Based on this, I think the problem is not in Mesa/Xorg/libdrm/video drivers.
&gt; Based on your observation i&apos;m damn sure that mesa / the intel driver can only
&gt; reliably handle _one_ gl contxt at a time ;-)
Again, dead wrong-- see my attachment
&gt; I wouldn&apos;t mind, but iff this really holds across processes as well, this
&gt; workaround won&apos;t fix composited kwin + other gl clients ... :-(
&gt; 
&gt; &gt; Since the CompositingPrefs::detect() code depends crucially the X connection (
&gt; &gt; display() here ), I suspect that this value may be dynamic even while
&gt; &gt; CompositingPrefs::detect() is running; 
&gt; As you pointed out above, my suspicion is probably unfounded, this is the sort of input we need!
&gt; unlikely - display() is QX11Info::display() which returns a value assigned
&gt; during the QApplication construction - you could debug the value, but i doubt
&gt; it ever changes once QApplication() was called (which is a requirement to do
&gt; anything GUI related in Qt)
&gt; Since CompositingPrefs is constructed in the options constructor, options are
&gt; allocated on the heap in the kwin ::Application constructor which inits on the
&gt; KApplication constructor invoking the QApplication constructor, all should be
&gt; fine... &quot;should&quot;
&gt; &quot;should&quot; ?! Is that a yes or or no ?
&gt; Ok, main questions:
&gt; - You mentioned that repositioning the deleteGLXContext() call completely fixed
&gt; it for you (so far): does that still hold?
Absolutely
&gt; - Did reconnecting the xserver cause you any further improvement?
Possibly some effects, e.g., the rolling cube is much less choppy now, but this is quite subjective, and there is variability, so not really

&gt; - Do you still have to set the libgl_always_indirect variable or -and more
&gt; important- does dri now work for you?
&gt; I stopped setting LIBGL_ALWAYS_INDIRECT a while ago (as I mentioned, I thought). I don&apos;t set ant opengl environment variables, so its always direct.
&gt; If not, my opinion is
&gt; a) commit the deleteGLXContext() repositioning
&gt; b) commit the required XFree*()&apos;s
&gt; c) do NOT make the code more compex by adding a second display connection,
&gt; since &quot;0&quot; is not necessarily the proper display string and might just cause
&gt; further issues... and /theoretically/ it should not be necessary at all
&gt; As I mentioned, the patch I submitted was NOT A FIX, but rather, I hoped that it might shed light on the issue. Simply moving deleteGLXContext() is NOT a solution-- it does, on my system, stop the immediate issue, but its not the proper thing to do (it may in fact introduce memory leaks and/or other issues downroad).
&gt; Finally and
&gt; @Martin/Lucas/Fredrik/whoever:
&gt; 
&gt; Can please so. elaborate why we cannot directly open an indirect context in
&gt; case allocating the direct context fails but rely on the evironment variable?
&gt; (unrespected by some implementations?)
This is ok, after all that&apos;s what was done in kde-4.4.x . Its probably the best thing to do until someone figures this thing out. I have several pcs using indirect and they run kde 4.4.x with effects very well.
Really now, I love kde (except for its size!)-- in my opinion, its by far the best... so, I&apos;m going to continue looking at this, as time permits...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017828</commentid>
    <comment_count>82</comment_count>
      <attachid>51559</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-12 13:06:24 +0000</bug_when>
    <thetext>Created attachment 51559
glx detect/contect setting test code 

The code comes first, followed by a couple of test cases, one with direct, the second with indirect rendering active (g++ -lGL -o glxtest glxtest.cpp to build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017838</commentid>
    <comment_count>83</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-12 13:32:44 +0000</bug_when>
    <thetext>One other thing, I think this &quot;bug&quot; may very well encompass a lot of issues -- most of which are xorg/mesa/drm/driver related -- I&apos;m pretty sure of this. I know from several years of experience that some combinations of these pkgs work really well, but most don&apos;t, and for me it mostly been by trial &apos;n error to fix things, because I know little about the details. I mentioned earlier that while v4.4.x works well for me, if I upgrade any or all of the  xorg/mesa/drm/driver pkgs I system can become totally unstable. For example, xf86-video-intel-2.10.0 won&apos;t work with libdrm-2.4.21, and with Mesa less than 7.7, and xf86-video-intel-2.12.0 won&apos;t play well with xorg-server less than 1.8.0 etc, etc., and it all varies from pc to pc... yuk.

My focus here, thus far has been ONLY on the &apos;hang&apos; resulting from desktop effects changes, nothing else-- simply, because on my (intel-based) systems, this is the most visible problem. These ate in fact some stability issues  (which may or my not be related, but they can wait). As I mentioned w/ or w/o direct rendering, I have nice desktop effects -- not all of them (no blur, no explosion, etc), but enough, I&apos;m happy. As I recall, for me, KDE4 wasn&apos;t stable until 4.2, so I can wait..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017839</commentid>
    <comment_count>84</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-12 13:37:27 +0000</bug_when>
    <thetext>(In reply to comment #75)
&gt; Patch does not work for me.  Was it supposed to be applied in tandom with any
&gt; of the other patches/reverts described in the bug?
&gt; 
&gt; This is on current Kubuntu Maverick (with KDE 4.5.1) and a recent Mesa git
&gt; snapshot.
&gt; 
&gt; It did change things slightly.  Previously on this system (Dell mini 10v with
&gt; Intel 945GME), shift+alt+f12 after a freeze would cause an X crash.  Now it
&gt; doesn&apos;t.  It just does nothing instead.

No, no other patches. Depressing... You could try rebuilding kdebase-workspace-4.5.1 with only the single change in the location of deleteGLXContext(); (see comment #81) just to see if it helps...

Can you give the versions (revisions if from git) of all of xorg-server, libX11, Mesa, libdrm, the xorg video driver, and linux kernal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017975</commentid>
    <comment_count>85</comment_count>
      <attachid>51562</attachid>
    <who name="Fredrik Höglund">fredrik</who>
    <bug_when>2010-09-12 17:52:56 +0000</bug_when>
    <thetext>Created attachment 51562
Another possible fix

How about this version of the patch?

I have been able to reproduce the bug with the r600c driver, but with this patch everything seems to be working fine.

There are piglit[1] tests for destroying and switching contexts (glx-destroycontext-1 and glx-destroycontext-2), but not for the sequence of calls kwin is using at the moment.

[1] http://cgit.freedesktop.org/piglit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018063</commentid>
    <comment_count>86</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-12 22:15:36 +0000</bug_when>
    <thetext>(In reply to comment #85)
&gt; Created an attachment (id=51562) [details]
&gt; Another possible fix
&gt; 
&gt; How about this version of the patch?
&gt; 
&gt; I have been able to reproduce the bug with the r600c driver, but with this
&gt; patch everything seems to be working fine.
&gt; 
&gt; There are piglit[1] tests for destroying and switching contexts
&gt; (glx-destroycontext-1 and glx-destroycontext-2), but not for the sequence of
&gt; calls kwin is using at the moment.
&gt; 
&gt; [1] http://cgit.freedesktop.org/piglit

The key point here is the repositioning the destroycontext line since -- so we have a 2nd success!  Still, its not a done deal, for the reasons I&apos;ve mentioned: if oldcontext is not null, then its equivalent to repositioning the destroycontext line, if oldcontext is null, then detect() will return w/o having freed up X and GL resources -- not good -- may introduce other problems. See, destroycontext prior to restoring oldcontext, means that the &quot;destroy&quot; is incomplete (it&apos;ll be completed by the makecurrent switch).

The thing to note here is that if a mere repositioning like this has big effect (as it does on my and your system), then somethings amiss - I reported this to the Mesa folks, and they just blew it off, but if you look at the relevant Mesa code, I think they&apos;re mistaken. Even so, I still don&apos;t see this as clearly implying a Mesa bug as the cause of our problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018103</commentid>
    <comment_count>87</comment_count>
    <who name="Fredrik Höglund">fredrik</who>
    <bug_when>2010-09-12 23:40:57 +0000</bug_when>
    <thetext>(In reply to comment #86)
&gt; The key point here is the repositioning the destroycontext line since -- so we
&gt; have a 2nd success!  Still, its not a done deal, for the reasons I&apos;ve
&gt; mentioned: if oldcontext is not null, then its equivalent to repositioning the
&gt; destroycontext line, if oldcontext is null, then detect() will return w/o
&gt; having freed up X and GL resources -- not good -- may introduce other problems.
&gt; See, destroycontext prior to restoring oldcontext, means that the &quot;destroy&quot; is
&gt; incomplete (it&apos;ll be completed by the makecurrent switch).

I don&apos;t quite see how we could leak anything, but maybe I&apos;m missing something. My patch calls glxMakeCurrent() unconditionally after marking the context created by the detection code for destruction, and that should free it. That it switches to a null context shouldn&apos;t make a difference.

&gt; The thing to note here is that if a mere repositioning like this has big effect
&gt; (as it does on my and your system), then somethings amiss - I reported this to
&gt; the Mesa folks, and they just blew it off, but if you look at the relevant Mesa
&gt; code, I think they&apos;re mistaken. Even so, I still don&apos;t see this as clearly
&gt; implying a Mesa bug as the cause of our problem.

I try not to assume anything before analyzing an issue, but I see nothing that  suggests that the order in which kwin is making these calls is illegal.

I think the best thing to do is to commit this modified patch, and submit new piglit tests for the combinations that aren&apos;t being tested currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018123</commentid>
    <comment_count>88</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-09-13 01:15:26 +0000</bug_when>
    <thetext>you&apos;re not introducing leaks by your patch, but they&apos;re &quot;present&quot; (colormap &amp; visual -at least as colormap isn&apos;t the default one, no idea whether the -default- visual is some global static instance on the sever)

The call order is NOT illegal - however john&apos;s testcase seems to do similar w/o causing trouble (but it could simply depend on the state of the other gl context, from a rough look, the testcase doesn&apos;t do anything but swapping buffers)

glXDestroyContext only frees the id unconditionally - the actual wipeout should not happen while the context is active. (but right afterwards)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018125</commentid>
    <comment_count>89</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-13 01:20:39 +0000</bug_when>
    <thetext>(In reply to comment #87)
&gt; (In reply to comment #86)
&gt; &gt; The key point here is the repositioning the destroycontext line since -- so we
&gt; &gt; have a 2nd success!  Still, its not a done deal, for the reasons I&apos;ve
&gt; &gt; mentioned: if oldcontext is not null, then its equivalent to repositioning the
&gt; &gt; destroycontext line, if oldcontext is null, then detect() will return w/o
&gt; &gt; having freed up X and GL resources -- not good -- may introduce other problems.
&gt; &gt; See, destroycontext prior to restoring oldcontext, means that the &quot;destroy&quot; is
&gt; &gt; incomplete (it&apos;ll be completed by the makecurrent switch).
&gt; 
&gt; I don&apos;t quite see how we could leak anything, but maybe I&apos;m missing something.
&gt; My patch calls glxMakeCurrent() unconditionally after marking the context
&gt; created by the detection code for destruction, and that should free it. That it
&gt; switches to a null context shouldn&apos;t make a difference.
&gt; 
The thing is calling glxMakeCurrent() when there is a current context,
implicitly does a glxMakeCurrent( dpy, None, None, NULL) prior to making the
the new context current. So calling  glxMakeCurrent() unconditionally as you do
if perfectly ok, but unnecessary (in other words, the existing detect code
doing the switch back is doing the same thing your patch does, with the
exception of the destroycontext placement).

The reason why I suggest that resources may not be freed is that if you look at
Mesa glxcmds.c and glxcurrent.c, whether destroycontext is called before or
after the context switch DOES appear to make a difference (this, despite the
Mesa folks, saying it doesn&apos;t)-- and, unknown reasons, the fact is, on my
system it absolutely makes a difference.

&gt; &gt; The thing to note here is that if a mere repositioning like this has big effect
&gt; &gt; (as it does on my and your system), then somethings amiss - I reported this to
&gt; &gt; the Mesa folks, and they just blew it off, but if you look at the relevant Mesa
&gt; &gt; code, I think they&apos;re mistaken. Even so, I still don&apos;t see this as clearly
&gt; &gt; implying a Mesa bug as the cause of our problem.
&gt; 
&gt; I try not to assume anything before analyzing an issue, but I see nothing that 
&gt; suggests that the order in which kwin is making these calls is illegal.
&gt; 
&gt; I think the best thing to do is to commit this modified patch, and submit new
&gt; piglit tests for the combinations that aren&apos;t being tested currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018140</commentid>
    <comment_count>90</comment_count>
    <who name="Fredrik Höglund">fredrik</who>
    <bug_when>2010-09-13 01:54:54 +0000</bug_when>
    <thetext>(In reply to comment #88)
&gt; you&apos;re not introducing leaks by your patch, but they&apos;re &quot;present&quot; (colormap &amp;
&gt; visual -at least as colormap isn&apos;t the default one, no idea whether the
&gt; -default- visual is some global static instance on the sever)

Well let&apos;s please focus on one bug at a time here.

(In reply to comment #89)
&gt; The thing is calling glxMakeCurrent() when there is a current context,
&gt; implicitly does a glxMakeCurrent( dpy, None, None, NULL) prior to making the
&gt; the new context current. So calling  glxMakeCurrent() unconditionally as you do
&gt; if perfectly ok, but unnecessary (in other words, the existing detect code
&gt; doing the switch back is doing the same thing your patch does, with the
&gt; exception of the destroycontext placement).

It should be unnecessary, but in practice the bug is still reproducible for me without that call. That&apos;s why I added it.

&gt; The reason why I suggest that resources may not be freed is that if you look at
&gt; Mesa glxcmds.c and glxcurrent.c, whether destroycontext is called before or
&gt; after the context switch DOES appear to make a difference (this, despite the
&gt; Mesa folks, saying it doesn&apos;t)-- and, unknown reasons, the fact is, on my
&gt; system it absolutely makes a difference.

I guess the question then is if it&apos;s better to risk leaking a context each time the apply button is clicked (which is not that often), or have kwin freeze or crash. I certainly vote for the former. The leak also wouldn&apos;t be our bug in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018166</commentid>
    <comment_count>91</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-13 03:48:35 +0000</bug_when>
    <thetext>(In reply to comment #90)
&gt; (In reply to comment #88)
&gt; &gt; you&apos;re not introducing leaks by your patch, but they&apos;re &quot;present&quot; (colormap &amp;
&gt; &gt; visual -at least as colormap isn&apos;t the default one, no idea whether the
&gt; &gt; -default- visual is some global static instance on the sever)
&gt; 
&gt; Well let&apos;s please focus on one bug at a time here.
&gt; 
&gt; (In reply to comment #89)
&gt; &gt; The thing is calling glxMakeCurrent() when there is a current context,
&gt; &gt; implicitly does a glxMakeCurrent( dpy, None, None, NULL) prior to making the
&gt; &gt; the new context current. So calling  glxMakeCurrent() unconditionally as you do
&gt; &gt; if perfectly ok, but unnecessary (in other words, the existing detect code
&gt; &gt; doing the switch back is doing the same thing your patch does, with the
&gt; &gt; exception of the destroycontext placement).
&gt; 
&gt; It should be unnecessary, but in practice the bug is still reproducible for me
&gt; without that call. That&apos;s why I added it.
&gt; 
&gt; &gt; The reason why I suggest that resources may not be freed is that if you look at
&gt; &gt; Mesa glxcmds.c and glxcurrent.c, whether destroycontext is called before or
&gt; &gt; after the context switch DOES appear to make a difference (this, despite the
&gt; &gt; Mesa folks, saying it doesn&apos;t)-- and, unknown reasons, the fact is, on my
&gt; &gt; system it absolutely makes a difference.
&gt; 
&gt; I guess the question then is if it&apos;s better to risk leaking a context each time
&gt; the apply button is clicked (which is not that often), or have kwin freeze or
&gt; crash. I certainly vote for the former. The leak also wouldn&apos;t be our bug in
&gt; this case.

Agreed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019163</commentid>
    <comment_count>92</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-15 06:11:16 +0000</bug_when>
    <thetext>(In reply to comment #88)
&gt; you&apos;re not introducing leaks by your patch, but they&apos;re &quot;present&quot; (colormap &amp;
&gt; visual -at least as colormap isn&apos;t the default one, no idea whether the
&gt; -default- visual is some global static instance on the sever)
&gt; 
&gt; The call order is NOT illegal - however john&apos;s testcase seems to do similar w/o
&gt; causing trouble (but it could simply depend on the state of the other gl
&gt; context, from a rough look, the testcase doesn&apos;t do anything but swapping
&gt; buffers)
&gt; 
&gt; glXDestroyContext only frees the id unconditionally - the actual wipeout should
&gt; not happen while the context is active. (but right afterwards)

I&apos;m now in 100% agreement with: I&apos;m totally convinced this is entirely a Mesa issue. Please accept, my apologies.. I&apos;ll probably be submitting one or more patches to Mesa, but who knows how that will go. This appears to be what&apos;s happening:
  1) on entry to detect, if there&apos;s no current context the all is well. This happens whenever compositing is not active: at boot, and on bringing and making a desktop effects change
  2) once, desktop effects are active, however, just after making a change in effects, detect is entered when there is a current context (this happens at the prefs.detect() call in Options::reloadCompositingSettings (options.cpp) ). In prefs.detect(), the failure occurs at XDestroyContext() because Mesa then, destroys all local drawables for which there does not exist an associated Window on display(), Defaultscreen(display()). This is totally wrong in our case as the current compositing context has associated drawables also on display(), Defaultscreen(display())! I&apos;m not 100% sure why Mesa doesn&apos;t detect this, but I guess because the compositing Window was created in a different thread. Anyway, the result is that XDestroyContext() in detect() wipes out local drawables being used by the compositing context, and hence the &apos;hang.&apos;

I&apos;ve patched Mesa to NOT destroy any drawables that are current -- and, oi, it works. Obviously, this is not a complete fix (non-current drawables without existing Windows are still destroyed -- clearly a possible a superset of what should be destroyed).

The reason why repositioning XDestroyContext() works is because (contrary to Mesa doc), calling XDestroyContext() while the context is still current, or after it has been made non-current, are not, even in the end, equivalent. This is a Mesa bug in my judgment. Calling XDestroyContext() while the context is still current, never runs the drawables destruction described above -- this only happens when XDestroyContext() is called on non-current context.

The reason why having detect() use a different Xserver connection as I did in the patch works is that since detect()&apos;s drawables are on a different display (different from the compositing context which is on QX11Info::display()), XDestroyContext() does not destroy drawables on compositing&apos;s display.

For me this issue is resolved (I&apos;ll simply patch Mesa and be done with it), but I think it&apos;d be nice if we could done something simple in kde to circumvent the problem. We could simply reposition XDestroyContext() and live with the small associated memory leak (comment #90). Another possibility (which I&apos;d verified working), is to modify detect() to check if there is a current constant on entry, and if so, simply use it as is, i.e., add code like:
    if( glXGetCurrentContext() != NULL)
        {
        detectDriverAndVersion();
        applyDriverSpecificOptions();
        return;
        }
In this case, there will be no need to save and restore the current context; a new &apos;detect&apos; context will then only be employed when there is no current context. As I said, I&apos;ve tried this and it appears to work fine. Nevetheless, I don&apos;t know kde well enough to be sure that this is an appropriate thing to do.
 
I&apos;ll attach a patch for this momentarily, so you see what I mean, but again, it may not be the right thing to do..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019165</commentid>
    <comment_count>93</comment_count>
      <attachid>51659</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-15 06:28:26 +0000</bug_when>
    <thetext>Created attachment 51659
Idea to explore for sidestepping Mesa bug(s)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019169</commentid>
    <comment_count>94</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-15 07:30:04 +0000</bug_when>
    <thetext>I agree with Thomas that the ultimate cause of this issue is probably at least driver-related, since it doesn&apos;t occur for everyone. Perhaps, with some &apos;well-written&apos; drivers the issue simply doesn&apos;t come up -- perhaps with intel drivers the &apos;screen id&apos; is mishandled -- who knows..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019740</commentid>
    <comment_count>95</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-16 11:23:59 +0000</bug_when>
    <thetext>Finally resolved (I think). When detect() is entered when a current context already exists, at least some of the times, this context is associated with a Pixmap, not a Window. Mesa, in glXDestroyContext() will release drawables not a associated with a valid Windows for the current display() and screen, so it releases current drawables associated with the Pixmap (which, I think is associated with active compositing). Anyway, submitted a one-liner patch to Mesa (https://bugs.freedesktop.org/show_bug.cgi?id=30220) so hopefully things will be fixed by Mesa-7.8.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019905</commentid>
    <comment_count>96</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-09-16 17:43:02 +0000</bug_when>
    <thetext>Thanks for your investigations and the time spent on this issue. I now dare to mark this bug as upstream. If the fix for mesa does not resolve this issue, please reopen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020141</commentid>
    <comment_count>97</comment_count>
    <who name="Scott Kitterman">kde</who>
    <bug_when>2010-09-17 01:36:06 +0000</bug_when>
    <thetext>I can confirm the proposed mesa patch solves the problem.  I&apos;m going to see if we can get it in for the next Ubuntu release.  Thank you for working so hard on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020145</commentid>
    <comment_count>98</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-17 02:02:24 +0000</bug_when>
    <thetext>Unfortunately, the Mesa patch I submitted may introduce unacceptable memory leak issues in Mesa because with it certain Mesa/driver resources now may end up not being released. So it may break other drivers. I Guess its like working on old plumbing: fix a leak here, cause a new leak over there, ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020161</commentid>
    <comment_count>99</comment_count>
    <who name="Jay LaCroix">jay</who>
    <bug_when>2010-09-17 03:57:54 +0000</bug_when>
    <thetext>KDE 4.4.x was fine, so whatever changed between that version and this should be reversed. The drivers probably won&apos;t be fixed anytime soon, and we shouldn&apos;t give a substandard KDE experience while we wait for them to correct their mistakes. There has to be a work around. When it comes to driver developers fixing their mistakes, my experience over the last ten years when it comes to Linux is that they usually don&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020163</commentid>
    <comment_count>100</comment_count>
    <who name="Weng Xuetian">wengxt</who>
    <bug_when>2010-09-17 04:36:06 +0000</bug_when>
    <thetext>Will the patch in #93 merged in kde? I don&apos;t know quite a log about the opengl or glx, but his explanation for this problem is quite well. 

My R600 (Ati hd 3450) works well with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020189</commentid>
    <comment_count>101</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-09-17 07:42:00 +0000</bug_when>
    <thetext>&gt; 4.4.x was fine, so whatever changed between that
&gt; version and this should be reversed. The drivers probably won&apos;t be fixed
&gt; anytime soon, and we shouldn&apos;t give a substandard KDE experience while
&gt; we wait for them to correct their mistakes. There has to be a work
&gt; around.
The change cannot be reverted in the 4.5 cycle as we plain simple cannot guarantee that there wont be regressions. We know that the 4.4 variant crashed instead of freezing and we know that without the change the desktop becomes unusable as direct rendering does not support the extensions blur requires. Working around these new problems is probably not possible without introducing regressions - e.g. Desktop unusable or blur disabled for users where it worked fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020378</commentid>
    <comment_count>102</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-09-17 16:01:25 +0000</bug_when>
    <thetext>My 2¢

i oppose patch #93 since it removes the &quot;proper&quot; path to store/swap/test/restore the context [1] but if swapping the destruction order fixes it, this should be applied [2] to workaround mesa.

iff &quot;not bother mesa with two contexts&quot; is somehow mandantory, the current path should imo remain and just be blocked by the &quot;if( glXGetCurrentContext() != NULL )&quot; part (since it will &quot;softcode&quot; the NULL for the makeCurrent call)

[1] no problem atm, but not right either and the production context should not be messed up by testing
[2] the pot. X leaks are a complete different issue and can be fixed regardless</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020637</commentid>
    <comment_count>103</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-18 08:38:52 +0000</bug_when>
    <thetext>(In reply to comment #102)
&gt; My 2¢
&gt; 
&gt; i oppose patch #93 since it removes the &quot;proper&quot; path to
&gt; store/swap/test/restore the context [1] but if swapping the destruction order
&gt; fixes it, this should be applied [2] to workaround mesa.
&gt; 
&gt; iff &quot;not bother mesa with two contexts&quot; is somehow mandantory, the current path
&gt; should imo remain and just be blocked by the &quot;if( glXGetCurrentContext() !=
&gt; NULL )&quot; part (since it will &quot;softcode&quot; the NULL for the makeCurrent call)
&gt; 
&gt; [1] no problem atm, but not right either and the production context should not
&gt; be messed up by testing

I agree, I think its bad practice, but just wanted to get input

&gt; [2] the pot. X leaks are a complete different issue and can be fixed regardless

My understanding now is that there will be no leaks incurred by re-positioning because the resources not released by doing this, will be released later when the associated Pixmaps are destroyed. So I think its the way to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020640</commentid>
    <comment_count>104</comment_count>
      <attachid>51774</attachid>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-18 08:48:07 +0000</bug_when>
    <thetext>Created attachment 51774
compositing settings fix and resource cleanup

I don&apos;t think we can/should wait on Mesa for this. It looks like a deep problem in the way Pixmaps are handled, and may have worsened for OpenGL-1.3 and newer. The Mesa patch I submitted may or may not be a solution because it may screw up other things internally, anyway, no response from them.

This patch just does the repositioning of glXDestroyContext, and resource releases; it also include several additional files which have similar resource release issues. Even if Mesa fixes things, everything in this patch should remain ok. Hopefully, others with this issue can give this one a try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020643</commentid>
    <comment_count>105</comment_count>
    <who name="Shane">shane</who>
    <bug_when>2010-09-18 09:17:19 +0000</bug_when>
    <thetext>@ John Thanks for submitting a patch. Did you do this on a bug tracker or some place we can go and make some noise about this? I&apos;m no good at coding... but if you need someone to pester them into fixing it... I&apos;m there. Just point me in the right direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020646</commentid>
    <comment_count>106</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-09-18 09:46:56 +0000</bug_when>
    <thetext>(In reply to comment #105)
&gt; @ John Thanks for submitting a patch. Did you do this on a bug tracker or some
&gt; place we can go and make some noise about this? I&apos;m no good at coding... but if
&gt; you need someone to pester them into fixing it... I&apos;m there. Just point me in
&gt; the right direction.

Yup, comment #95 above, here&apos;s the bug report link https://bugs.freedesktop.org/show_bug.cgi?id=30220</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022274</commentid>
    <comment_count>107</comment_count>
    <who name="Christoph Feck">cfeck</who>
    <bug_when>2010-09-21 14:15:06 +0000</bug_when>
    <thetext>*** Bug 251928 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022468</commentid>
    <comment_count>108</comment_count>
    <who name="Björn Ruberg">bjoern</who>
    <bug_when>2010-09-21 22:04:23 +0000</bug_when>
    <thetext>Will a workaround go into KDE 4.5.2? I would count this as double major. The KDE 4.5 branch from today still froze for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027756</commentid>
    <comment_count>109</comment_count>
    <who name="John Stanley">jpsinthemix</who>
    <bug_when>2010-10-05 07:01:33 +0000</bug_when>
    <thetext>As this is &apos;resolved&apos; I&apos;m not sure this is the appropriate place for this but I&apos;m not sure where else to post it:

Some good news of sorts: I&apos;ve done some testing with the following config:

  Intel Corporation 82915G/GV/910GL Integrated Graphics Controller (i915)
  xorg-server-1.9.0, xf86-video-2.13.0, libdrm-2.4.22, mesa-7.9-rc2, qt-4.7.0
  kde-4.5.1, linux-2.6.35.7

Up to now &apos;blur&apos; (on my system, always activated on first kde-desktop boot, but has never worked) hasn&apos;t caused any problems. Now, with Mesa-7.9rc2/xorg-server-1.9.0 it causes desktop effects to be too slow, resulting in all effects being turned off. So, if I first manually turn off this effect then desktop effects are activated and the &apos;hang&apos; issue here is gone.

Conclusion: Problem exists in Mesa-7.8.2/3rc1, but has been fixed in
Mesa-7.9rc2.

Blur, on the other hand, is quite sick (at least on my system), but this is another issue...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027765</commentid>
    <comment_count>110</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2010-10-05 08:23:06 +0000</bug_when>
    <thetext>&gt; Conclusion: Problem exists in Mesa-7.8.2/3rc1, but has been fixed in
&gt; Mesa-7.9rc2.
Btw I am rather sure that it only exists in 7.8 as I am unable to reproduce 
this issue with Mesa 7.7 which is used in the Debian system I can use for 
Intel testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030978</commentid>
    <comment_count>111</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-10-12 15:21:29 +0000</bug_when>
    <thetext>*** Bug 253969 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031113</commentid>
    <comment_count>112</comment_count>
    <who name="">msnkipa</who>
    <bug_when>2010-10-12 19:29:25 +0000</bug_when>
    <thetext>&gt;Btw I am rather sure that it only exists in 7.8 as I am unable to reproduce 
&gt;this issue with Mesa 7.7 which is used in the Debian system I can use for 
&gt;Intel testing.

I can confirm this idea, as I get this bug after I update my OpenSUSE 11.2 (with Mesa 7.7) to 11.2 (with Mesa 7.8).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035632</commentid>
    <comment_count>113</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-10-22 16:07:24 +0000</bug_when>
    <thetext>*** Bug 254954 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036247</commentid>
    <comment_count>114</comment_count>
    <who name="Björn Ruberg">bjoern</who>
    <bug_when>2010-10-24 00:37:40 +0000</bug_when>
    <thetext>I updated from Fedora 13 (mesa 7.8) to Fedora 14 (mesa 7.9). Problem is gone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046311</commentid>
    <comment_count>115</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2010-11-18 18:05:48 +0000</bug_when>
    <thetext>*** Bug 257243 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087491</commentid>
    <comment_count>116</comment_count>
    <who name="Anshul Jain">anshulajain</who>
    <bug_when>2011-02-14 09:36:33 +0000</bug_when>
    <thetext>I&apos;m using KDE 4.6 on Opensuse 11.3 w/ Intel 4500 MHD graphics card, kwin still freezes for me when I use OpenGL. It is fine under XRender.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087494</commentid>
    <comment_count>117</comment_count>
    <who name="S. Burmeister">sven.burmeister</who>
    <bug_when>2011-02-14 09:44:09 +0000</bug_when>
    <thetext>Yes, because it is fixed in Mesa 7.9 and 11.3 ships 7.8.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>47891</attachid>
            <date>2010-06-11 11:37:23 +0000</date>
            <delta_ts>2010-06-22 15:21:30 +0000</delta_ts>
            <desc>kwin output</desc>
            <filename>kwinlog</filename>
            <type>application/octet-stream</type>
            <size>9523</size>
            <attacher name="Rainer Kastl">rainer.kastl</attacher>
            
              <data encoding="base64">WCBFcnJvcjogQmFkV2luZG93IChpbnZhbGlkIFdpbmRvdyBwYXJhbWV0ZXIpIDMKICBNYWpvciBv
cGNvZGU6IDIwIChYX0dldFByb3BlcnR5KQogIFJlc291cmNlIGlkOiAgMHgxODAwMDUwCmt3aW4o
NTYwNCkgS2VwaGFsOjpEZXNrdG9wV2lkZ2V0U2NyZWVuczo6RGVza3RvcFdpZGdldFNjcmVlbnM6
IGZvbwprd2luKDU2MDQpIEtXaW46OkV4dGVuc2lvbnM6OmluaXQ6IEV4dGVuc2lvbnM6IHNoYXBl
OiAweCAiMTEiICBjb21wb3NpdGU6IDB4ICI0IiAgcmVuZGVyOiAweCAiYSIgIGZpeGVzOiAweCAi
NDAiCmt3aW4oNTYwNCkgS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0ZWN0OiBnbHggdmVyc2lv
biBpcyAgMSAuIDQKa3dpbig1NjA0KSBLV2luOjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3REcml2
ZXJBbmRWZXJzaW9uOiBHTCB2ZW5kb3IgaXMgIkRSSSBSMzAwIFByb2plY3QiIAprd2luKDU2MDQp
IEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246IEdMIHJlbmRl
cmVyIGlzICJNZXNhIERSSSBSMzAwIChSVjQxMCA1NjUzKSAyMDA5MDEwMSB4ODYvTU1YL1NTRTIg
VENMIERSSTIiIAprd2luKDU2MDQpIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZl
ckFuZFZlcnNpb246IEdMIHZlcnNpb24gaXMgIjEuNSBNZXNhIDcuOC4xIiAKa3dpbig1NjA0KSBL
V2luOjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3REcml2ZXJBbmRWZXJzaW9uOiBEZXRlY3RlZCBk
cml2ZXIgInJhZGVvbiIgLCB2ZXJzaW9uICIyMDA5MDEwMSIgCmt3aW4oNTYwNCkgS0RlY29yYXRp
b25QbHVnaW5zOjpsb2FkUGx1Z2luOiBrd2luIDogcGF0aCAgIi91c3IvbGliL2tkZTQva3dpbjNf
b3h5Z2VuLnNvIiAgZm9yICAia3dpbjNfb3h5Z2VuIgprd2luKDU2MDQpIEtXaW46OkV4dGVuc2lv
bnM6OmluaXQ6IEV4dGVuc2lvbnM6IHNoYXBlOiAweCAiMTEiICBjb21wb3NpdGU6IDB4ICI0IiAg
cmVuZGVyOiAweCAiYSIgIGZpeGVzOiAweCAiNDAiCmt3aW4oNTYwNCkgS1dpbjo6RXh0ZW5zaW9u
czo6aW5pdDogRXh0ZW5zaW9uczogc2hhcGU6IDB4ICIxMSIgIGNvbXBvc2l0ZTogMHggIjQiICBy
ZW5kZXI6IDB4ICJhIiAgZml4ZXM6IDB4ICI0MCIKa3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6
OnNldHVwQ29tcG9zaXRpbmc6IEluaXRpYWxpemluZyBPcGVuR0wgY29tcG9zaXRpbmcKa3dpbig1
NjA0KSBLV2luOjpTY2VuZU9wZW5HTDo6aW5pdEJ1ZmZlckNvbmZpZ3M6IERyYXdhYmxlIHZpc3Vh
bCAoZGVwdGggIDI0ICk6IDB4ICJmMCIKa3dpbig1NjA0KSBLV2luOjpTY2VuZU9wZW5HTDo6aW5p
dEJ1ZmZlckNvbmZpZ3M6IERyYXdhYmxlIHZpc3VhbCAoZGVwdGggIDMyICk6IDB4ICI2MSIKa3dp
big1NjA0KSBLV2luOjpTY2VuZU9wZW5HTDo6aW5pdEJ1ZmZlcjogQnVmZmVyIHZpc3VhbCAoZGVw
dGggIDI0ICk6IDB4ICJmMiIKa3dpbig1NjA0KSBLV2luOjpTY2VuZU9wZW5HTDo6U2NlbmVPcGVu
R0w6IERCOiB0cnVlICwgVEZQOiB0cnVlICwgU0hNOiBmYWxzZSAsIERpcmVjdDogdHJ1ZQprd2lu
KDU2MDQpIEtXaW46OldvcmtzcGFjZTo6c2V0dXBDb21wb3NpdGluZzogUmVmcmVzaCByYXRlICA2
MCBIegprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5
aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3Rfc2xpZGluZ3BvcHVwcyIKa3dpbig1NjA0KSBLV2lu
OjpFZmZlY3RzSGFuZGxlckltcGw6OmxvYWRFZmZlY3Q6IFRyeWluZyB0byBsb2FkICAia3dpbjRf
ZWZmZWN0X2ZhZGUiCmt3aW4oNTYwNCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJbXBsOjpsb2FkRWZm
ZWN0OiBUcnlpbmcgdG8gbG9hZCAgImt3aW40X2VmZmVjdF9kZXNrdG9wZ3JpZCIKa3dpbig1NjA0
KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OmxvYWRFZmZlY3Q6IFRyeWluZyB0byBsb2FkICAi
a3dpbjRfZWZmZWN0X2ZhZGVkZXNrdG9wIgprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVy
SW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3Rfc2hhZG93Igpr
d2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRv
IGxvYWQgICJrd2luNF9lZmZlY3RfcHJlc2VudHdpbmRvd3MiCmt3aW4oNTYwNCkgS1dpbjo6RWZm
ZWN0c0hhbmRsZXJJbXBsOjpsb2FkRWZmZWN0OiBUcnlpbmcgdG8gbG9hZCAgImt3aW40X2VmZmVj
dF90YXNrYmFydGh1bWJuYWlsIgprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6
bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3RfbG9nb3V0Igprd2luKDU2
MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQg
ICJrd2luNF9lZmZlY3RfdHJhbnNsdWNlbmN5Igprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5k
bGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3RfaGlnaGxp
Z2h0d2luZG93Igprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVj
dDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3RfZGltc2NyZWVuIgprd2luKDU2MDQpIEtX
aW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2lu
NF9lZmZlY3RfZGlhbG9ncGFyZW50Igprd2luKDU2MDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJU
aW1lTWFwVGltZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgQVNOOiA0Mjk0OTY3Mjk1Cmt3aW4oNTYw
NCkgS1dpbjo6Q2xpZW50OjpyZWFkVXNlclRpbWVNYXBUaW1lc3RhbXA6IFVzZXIgdGltZXN0YW1w
LCBmaW5hbDogJ0lEOiAyOTM2NDM0MSA7V01DTEFTUzogInBsYXNtYSIgOiAicGxhc21hIiA7Q2Fw
dGlvbjogInBsYXNtYS1kZXNrdG9wIiAnIDogNDI5NDk2NzI5NQprd2luKDU2MDQpIEtXaW46Oldv
cmtzcGFjZTo6YWxsb3dDbGllbnRBY3RpdmF0aW9uOiBBY3RpdmF0aW9uOiBObyBjbGllbnQgYWN0
aXZlLCBhbGxvd2luZwprd2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xpZW50QXJl
YTogc2NyZWVuczogIDEgZGVza3RvcHM6ICA1Cmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNlOjp1
cGRhdGVDbGllbnRBcmVhOiBEb25lLgprd2luKDU2MDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJU
aW1lTWFwVGltZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgQVNOOiA5OTM4OTgKa3dpbig1NjA0KSBL
V2luOjpDbGllbnQ6OnJlYWRVc2VyVGltZU1hcFRpbWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIGZp
bmFsOiAnSUQ6IDI5MzY0MzYxIDtXTUNMQVNTOiAicGxhc21hIiA6ICJwbGFzbWEiIDtDYXB0aW9u
OiAicGxhc21hLWRlc2t0b3AiICcgOiA5OTM4OTgKa3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6
OmFsbG93Q2xpZW50QWN0aXZhdGlvbjogQWN0aXZhdGlvbjogTm8gY2xpZW50IGFjdGl2ZSwgYWxs
b3dpbmcKa3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IHNjcmVl
bnM6ICAxIGRlc2t0b3BzOiAgNQprd2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xp
ZW50QXJlYTogRG9uZS4Ka3dpbig1NjA0KSBLV2luOjpDbGllbnQ6OnJlYWRVc2VyVGltZU1hcFRp
bWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIEFTTjogMTUzMzA2OQprd2luKDU2MDQpIEtXaW46OkNs
aWVudDo6cmVhZFVzZXJUaW1lTWFwVGltZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgZmluYWw6ICdJ
RDogNzk2OTE4NDcgO1dNQ0xBU1M6ICJzeXN0ZW1zZXR0aW5ncyIgOiAic3lzdGVtc2V0dGluZ3Mi
IDtDYXB0aW9uOiAiU3lzdGVtIFNldHRpbmdzIiAnIDogMTUzMzA2OQprd2luKDU2MDQpIEtXaW46
OldvcmtzcGFjZTo6YWxsb3dDbGllbnRBY3RpdmF0aW9uOiBBY3RpdmF0aW9uOiBObyBjbGllbnQg
YWN0aXZlLCBhbGxvd2luZwprd2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xpZW50
QXJlYTogc2NyZWVuczogIDEgZGVza3RvcHM6ICA1Cmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNl
Ojp1cGRhdGVDbGllbnRBcmVhOiBEb25lLgprd2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6Y3Jl
YXRlVGlsZTogTm93IHRpbGluZyAgIlN5c3RlbSBTZXR0aW5ncyIKa3dpbig1NjA0KSBLV2luOjpD
bGllbnQ6OnJlYWRVc2VyVGltZU1hcFRpbWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIEFTTjogMTU4
MTM3OQprd2luKDU2MDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJUaW1lTWFwVGltZXN0YW1wOiBV
c2VyIHRpbWVzdGFtcCwgZmluYWw6ICdJRDogNzU0OTc0ODggO1dNQ0xBU1M6ICJrb25zb2xlIiA6
ICJrb25zb2xlIiA7Q2FwdGlvbjogImRyYXVnZGVsIDogYmFzaCIgJyA6IDE1ODEzNzkKa3dpbig1
NjA0KSBLV2luOjpXb3Jrc3BhY2U6OmFsbG93Q2xpZW50QWN0aXZhdGlvbjogQWN0aXZhdGlvbjog
Tm8gY2xpZW50IGFjdGl2ZSwgYWxsb3dpbmcKa3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6OnVw
ZGF0ZUNsaWVudEFyZWE6IHNjcmVlbnM6ICAxIGRlc2t0b3BzOiAgNQprd2luKDU2MDQpIEtXaW46
OldvcmtzcGFjZTo6dXBkYXRlQ2xpZW50QXJlYTogRG9uZS4Ka3dpbig1NjA0KSBLV2luOjpXb3Jr
c3BhY2U6OmNyZWF0ZVRpbGU6IE5vdyB0aWxpbmcgICJkcmF1Z2RlbCA6IGJhc2giCmt3aW4oNTYw
NCkgS1dpbjo6Q2xpZW50OjpyZWFkVXNlclRpbWVNYXBUaW1lc3RhbXA6IFVzZXIgdGltZXN0YW1w
LCBBU046IDEyMzc1NjAKa3dpbig1NjA0KSBLV2luOjpDbGllbnQ6OnJlYWRVc2VyVGltZU1hcFRp
bWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIGZpbmFsOiAnSUQ6IDI5MzY0MzIxIDtXTUNMQVNTOiAi
cGxhc21hIiA6ICJwbGFzbWEiIDtDYXB0aW9uOiAicGxhc21hLWRlc2t0b3AiICcgOiAxMjM3NTYw
Cmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNlOjphbGxvd0NsaWVudEFjdGl2YXRpb246IEFjdGl2
YXRpb246IE5vIGNsaWVudCBhY3RpdmUsIGFsbG93aW5nCmt3aW4oNTYwNCkgS1dpbjo6V29ya3Nw
YWNlOjp1cGRhdGVDbGllbnRBcmVhOiBzY3JlZW5zOiAgMSBkZXNrdG9wczogIDUKa3dpbig1NjA0
KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IERvbmUuCmt3aW4oNTYwNCkgS1dp
bjo6V29ya3NwYWNlOjp1cGRhdGVDbGllbnRBcmVhOiBzY3JlZW5zOiAgMSBkZXNrdG9wczogIDUK
a3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IERvbmUuCmt3aW4o
NTYwNCkgS1dpbjo6V29ya3NwYWNlOjpjcmVhdGVUaWxlOiBOb3cgdGlsaW5nICAiU3lzdGVtIFNl
dHRpbmdzIgprd2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6dGlsZWFibGU6ICJTeXN0ZW0gU2V0
dGluZ3MiCmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNlOjp0aWxlYWJsZTogIlN5c3RlbSBTZXR0
aW5ncyIKa3dpbig1NjA0KSBLV2luOjpUaWxpbmdMYXlvdXRGYWN0b3J5OjpjcmVhdGVMYXlvdXQ6
IENvbHVtbnMKa3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6OmNyZWF0ZVRpbGU6IE5vdyB0aWxp
bmcgICJkcmF1Z2RlbCA6IGJhc2giCmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNlOjp0aWxlYWJs
ZTogImRyYXVnZGVsIDogYmFzaCIKa3dpbig1NjA0KSBLV2luOjpXb3Jrc3BhY2U6OnRpbGVhYmxl
OiAiZHJhdWdkZWwgOiBiYXNoIgprd2luKDU2MDQpIEtXaW46OlNjZW5lT3BlbkdMOjpzZWxmQ2hl
Y2tGaW5pc2g6IE9wZW5HTCBjb21wb3NpdGluZyBzZWxmLWNoZWNrIHBhc3NlZC4Ka3dpbig1NjA0
KSBLV2luOjpDbGllbnQ6OnJlYWRVc2VyVGltZU1hcFRpbWVzdGFtcDogVXNlciB0aW1lc3RhbXAs
IEFTTjogMTUyNjE4MQprd2luKDU2MDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJUaW1lTWFwVGlt
ZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgZmluYWw6ICdJRDogMjk0NTkwMDEgO1dNQ0xBU1M6ICJw
bGFzbWEtZGVza3RvcCIgOiAicGxhc21hLWRlc2t0b3AiIDtDYXB0aW9uOiAicGxhc21hLWRlc2t0
b3AiICcgOiAxNTI2MTgxCmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNlOjphbGxvd0NsaWVudEFj
dGl2YXRpb246IEFjdGl2YXRpb24sIGNvbXBhcmVkOiAnSUQ6IDI5NDU5MDAxIDtXTUNMQVNTOiAi
cGxhc21hLWRlc2t0b3AiIDogInBsYXNtYS1kZXNrdG9wIiA7Q2FwdGlvbjogInBsYXNtYS1kZXNr
dG9wIiAnIDogMTYwMzkxNCA6IDE2MDM5MTQgOiB0cnVlCmt3aW4oNTYwNCkgS1dpbjo6V29ya3Nw
YWNlOjp1cGRhdGVDbGllbnRBcmVhOiBzY3JlZW5zOiAgMSBkZXNrdG9wczogIDUKa3dpbig1NjA0
KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IERvbmUuCmt3aW4oNTYwNCkgS1dp
bjo6V29ya3NwYWNlOjpub3RpZnlUaWxpbmdXaW5kb3dBY3RpdmF0ZWQ6IEZPVU5EIFRJTEUKa3dp
big1NjA0KSBLV2luOjpXb3Jrc3BhY2U6Om5vdGlmeVRpbGluZ1dpbmRvd0FjdGl2YXRlZDogUmFp
c2UgZmxvYXRpbmc/ICBmYWxzZSB0byByYWlzZSBpcyBmbG9hdGluZz8gZmFsc2UKa3dpbig1NjA0
KSBLV2luOjpXb3Jrc3BhY2U6Om5vdGlmeVRpbGluZ1dpbmRvd0FjdGl2YXRlZDogRk9VTkQgVElM
RQprd2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6bm90aWZ5VGlsaW5nV2luZG93QWN0aXZhdGVk
OiBSYWlzZSBmbG9hdGluZz8gIGZhbHNlIHRvIHJhaXNlIGlzIGZsb2F0aW5nPyBmYWxzZQprd2lu
KDU2MDQpIEtXaW46OldvcmtzcGFjZTo6c2xvdFJlY29uZmlndXJlOiBXb3Jrc3BhY2U6OnNsb3RS
ZWNvbmZpZ3VyZSgpCmt3aW4oNTYwNCkgS1dpbjo6RXh0ZW5zaW9uczo6aW5pdDogRXh0ZW5zaW9u
czogc2hhcGU6IDB4ICIxMSIgIGNvbXBvc2l0ZTogMHggIjQiICByZW5kZXI6IDB4ICJhIiAgZml4
ZXM6IDB4ICI0MCIKa3dpbig1NjA0KSBLV2luOjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3Q6IGds
eCB2ZXJzaW9uIGlzICAxIC4gNAprd2luKDU2MDQpIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRl
dGVjdERyaXZlckFuZFZlcnNpb246IEdMIHZlbmRvciBpcyAiRFJJIFIzMDAgUHJvamVjdCIgCmt3
aW4oNTYwNCkgS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbjog
R0wgcmVuZGVyZXIgaXMgIk1lc2EgRFJJIFIzMDAgKFJWNDEwIDU2NTMpIDIwMDkwMTAxIHg4Ni9N
TVgvU1NFMiBUQ0wgRFJJMiIgCmt3aW4oNTYwNCkgS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0
ZWN0RHJpdmVyQW5kVmVyc2lvbjogR0wgdmVyc2lvbiBpcyAiMS41IE1lc2EgNy44LjEiIAprd2lu
KDU2MDQpIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246IERl
dGVjdGVkIGRyaXZlciAicmFkZW9uIiAsIHZlcnNpb24gIjIwMDkwMTAxIiAKa3dpbig1NjA0KSBL
RGVjb3JhdGlvblBsdWdpbnM6OmxvYWRQbHVnaW46IGt3aW4gOiBwYXRoICAiL3Vzci9saWIva2Rl
NC9rd2luM19veHlnZW4uc28iICBmb3IgICJrd2luM19veHlnZW4iCmt3aW4oNTYwNCkgS1dpbjo6
V29ya3NwYWNlOjpub3RpZnlUaWxpbmdXaW5kb3dBY3RpdmF0ZWQ6IEZPVU5EIFRJTEUKa3dpbig1
NjA0KSBLV2luOjpXb3Jrc3BhY2U6Om5vdGlmeVRpbGluZ1dpbmRvd0FjdGl2YXRlZDogUmFpc2Ug
ZmxvYXRpbmc/ICBmYWxzZSB0byByYWlzZSBpcyBmbG9hdGluZz8gZmFsc2UKa3dpbig1NjA0KSBL
V2luOjpXb3Jrc3BhY2U6Om5vdGlmeVRpbGluZ1dpbmRvd0FjdGl2YXRlZDogRk9VTkQgVElMRQpr
d2luKDU2MDQpIEtXaW46OldvcmtzcGFjZTo6bm90aWZ5VGlsaW5nV2luZG93QWN0aXZhdGVkOiBS
YWlzZSBmbG9hdGluZz8gIGZhbHNlIHRvIHJhaXNlIGlzIGZsb2F0aW5nPyBmYWxzZQprd2luKDU2
MDQpIEtXaW46OldvcmtzcGFjZTo6bm90aWZ5VGlsaW5nV2luZG93QWN0aXZhdGVkOiBGT1VORCBU
SUxFCmt3aW4oNTYwNCkgS1dpbjo6V29ya3NwYWNlOjpub3RpZnlUaWxpbmdXaW5kb3dBY3RpdmF0
ZWQ6IFJhaXNlIGZsb2F0aW5nPyAgZmFsc2UgdG8gcmFpc2UgaXMgZmxvYXRpbmc/IGZhbHNlCmt3
aW4oNTYwNCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJbXBsOjp1bmxvYWRFZmZlY3Q6IEVmZmVjdHNI
YW5kbGVyOjp1bmxvYWRFZmZlY3QgOiBVbmxvYWRpbmcgRWZmZWN0IDogICJrd2luNF9lZmZlY3Rf
ZGltc2NyZWVuIgprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5sb2FkRWZm
ZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2FkRWZmZWN0IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAi
a3dpbjRfZWZmZWN0X3RyYW5zbHVjZW5jeSIKa3dpbig1NjA0KSBLV2luOjpFZmZlY3RzSGFuZGxl
ckltcGw6OnVubG9hZEVmZmVjdDogRWZmZWN0c0hhbmRsZXI6OnVubG9hZEVmZmVjdCA6IFVubG9h
ZGluZyBFZmZlY3QgOiAgImt3aW40X2VmZmVjdF9mYWRlZGVza3RvcCIKa3dpbig1NjA0KSBLV2lu
OjpFZmZlY3RzSGFuZGxlckltcGw6OnVubG9hZEVmZmVjdDogRWZmZWN0c0hhbmRsZXI6OnVubG9h
ZEVmZmVjdCA6IFVubG9hZGluZyBFZmZlY3QgOiAgImt3aW40X2VmZmVjdF9kZXNrdG9wZ3JpZCIK
a3dpbig1NjA0KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OnVubG9hZEVmZmVjdDogRWZmZWN0
c0hhbmRsZXI6OnVubG9hZEVmZmVjdCA6IFVubG9hZGluZyBFZmZlY3QgOiAgImt3aW40X2VmZmVj
dF9zbGlkaW5ncG9wdXBzIgprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5s
b2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2FkRWZmZWN0IDogVW5sb2FkaW5nIEVmZmVj
dCA6ICAia3dpbjRfZWZmZWN0X2ZhZGUiCmt3aW4oNTYwNCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJ
bXBsOjp1bmxvYWRFZmZlY3Q6IEVmZmVjdHNIYW5kbGVyOjp1bmxvYWRFZmZlY3QgOiBVbmxvYWRp
bmcgRWZmZWN0IDogICJrd2luNF9lZmZlY3RfZGlhbG9ncGFyZW50Igprd2luKDU2MDQpIEtXaW46
OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2Fk
RWZmZWN0IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X2hpZ2hsaWdodHdpbmRv
dyIKa3dpbig1NjA0KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OnVubG9hZEVmZmVjdDogRWZm
ZWN0c0hhbmRsZXI6OnVubG9hZEVmZmVjdCA6IFVubG9hZGluZyBFZmZlY3QgOiAgImt3aW40X2Vm
ZmVjdF90YXNrYmFydGh1bWJuYWlsIgprd2luKDU2MDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1w
bDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2FkRWZmZWN0IDogVW5sb2FkaW5n
IEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X3ByZXNlbnR3aW5kb3dzIgprd2luKDU2MDQpIEtXaW46
OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2Fk
RWZmZWN0IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X3NoYWRvdyIKa3dpbig1
NjA0KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OnVubG9hZEVmZmVjdDogRWZmZWN0c0hhbmRs
ZXI6OnVubG9hZEVmZmVjdCA6IFVubG9hZGluZyBFZmZlY3QgOiAgImt3aW40X2VmZmVjdF9sb2dv
dXQiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>48226</attachid>
            <date>2010-06-22 15:21:30 +0000</date>
            <delta_ts>2010-06-22 15:21:30 +0000</delta_ts>
            <desc>Log from the freeze</desc>
            <filename>kwinlog</filename>
            <type>application/octet-stream</type>
            <size>10713</size>
            <attacher name="Rainer Kastl">rainer.kastl</attacher>
            
              <data encoding="base64">WCBFcnJvcjogQmFkV2luZG93IChpbnZhbGlkIFdpbmRvdyBwYXJhbWV0ZXIpIDMKICBNYWpvciBv
cGNvZGU6IDIwIChYX0dldFByb3BlcnR5KQogIFJlc291cmNlIGlkOiAgMHgzNjAwMDUwCmt3aW4o
NTI0NCkgS2VwaGFsOjpEZXNrdG9wV2lkZ2V0U2NyZWVuczo6RGVza3RvcFdpZGdldFNjcmVlbnM6
IGZvbwprd2luKDUyNDQpIEtXaW46OkV4dGVuc2lvbnM6OmluaXQ6IEV4dGVuc2lvbnM6IHNoYXBl
OiAweCAiMTEiICBjb21wb3NpdGU6IDB4ICI0IiAgcmVuZGVyOiAweCAiYSIgIGZpeGVzOiAweCAi
NDAiCmt3aW4oNTI0NCkgS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0ZWN0OiBnbHggdmVyc2lv
biBpcyAgMSAuIDQKa3dpbig1MjQ0KSBLV2luOjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3REcml2
ZXJBbmRWZXJzaW9uOiBHTCB2ZW5kb3IgaXMgIkRSSSBSMzAwIFByb2plY3QiIAprd2luKDUyNDQp
IEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246IEdMIHJlbmRl
cmVyIGlzICJNZXNhIERSSSBSMzAwIChSVjQxMCA1NjUzKSAyMDA5MDEwMSB4ODYvTU1YL1NTRTIg
VENMIERSSTIiIAprd2luKDUyNDQpIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZl
ckFuZFZlcnNpb246IEdMIHZlcnNpb24gaXMgIjEuNSBNZXNhIDcuOC4xIiAKa3dpbig1MjQ0KSBL
V2luOjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3REcml2ZXJBbmRWZXJzaW9uOiBEZXRlY3RlZCBk
cml2ZXIgInJhZGVvbiIgLCB2ZXJzaW9uICIyMDA5MDEwMSIgCmt3aW4oNTI0NCkgS0RlY29yYXRp
b25QbHVnaW5zOjpsb2FkUGx1Z2luOiBrd2luIDogcGF0aCAgIi91c3IvbGliL2tkZTQva3dpbjNf
b3h5Z2VuLnNvIiAgZm9yICAia3dpbjNfb3h5Z2VuIgprd2luKDUyNDQpIEtXaW46OkV4dGVuc2lv
bnM6OmluaXQ6IEV4dGVuc2lvbnM6IHNoYXBlOiAweCAiMTEiICBjb21wb3NpdGU6IDB4ICI0IiAg
cmVuZGVyOiAweCAiYSIgIGZpeGVzOiAweCAiNDAiCmt3aW4oNTI0NCkgS1dpbjo6RXh0ZW5zaW9u
czo6aW5pdDogRXh0ZW5zaW9uczogc2hhcGU6IDB4ICIxMSIgIGNvbXBvc2l0ZTogMHggIjQiICBy
ZW5kZXI6IDB4ICJhIiAgZml4ZXM6IDB4ICI0MCIKa3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6
OnNldHVwQ29tcG9zaXRpbmc6IEluaXRpYWxpemluZyBPcGVuR0wgY29tcG9zaXRpbmcKa3dpbig1
MjQ0KSBLV2luOjpTY2VuZU9wZW5HTDo6aW5pdEJ1ZmZlckNvbmZpZ3M6IERyYXdhYmxlIHZpc3Vh
bCAoZGVwdGggIDI0ICk6IDB4ICJmMCIKa3dpbig1MjQ0KSBLV2luOjpTY2VuZU9wZW5HTDo6aW5p
dEJ1ZmZlckNvbmZpZ3M6IERyYXdhYmxlIHZpc3VhbCAoZGVwdGggIDMyICk6IDB4ICI2MSIKa3dp
big1MjQ0KSBLV2luOjpTY2VuZU9wZW5HTDo6aW5pdEJ1ZmZlcjogQnVmZmVyIHZpc3VhbCAoZGVw
dGggIDI0ICk6IDB4ICJmMiIKa3dpbig1MjQ0KSBLV2luOjpTY2VuZU9wZW5HTDo6U2NlbmVPcGVu
R0w6IERCOiB0cnVlICwgVEZQOiB0cnVlICwgU0hNOiBmYWxzZSAsIERpcmVjdDogdHJ1ZQprd2lu
KDUyNDQpIEtXaW46OldvcmtzcGFjZTo6c2V0dXBDb21wb3NpdGluZzogUmVmcmVzaCByYXRlICA2
MCBIegprd2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5
aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3Rfc2xpZGluZ3BvcHVwcyIKa3dpbig1MjQ0KSBLV2lu
OjpFZmZlY3RzSGFuZGxlckltcGw6OmxvYWRFZmZlY3Q6IFRyeWluZyB0byBsb2FkICAia3dpbjRf
ZWZmZWN0X2ZhZGUiCmt3aW4oNTI0NCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJbXBsOjpsb2FkRWZm
ZWN0OiBUcnlpbmcgdG8gbG9hZCAgImt3aW40X2VmZmVjdF9kZXNrdG9wZ3JpZCIKa3dpbig1MjQ0
KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OmxvYWRFZmZlY3Q6IFRyeWluZyB0byBsb2FkICAi
a3dpbjRfZWZmZWN0X2ZhZGVkZXNrdG9wIgprd2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVy
SW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3Rfc2hhZG93Igpr
d2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRv
IGxvYWQgICJrd2luNF9lZmZlY3RfcHJlc2VudHdpbmRvd3MiCmt3aW4oNTI0NCkgS1dpbjo6RWZm
ZWN0c0hhbmRsZXJJbXBsOjpsb2FkRWZmZWN0OiBUcnlpbmcgdG8gbG9hZCAgImt3aW40X2VmZmVj
dF90YXNrYmFydGh1bWJuYWlsIgprd2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6
bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3RfbG9nb3V0Igprd2luKDUy
NDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQg
ICJrd2luNF9lZmZlY3RfdHJhbnNsdWNlbmN5Igprd2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5k
bGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3RfaGlnaGxp
Z2h0d2luZG93Igprd2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVj
dDogVHJ5aW5nIHRvIGxvYWQgICJrd2luNF9lZmZlY3RfZGltc2NyZWVuIgprd2luKDUyNDQpIEtX
aW46OkVmZmVjdHNIYW5kbGVySW1wbDo6bG9hZEVmZmVjdDogVHJ5aW5nIHRvIGxvYWQgICJrd2lu
NF9lZmZlY3RfZGlhbG9ncGFyZW50Igprd2luKDUyNDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJU
aW1lTWFwVGltZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgQVNOOiA0Mjk0OTY3Mjk1Cmt3aW4oNTI0
NCkgS1dpbjo6Q2xpZW50OjpyZWFkVXNlclRpbWVNYXBUaW1lc3RhbXA6IFVzZXIgdGltZXN0YW1w
LCBmaW5hbDogJ0lEOiAyOTM2NjM0OCA7V01DTEFTUzogInBsYXNtYSIgOiAicGxhc21hIiA7Q2Fw
dGlvbjogInBsYXNtYS1kZXNrdG9wIiAnIDogNDI5NDk2NzI5NQprd2luKDUyNDQpIEtXaW46Oldv
cmtzcGFjZTo6YWxsb3dDbGllbnRBY3RpdmF0aW9uOiBBY3RpdmF0aW9uOiBObyBjbGllbnQgYWN0
aXZlLCBhbGxvd2luZwprd2luKDUyNDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xpZW50QXJl
YTogc2NyZWVuczogIDEgZGVza3RvcHM6ICA1Cmt3aW4oNTI0NCkgS1dpbjo6V29ya3NwYWNlOjp1
cGRhdGVDbGllbnRBcmVhOiBEb25lLgprd2luKDUyNDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJU
aW1lTWFwVGltZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgQVNOOiAxNjc3MjcKa3dpbig1MjQ0KSBL
V2luOjpDbGllbnQ6OnJlYWRVc2VyVGltZU1hcFRpbWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIGZp
bmFsOiAnSUQ6IDI5MzY2MzY4IDtXTUNMQVNTOiAicGxhc21hIiA6ICJwbGFzbWEiIDtDYXB0aW9u
OiAicGxhc21hLWRlc2t0b3AiICcgOiAxNjc3MjcKa3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6
OmFsbG93Q2xpZW50QWN0aXZhdGlvbjogQWN0aXZhdGlvbjogTm8gY2xpZW50IGFjdGl2ZSwgYWxs
b3dpbmcKa3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IHNjcmVl
bnM6ICAxIGRlc2t0b3BzOiAgNQprd2luKDUyNDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xp
ZW50QXJlYTogRG9uZS4Ka3dpbig1MjQ0KSBLV2luOjpDbGllbnQ6OnJlYWRVc2VyVGltZU1hcFRp
bWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIEFTTjogMzgyNTMzCmt3aW4oNTI0NCkgS1dpbjo6Q2xp
ZW50OjpyZWFkVXNlclRpbWVNYXBUaW1lc3RhbXA6IFVzZXIgdGltZXN0YW1wLCBmaW5hbDogJ0lE
OiA3MzQwMDM5MSA7V01DTEFTUzogInN5c3RlbXNldHRpbmdzIiA6ICJzeXN0ZW1zZXR0aW5ncyIg
O0NhcHRpb246ICJXaW5kb3cgUnVsZXMg4oCTIFN5c3RlbSBTZXR0aW5ncyIgJyA6IDM4MjUzMwpr
d2luKDUyNDQpIEtXaW46OldvcmtzcGFjZTo6YWxsb3dDbGllbnRBY3RpdmF0aW9uOiBBY3RpdmF0
aW9uOiBObyBjbGllbnQgYWN0aXZlLCBhbGxvd2luZwprd2luKDUyNDQpIEtXaW46OldvcmtzcGFj
ZTo6dXBkYXRlQ2xpZW50QXJlYTogc2NyZWVuczogIDEgZGVza3RvcHM6ICA1Cmt3aW4oNTI0NCkg
S1dpbjo6V29ya3NwYWNlOjp1cGRhdGVDbGllbnRBcmVhOiBEb25lLgprd2luKDUyNDQpIEtXaW46
OldvcmtzcGFjZTo6Y3JlYXRlVGlsZTogTm93IHRpbGluZyAgIldpbmRvdyBSdWxlcyDigJMgU3lz
dGVtIFNldHRpbmdzIgprd2luKDUyNDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJUaW1lTWFwVGlt
ZXN0YW1wOiBVc2VyIHRpbWVzdGFtcCwgQVNOOiAxMjUwNjIKa3dpbig1MjQ0KSBLV2luOjpDbGll
bnQ6OnJlYWRVc2VyVGltZU1hcFRpbWVzdGFtcDogVXNlciB0aW1lc3RhbXAsIGZpbmFsOiAnSUQ6
IDI5MzY2MzI4IDtXTUNMQVNTOiAicGxhc21hIiA6ICJwbGFzbWEiIDtDYXB0aW9uOiAicGxhc21h
LWRlc2t0b3AiICcgOiAxMjUwNjIKa3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OmFsbG93Q2xp
ZW50QWN0aXZhdGlvbjogQWN0aXZhdGlvbjogTm8gY2xpZW50IGFjdGl2ZSwgYWxsb3dpbmcKa3dp
big1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IHNjcmVlbnM6ICAxIGRl
c2t0b3BzOiAgNQprd2luKDUyNDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xpZW50QXJlYTog
RG9uZS4Ka3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IHNjcmVl
bnM6ICAxIGRlc2t0b3BzOiAgNQprd2luKDUyNDQpIEtXaW46OldvcmtzcGFjZTo6dXBkYXRlQ2xp
ZW50QXJlYTogRG9uZS4Ka3dpbig1MjQ0KSBLV2luOjpTY2VuZU9wZW5HTDo6c2VsZkNoZWNrRmlu
aXNoOiBPcGVuR0wgY29tcG9zaXRpbmcgc2VsZi1jaGVjayBwYXNzZWQuCmt3aW4oNTI0NCkgS1dp
bjo6Q2xpZW50OjpyZWFkVXNlclRpbWVNYXBUaW1lc3RhbXA6IFVzZXIgdGltZXN0YW1wLCBBU046
IDE3NTY0NQprd2luKDUyNDQpIEtXaW46OkNsaWVudDo6cmVhZFVzZXJUaW1lTWFwVGltZXN0YW1w
OiBVc2VyIHRpbWVzdGFtcCwgZmluYWw6ICdJRDogMjkzOTE0NDcgO1dNQ0xBU1M6ICJwbGFzbWEt
ZGVza3RvcCIgOiAicGxhc21hLWRlc2t0b3AiIDtDYXB0aW9uOiAicGxhc21hLWRlc2t0b3AiICcg
OiAxNzU2NDUKa3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OmFsbG93Q2xpZW50QWN0aXZhdGlv
bjogQWN0aXZhdGlvbiwgY29tcGFyZWQ6ICdJRDogMjkzOTE0NDcgO1dNQ0xBU1M6ICJwbGFzbWEt
ZGVza3RvcCIgOiAicGxhc21hLWRlc2t0b3AiIDtDYXB0aW9uOiAicGxhc21hLWRlc2t0b3AiICcg
OiAzOTYyNTQgOiAzOTYyNTQgOiB0cnVlCmt3aW4oNTI0NCkgS1dpbjo6V29ya3NwYWNlOjp1cGRh
dGVDbGllbnRBcmVhOiBzY3JlZW5zOiAgMSBkZXNrdG9wczogIDUKa3dpbig1MjQ0KSBLV2luOjpX
b3Jrc3BhY2U6OnVwZGF0ZUNsaWVudEFyZWE6IERvbmUuCmt3aW4oNTI0NCkgS1dpbjo6V29ya3Nw
YWNlOjpzbG90UmVjb25maWd1cmU6IFdvcmtzcGFjZTo6c2xvdFJlY29uZmlndXJlKCkKa3dpbig1
MjQ0KSBLV2luOjpFeHRlbnNpb25zOjppbml0OiBFeHRlbnNpb25zOiBzaGFwZTogMHggIjExIiAg
Y29tcG9zaXRlOiAweCAiNCIgIHJlbmRlcjogMHggImEiICBmaXhlczogMHggIjQwIgprd2luKDUy
NDQpIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdDogZ2x4IHZlcnNpb24gaXMgIDEgLiA0
Cmt3aW4oNTI0NCkgS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0ZWN0RHJpdmVyQW5kVmVyc2lv
bjogR0wgdmVuZG9yIGlzICJEUkkgUjMwMCBQcm9qZWN0IiAKa3dpbig1MjQ0KSBLV2luOjpDb21w
b3NpdGluZ1ByZWZzOjpkZXRlY3REcml2ZXJBbmRWZXJzaW9uOiBHTCByZW5kZXJlciBpcyAiTWVz
YSBEUkkgUjMwMCAoUlY0MTAgNTY1MykgMjAwOTAxMDEgeDg2L01NWC9TU0UyIFRDTCBEUkkyIiAK
a3dpbig1MjQ0KSBLV2luOjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3REcml2ZXJBbmRWZXJzaW9u
OiBHTCB2ZXJzaW9uIGlzICIxLjUgTWVzYSA3LjguMSIgCmt3aW4oNTI0NCkgS1dpbjo6Q29tcG9z
aXRpbmdQcmVmczo6ZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbjogRGV0ZWN0ZWQgZHJpdmVyICJyYWRl
b24iICwgdmVyc2lvbiAiMjAwOTAxMDEiIAprd2luKDUyNDQpIEtEZWNvcmF0aW9uUGx1Z2luczo6
bG9hZFBsdWdpbjoga3dpbiA6IHBhdGggICIvdXNyL2xpYi9rZGU0L2t3aW4zX294eWdlbi5zbyIg
IGZvciAgImt3aW4zX294eWdlbiIKa3dpbig1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OmNyZWF0ZVRp
bGU6IE5vdyB0aWxpbmcgICJXaW5kb3cgQmVoYXZpb3Ig4oCTIFN5c3RlbSBTZXR0aW5ncyIKa3dp
big1MjQ0KSBLV2luOjpXb3Jrc3BhY2U6OnRpbGVhYmxlOiAiV2luZG93IEJlaGF2aW9yIOKAkyBT
eXN0ZW0gU2V0dGluZ3MiCmt3aW4oNTI0NCkgS1dpbjo6V29ya3NwYWNlOjp0aWxlYWJsZTogIldp
bmRvdyBCZWhhdmlvciDigJMgU3lzdGVtIFNldHRpbmdzIgprd2luKDUyNDQpIEtXaW46OlRpbGlu
Z0xheW91dEZhY3Rvcnk6OmNyZWF0ZUxheW91dDogU3BpcmFsCmt3aW4oNTI0NCkgS1dpbjo6eDEx
RXJyb3JIYW5kbGVyOiBrd2luOiBYIEVycm9yICggImVycm9yOiBHTFhCYWRQaXhtYXBbR0xYKzNd
LCByZXF1ZXN0OiBYX0dMWERlc3Ryb3lQaXhtYXBbR0xYKzIzXSwgcmVzb3VyY2U6IDB4MzYwMDE5
MCIgKSAKa3dpbig1MjQ0KSBLV2luOjp4MTFFcnJvckhhbmRsZXI6IGt3aW46IFggRXJyb3IgKCAi
ZXJyb3I6IEdMWEJhZFBpeG1hcFtHTFgrM10sIHJlcXVlc3Q6IFhfR0xYRGVzdHJveVBpeG1hcFtH
TFgrMjNdLCByZXNvdXJjZTogMHgzNjAwMTkxIiApIAprd2luKDUyNDQpIEtXaW46OngxMUVycm9y
SGFuZGxlcjoga3dpbjogWCBFcnJvciAoICJlcnJvcjogR0xYQmFkUGl4bWFwW0dMWCszXSwgcmVx
dWVzdDogWF9HTFhEZXN0cm95UGl4bWFwW0dMWCsyM10sIHJlc291cmNlOiAweDM2MDAxOTIiICkg
Cmt3aW4oNTI0NCkgS1dpbjo6eDExRXJyb3JIYW5kbGVyOiBrd2luOiBYIEVycm9yICggImVycm9y
OiBHTFhCYWRQaXhtYXBbR0xYKzNdLCByZXF1ZXN0OiBYX0dMWERlc3Ryb3lQaXhtYXBbR0xYKzIz
XSwgcmVzb3VyY2U6IDB4MzYwMDE5MyIgKSAKa3dpbig1MjQ0KSBLV2luOjp4MTFFcnJvckhhbmRs
ZXI6IGt3aW46IFggRXJyb3IgKCAiZXJyb3I6IEdMWEJhZENvbnRleHRUYWdbR0xYKzRdLCByZXF1
ZXN0OiBYX0dMWFN3YXBCdWZmZXJzW0dMWCsxMV0sIHJlc291cmNlOiAweDM2MDA3MjIiICkgCmt3
aW4oNTI0NCkgS1dpbjo6eDExRXJyb3JIYW5kbGVyOiBrd2luOiBYIEVycm9yICggImVycm9yOiBH
TFhCYWRDb250ZXh0VGFnW0dMWCs0XSwgcmVxdWVzdDogWF9HTFhTd2FwQnVmZmVyc1tHTFgrMTFd
LCByZXNvdXJjZTogMHgzNjAwNzIyIiApIAprd2luKDUyNDQpIEtXaW46OngxMUVycm9ySGFuZGxl
cjoga3dpbjogWCBFcnJvciAoICJlcnJvcjogR0xYQmFkQ29udGV4dFRhZ1tHTFgrNF0sIHJlcXVl
c3Q6IFhfR0xYU3dhcEJ1ZmZlcnNbR0xYKzExXSwgcmVzb3VyY2U6IDB4MzYwMDcyMiIgKSAKa3dp
big1MjQ0KSBLV2luOjp4MTFFcnJvckhhbmRsZXI6IGt3aW46IFggRXJyb3IgKCAiZXJyb3I6IEdM
WEJhZENvbnRleHRUYWdbR0xYKzRdLCByZXF1ZXN0OiBYX0dMWFN3YXBCdWZmZXJzW0dMWCsxMV0s
IHJlc291cmNlOiAweDM2MDA3MjIiICkgCmt3aW4oNTI0NCkgS1dpbjo6eDExRXJyb3JIYW5kbGVy
OiBrd2luOiBYIEVycm9yICggImVycm9yOiBHTFhCYWRDb250ZXh0VGFnW0dMWCs0XSwgcmVxdWVz
dDogWF9HTFhTd2FwQnVmZmVyc1tHTFgrMTFdLCByZXNvdXJjZTogMHgzNjAwNzIyIiApIAprd2lu
KDUyNDQpIEtXaW46OngxMUVycm9ySGFuZGxlcjoga3dpbjogWCBFcnJvciAoICJlcnJvcjogR0xY
QmFkQ29udGV4dFRhZ1tHTFgrNF0sIHJlcXVlc3Q6IFhfR0xYU3dhcEJ1ZmZlcnNbR0xYKzExXSwg
cmVzb3VyY2U6IDB4MzYwMDcyMiIgKSAKa3dpbig1MjQ0KSBLV2luOjp4MTFFcnJvckhhbmRsZXI6
IGt3aW46IFggRXJyb3IgKCAiZXJyb3I6IEdMWEJhZENvbnRleHRUYWdbR0xYKzRdLCByZXF1ZXN0
OiBYX0dMWFN3YXBCdWZmZXJzW0dMWCsxMV0sIHJlc291cmNlOiAweDM2MDA3MjIiICkgCmt3aW4o
NTI0NCkgS1dpbjo6eDExRXJyb3JIYW5kbGVyOiBrd2luOiBYIEVycm9yICggImVycm9yOiBHTFhC
YWRDb250ZXh0VGFnW0dMWCs0XSwgcmVxdWVzdDogWF9HTFhTd2FwQnVmZmVyc1tHTFgrMTFdLCBy
ZXNvdXJjZTogMHgzNjAwNzIyIiApIAprd2luKDUyNDQpIEtXaW46OngxMUVycm9ySGFuZGxlcjog
a3dpbjogWCBFcnJvciAoICJlcnJvcjogR0xYQmFkQ29udGV4dFRhZ1tHTFgrNF0sIHJlcXVlc3Q6
IFhfR0xYU3dhcEJ1ZmZlcnNbR0xYKzExXSwgcmVzb3VyY2U6IDB4MzYwMDcyMiIgKSAKa3dpbig1
MjQ0KSBLV2luOjp4MTFFcnJvckhhbmRsZXI6IGt3aW46IFggRXJyb3IgKCAiZXJyb3I6IEdMWEJh
ZENvbnRleHRUYWdbR0xYKzRdLCByZXF1ZXN0OiBYX0dMWFN3YXBCdWZmZXJzW0dMWCsxMV0sIHJl
c291cmNlOiAweDM2MDA3MjIiICkgCmt3aW4oNTI0NCkgS1dpbjo6eDExRXJyb3JIYW5kbGVyOiBr
d2luOiBYIEVycm9yICggImVycm9yOiBHTFhCYWRDb250ZXh0VGFnW0dMWCs0XSwgcmVxdWVzdDog
WF9HTFhTd2FwQnVmZmVyc1tHTFgrMTFdLCByZXNvdXJjZTogMHgzNjAwNzIyIiApIAprd2luKDUy
NDQpIEtXaW46OngxMUVycm9ySGFuZGxlcjoga3dpbjogWCBFcnJvciAoICJlcnJvcjogR0xYQmFk
Q29udGV4dFRhZ1tHTFgrNF0sIHJlcXVlc3Q6IFhfR0xYU3dhcEJ1ZmZlcnNbR0xYKzExXSwgcmVz
b3VyY2U6IDB4MzYwMDcyMiIgKSAKa3dpbig1MjQ0KSBLV2luOjp4MTFFcnJvckhhbmRsZXI6IGt3
aW46IFggRXJyb3IgKCAiZXJyb3I6IEdMWEJhZENvbnRleHRUYWdbR0xYKzRdLCByZXF1ZXN0OiBY
X0dMWFN3YXBCdWZmZXJzW0dMWCsxMV0sIHJlc291cmNlOiAweDM2MDA3MjIiICkgCmt3aW4oNTI0
NCkgS1dpbjo6eDExRXJyb3JIYW5kbGVyOiBrd2luOiBYIEVycm9yICggImVycm9yOiBHTFhCYWRD
b250ZXh0VGFnW0dMWCs0XSwgcmVxdWVzdDogWF9HTFhTd2FwQnVmZmVyc1tHTFgrMTFdLCByZXNv
dXJjZTogMHgzNjAwNzIyIiApIAprd2luKDUyNDQpIEtXaW46OngxMUVycm9ySGFuZGxlcjoga3dp
bjogWCBFcnJvciAoICJlcnJvcjogR0xYQmFkQ29udGV4dFRhZ1tHTFgrNF0sIHJlcXVlc3Q6IFhf
R0xYU3dhcEJ1ZmZlcnNbR0xYKzExXSwgcmVzb3VyY2U6IDB4MzYwMDZjZCIgKSAKa3dpbig1MjQ0
KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OnVubG9hZEVmZmVjdDogRWZmZWN0c0hhbmRsZXI6
OnVubG9hZEVmZmVjdCA6IFVubG9hZGluZyBFZmZlY3QgOiAgImt3aW40X2VmZmVjdF9kaW1zY3Jl
ZW4iCmt3aW4oNTI0NCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJbXBsOjp1bmxvYWRFZmZlY3Q6IEVm
ZmVjdHNIYW5kbGVyOjp1bmxvYWRFZmZlY3QgOiBVbmxvYWRpbmcgRWZmZWN0IDogICJrd2luNF9l
ZmZlY3RfdHJhbnNsdWNlbmN5Igprd2luKDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6
dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2FkRWZmZWN0IDogVW5sb2FkaW5nIEVm
ZmVjdCA6ICAia3dpbjRfZWZmZWN0X2ZhZGVkZXNrdG9wIgprd2luKDUyNDQpIEtXaW46OkVmZmVj
dHNIYW5kbGVySW1wbDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5sb2FkRWZmZWN0
IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X2Rlc2t0b3BncmlkIgprd2luKDUy
NDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxl
cjo6dW5sb2FkRWZmZWN0IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X3NsaWRp
bmdwb3B1cHMiCmt3aW4oNTI0NCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJbXBsOjp1bmxvYWRFZmZl
Y3Q6IEVmZmVjdHNIYW5kbGVyOjp1bmxvYWRFZmZlY3QgOiBVbmxvYWRpbmcgRWZmZWN0IDogICJr
d2luNF9lZmZlY3RfZmFkZSIKa3dpbig1MjQ0KSBLV2luOjpFZmZlY3RzSGFuZGxlckltcGw6OnVu
bG9hZEVmZmVjdDogRWZmZWN0c0hhbmRsZXI6OnVubG9hZEVmZmVjdCA6IFVubG9hZGluZyBFZmZl
Y3QgOiAgImt3aW40X2VmZmVjdF9kaWFsb2dwYXJlbnQiCmt3aW4oNTI0NCkgS1dpbjo6RWZmZWN0
c0hhbmRsZXJJbXBsOjp1bmxvYWRFZmZlY3Q6IEVmZmVjdHNIYW5kbGVyOjp1bmxvYWRFZmZlY3Qg
OiBVbmxvYWRpbmcgRWZmZWN0IDogICJrd2luNF9lZmZlY3RfaGlnaGxpZ2h0d2luZG93Igprd2lu
KDUyNDQpIEtXaW46OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFu
ZGxlcjo6dW5sb2FkRWZmZWN0IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X3Rh
c2tiYXJ0aHVtYm5haWwiCmt3aW4oNTI0NCkgS1dpbjo6RWZmZWN0c0hhbmRsZXJJbXBsOjp1bmxv
YWRFZmZlY3Q6IEVmZmVjdHNIYW5kbGVyOjp1bmxvYWRFZmZlY3QgOiBVbmxvYWRpbmcgRWZmZWN0
IDogICJrd2luNF9lZmZlY3RfcHJlc2VudHdpbmRvd3MiCmt3aW4oNTI0NCkgS1dpbjo6RWZmZWN0
c0hhbmRsZXJJbXBsOjp1bmxvYWRFZmZlY3Q6IEVmZmVjdHNIYW5kbGVyOjp1bmxvYWRFZmZlY3Qg
OiBVbmxvYWRpbmcgRWZmZWN0IDogICJrd2luNF9lZmZlY3Rfc2hhZG93Igprd2luKDUyNDQpIEtX
aW46OkVmZmVjdHNIYW5kbGVySW1wbDo6dW5sb2FkRWZmZWN0OiBFZmZlY3RzSGFuZGxlcjo6dW5s
b2FkRWZmZWN0IDogVW5sb2FkaW5nIEVmZmVjdCA6ICAia3dpbjRfZWZmZWN0X2xvZ291dCIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50575</attachid>
            <date>2010-08-15 13:01:20 +0000</date>
            <delta_ts>2010-08-15 13:05:02 +0000</delta_ts>
            <desc>partial .xsession-errors log </desc>
            <filename>b-movie-desktop-effects-system.settings.crash.xsession-errors</filename>
            <type>text/plain</type>
            <size>46383</size>
            <attacher name="John Stanley">jpsinthemix</attacher>
            
              <data encoding="base64">cGxhc21hLWRlc2t0b3AoMjEzMSkva2RlY29yZSAoS0NvbmZpZ1NrZWxldG9uKSBLQ29yZUNvbmZp
Z1NrZWxldG9uOjp3cml0ZUNvbmZpZzoKcGxhc21hLWRlc2t0b3AoMjEzMSkva2RlY29yZSAoS0Nv
bmZpZ1NrZWxldG9uKSBLQ29yZUNvbmZpZ1NrZWxldG9uOjp3cml0ZUNvbmZpZzoKcGxhc21hLWRl
c2t0b3AoMjEzMSkva2RlY29yZSAoS0NvbmZpZ1NrZWxldG9uKSBLQ29yZUNvbmZpZ1NrZWxldG9u
Ojp3cml0ZUNvbmZpZzoKUVdpZGdldDo6c2V0TWluaW11bVNpemU6ICgvUGxhc21hOjpEaWFsb2cp
IE5lZ2F0aXZlIHNpemVzICgtMSwtMSkgYXJlIG5vdCBwb3NzaWJsZQpzeXN0ZW1zZXR0aW5ncygy
MzUyKS9rd2luIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246
IEdMIHZlbmRvciBpcyAiVHVuZ3N0ZW4gR3JhcGhpY3MsIEluYyIgCnN5c3RlbXNldHRpbmdzKDIz
NTIpL2t3aW4gS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbjog
R0wgcmVuZGVyZXIgaXMgIk1lc2EgRFJJIEludGVsKFIpIDkxNUcgR0VNIDIwMTAwMzI4IDIwMTBR
MSB4ODYvTU1YL1NTRTIiIApzeXN0ZW1zZXR0aW5ncygyMzUyKS9rd2luIEtXaW46OkNvbXBvc2l0
aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246IEdMIHZlcnNpb24gaXMgIjEuNCBNZXNh
IDcuOC4yIiAKc3lzdGVtc2V0dGluZ3MoMjM1Mikva3dpbiBLV2luOjpDb21wb3NpdGluZ1ByZWZz
OjpkZXRlY3REcml2ZXJBbmRWZXJzaW9uOiBEZXRlY3RlZCBkcml2ZXIgImludGVsIiAsIHZlcnNp
b24gIjIwMTAwMzI4IiAKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8p
IEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJrd2luNF9l
ZmZlY3Rfc2hlZXQiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBL
UGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZm
ZWN0X2dsaWRlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1Bs
dWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVj
dF9tb3VzZW1hcmsiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBL
UGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZm
ZWN0X3NsaWRpbmdwb3B1cHMiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5J
bmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dp
bjRfZWZmZWN0X21hZ2ljbGFtcCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdp
bkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJr
d2luNF9lZmZlY3RfYmx1ciIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbklu
Zm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2lu
NF9lZmZlY3Rfd29iYmx5d2luZG93cyIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1Bs
dWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3Ig
ICJrd2luNF9lZmZlY3RfZmFkZSIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdp
bkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJr
d2luNF9lZmZlY3RfZmFkZWRlc2t0b3AiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQ
bHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9y
ICAia3dpbjRfZWZmZWN0X3NoYWRvdyIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1Bs
dWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3Ig
ICJrd2luNF9lZmZlY3RfdGh1bWJuYWlsYXNpZGUiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNv
cmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZl
cnMgZm9yICAia3dpbjRfZWZmZWN0X3NsaWRlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3Jl
IChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJz
IGZvciAgImt3aW40X2VmZmVjdF9mYWxsYXBhcnQiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNv
cmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZl
cnMgZm9yICAia3dpbjRfZWZmZWN0X2xvZ2luIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3Jl
IChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJz
IGZvciAgImt3aW40X2VmZmVjdF9leHBsb3Npb24iCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNv
cmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZl
cnMgZm9yICAia3dpbjRfZWZmZWN0X3Rhc2tiYXJ0aHVtYm5haWwiCnN5c3RlbXNldHRpbmdzKDIz
NTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5k
ICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X2xvZ291dCIKc3lzdGVtc2V0dGluZ3MoMjM1
Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQg
IDAgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3Rfc2NhbGVpbiIKc3lzdGVtc2V0dGluZ3MoMjM1
Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQg
IDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfdHJhbnNsdWNlbmN5IgpzeXN0ZW1zZXR0aW5n
cygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBm
b3VuZCAgMCAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF9oaWdobGlnaHR3aW5kb3ciCnN5c3Rl
bXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2Vy
dmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X21pbmltaXplYW5pbWF0
aW9uIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbklu
Zm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF9pbnZl
cnQiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5m
bzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X2xvb2tp
bmdnbGFzcyIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVn
aW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3Rf
bWFnbmlmaWVyIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1Bs
dWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVj
dF9zaGFycGVuIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1Bs
dWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVj
dF9zbmFwaGVscGVyIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykg
S1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2Vm
ZmVjdF90cmFja21vdXNlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5m
bykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40
X2VmZmVjdF96b29tIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykg
S1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZvciAgImt3aW40X2Vm
ZmVjdF9kaWFsb2dwYXJlbnQiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5J
bmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dp
bjRfZWZmZWN0X2RpbWluYWN0aXZlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1
Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZvciAg
Imt3aW40X2VmZmVjdF9kaW1zY3JlZW4iCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQ
bHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9y
ICAia3dpbjRfZWZmZWN0X3NsaWRlYmFjayIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAo
S1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBm
b3IgICJrd2luNF9lZmZlY3RfYm94c3dpdGNoIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3Jl
IChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJz
IGZvciAgImt3aW40X2VmZmVjdF9jb3ZlcnN3aXRjaCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2Rl
Y29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9m
ZmVycyBmb3IgICJrd2luNF9lZmZlY3RfY3ViZSIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29y
ZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVy
cyBmb3IgICJrd2luNF9lZmZlY3RfY3ViZXNsaWRlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVj
b3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2Zm
ZXJzIGZvciAgImt3aW40X2VmZmVjdF9kZXNrdG9wZ3JpZCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikv
a2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEg
IG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfZmxpcHN3aXRjaCIKc3lzdGVtc2V0dGluZ3MoMjM1
Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQg
IDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfcHJlc2VudHdpbmRvd3MiCnN5c3RlbXNldHRp
bmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6
IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X3Jlc2l6ZSIKc3lzdGVtc2V0dGlu
Z3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczog
Zm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3Rfc25vdyIKc3lzdGVtc2V0dGluZ3Mo
MjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91
bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3Rfc2hvd2ZwcyIKc3lzdGVtc2V0dGluZ3Mo
MjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91
bmQgIDAgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3Rfc2hvd3BhaW50Igprd2luKDIwOTcpIEtX
aW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246IEdMIHZlbmRvciBp
cyAiVHVuZ3N0ZW4gR3JhcGhpY3MsIEluYyIgCmt3aW4oMjA5NykgS1dpbjo6Q29tcG9zaXRpbmdQ
cmVmczo6ZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbjogR0wgcmVuZGVyZXIgaXMgIk1lc2EgRFJJIElu
dGVsKFIpIDkxNUcgR0VNIDIwMTAwMzI4IDIwMTBRMSB4ODYvTU1YL1NTRTIiIAprd2luKDIwOTcp
IEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZlckFuZFZlcnNpb246IEdMIHZlcnNp
b24gaXMgIjEuNCBNZXNhIDcuOC4yIiAKa3dpbigyMDk3KSBLV2luOjpDb21wb3NpdGluZ1ByZWZz
OjpkZXRlY3REcml2ZXJBbmRWZXJzaW9uOiBEZXRlY3RlZCBkcml2ZXIgImludGVsIiAsIHZlcnNp
b24gIjIwMTAwMzI4IiAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRG
aWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRn
ZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50
TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxk
IG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0
aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRl
bURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRn
ZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVz
ZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0
ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6
OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxl
dGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUy
KSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRl
IHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lz
dGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dp
ZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3Jl
YXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50Rmls
dGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0
cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExp
c3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBu
b3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGlu
Z3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1E
ZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0
cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2Vy
IG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVk
IGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpl
dmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRl
IHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1Mikg
RXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBz
aG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3Rl
bXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRn
ZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0
ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRl
cjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMg
Y3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0
ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90
IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdz
KDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVs
ZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMh
IApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBv
ZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBi
eSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZl
bnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3
aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2
ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hv
dWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1z
ZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0
SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVX
aWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6
IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNy
ZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVu
ZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBk
ZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygy
MzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVn
YXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAK
c3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2Yg
S1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkg
Y3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50
RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lk
Z2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVu
dExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3Vs
ZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0
dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0
ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lk
Z2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBV
c2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVh
dGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVy
OjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVs
ZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1
MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0
ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5
c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtX
aWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNy
ZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZp
bHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdl
dHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRM
aXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQg
bm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRp
bmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVt
RGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdl
dHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNl
ciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRl
ZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6
ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0
ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIp
IEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUg
c2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0
ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lk
Z2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVh
dGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0
ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRz
IGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlz
dGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5v
dCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5n
cygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURl
bGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRz
ISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIg
b2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQg
YnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2
ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUg
d2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBF
dmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNo
b3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVt
c2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdl
dEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRl
V2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVy
OiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBj
cmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3Rl
bmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3Qg
ZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3Mo
MjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxl
Z2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEg
CnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9m
IEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5
IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVu
dEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdp
ZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZl
bnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91
bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNl
dHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJ
dGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdp
ZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjog
VXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3Jl
YXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5l
cjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRl
bGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIz
NTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdh
dGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApz
eXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBL
V2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBj
cmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRG
aWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRn
ZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50
TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxk
IG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0
aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRl
bURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRn
ZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVz
ZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0
ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6
OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxl
dGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUy
KSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRl
IHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lz
dGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dp
ZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3Jl
YXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50Rmls
dGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0
cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExp
c3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBu
b3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGlu
Z3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1E
ZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0
cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2Vy
IG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVk
IGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpl
dmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRl
IHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1Mikg
RXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBz
aG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3Rl
bXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRn
ZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0
ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRl
cjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMg
Y3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0
ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90
IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdz
KDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVs
ZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMh
IApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBv
ZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBi
eSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZl
bnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3
aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2
ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hv
dWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1z
ZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0
SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVX
aWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6
IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNy
ZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVu
ZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBk
ZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygy
MzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVn
YXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAK
c3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2Yg
S1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkg
Y3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50
RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lk
Z2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVu
dExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3Vs
ZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0
dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0
ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lk
Z2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBV
c2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVh
dGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVy
OjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVs
ZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1
MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0
ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5
c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtX
aWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNy
ZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZp
bHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdl
dHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRM
aXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQg
bm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRp
bmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVt
RGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdl
dHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNl
ciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRl
ZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6
ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0
ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIp
IEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUg
c2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0
ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lk
Z2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVh
dGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0
ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRz
IGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlz
dGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5v
dCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5n
cygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURl
bGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRz
ISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIg
b2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQg
YnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2
ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUg
d2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBF
dmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNo
b3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVt
c2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdl
dEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRl
V2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVy
OiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBj
cmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3Rl
bmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3Qg
ZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3Mo
MjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxl
Z2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEg
CnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9m
IEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5
IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVu
dEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdp
ZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZl
bnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91
bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNl
dHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJ
dGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdp
ZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjog
VXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3Jl
YXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5l
cjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRl
bGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIz
NTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdh
dGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApz
eXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBL
V2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBj
cmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRG
aWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRn
ZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50
TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxk
IG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0
aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRl
bURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRn
ZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVz
ZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0
ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6
OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxl
dGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUy
KSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRl
IHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lz
dGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dp
ZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3Jl
YXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50Rmls
dGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0
cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExp
c3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBu
b3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGlu
Z3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1E
ZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0
cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2Vy
IG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVk
IGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpl
dmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRl
IHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1Mikg
RXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBz
aG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3Rl
bXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRn
ZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0
ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRl
cjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMg
Y3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKQ291bGRuJ3QgZmluZCBub2RlIGNlbnRlci4gU2tp
cHBpbmcgcmVuZGVyaW5nLgpYIEVycm9yOiBCYWRXaW5kb3cgKGludmFsaWQgV2luZG93IHBhcmFt
ZXRlcikgMwogIE1ham9yIG9wY29kZTogMjAgKFhfR2V0UHJvcGVydHkpCiAgUmVzb3VyY2UgaWQ6
ICAweDFjMDAzNzAKWCBFcnJvcjogQmFkV2luZG93IChpbnZhbGlkIFdpbmRvdyBwYXJhbWV0ZXIp
IDMKICBNYWpvciBvcGNvZGU6IDIwIChYX0dldFByb3BlcnR5KQogIFJlc291cmNlIGlkOiAgMHgx
YzAwMzcwClggRXJyb3I6IEJhZFdpbmRvdyAoaW52YWxpZCBXaW5kb3cgcGFyYW1ldGVyKSAzCiAg
TWFqb3Igb3Bjb2RlOiAyMCAoWF9HZXRQcm9wZXJ0eSkKICBSZXNvdXJjZSBpZDogIDB4MWMwMDM3
MApRV2lkZ2V0OjpzZXRNaW5pbXVtU2l6ZTogKC9QbGFzbWE6OkRpYWxvZykgTmVnYXRpdmUgc2l6
ZXMgKC0xLC0xKSBhcmUgbm90IHBvc3NpYmxlCnN5c3RlbXNldHRpbmdzKDIzNTIpL2t3aW4gS1dp
bjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbjogR0wgdmVuZG9yIGlz
ICJUdW5nc3RlbiBHcmFwaGljcywgSW5jIiAKc3lzdGVtc2V0dGluZ3MoMjM1Mikva3dpbiBLV2lu
OjpDb21wb3NpdGluZ1ByZWZzOjpkZXRlY3REcml2ZXJBbmRWZXJzaW9uOiBHTCByZW5kZXJlciBp
cyAiTWVzYSBEUkkgSW50ZWwoUikgOTE1RyBHRU0gMjAxMDAzMjggMjAxMFExIHg4Ni9NTVgvU1NF
MiIgCnN5c3RlbXNldHRpbmdzKDIzNTIpL2t3aW4gS1dpbjo6Q29tcG9zaXRpbmdQcmVmczo6ZGV0
ZWN0RHJpdmVyQW5kVmVyc2lvbjogR0wgdmVyc2lvbiBpcyAiMS40IE1lc2EgNy44LjIiIApzeXN0
ZW1zZXR0aW5ncygyMzUyKS9rd2luIEtXaW46OkNvbXBvc2l0aW5nUHJlZnM6OmRldGVjdERyaXZl
ckFuZFZlcnNpb246IERldGVjdGVkIGRyaXZlciAiaW50ZWwiICwgdmVyc2lvbiAiMjAxMDAzMjgi
IApzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86
OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF9zaGVldCIK
c3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjpr
Y21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfZ2xpZGUiCnN5
c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2Nt
U2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X21vdXNlbWFyayIK
c3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjpr
Y21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3Rfc2xpZGluZ3Bv
cHVwcyIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5J
bmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfbWFn
aWNsYW1wIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdp
bkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF9i
bHVyIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbklu
Zm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF93b2Ji
bHl3aW5kb3dzIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1Bs
dWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVj
dF9mYWRlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdp
bkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF9m
YWRlZGVza3RvcCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQ
bHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZl
Y3Rfc2hhZG93IgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1Bs
dWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVj
dF90aHVtYm5haWxhc2lkZSIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbklu
Zm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJrd2lu
NF9lZmZlY3Rfc2xpZGUiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZv
KSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRf
ZWZmZWN0X2ZhbGxhcGFydCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbklu
Zm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJrd2lu
NF9lZmZlY3RfbG9naW4iCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZv
KSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRf
ZWZmZWN0X2V4cGxvc2lvbiIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbklu
Zm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJrd2lu
NF9lZmZlY3RfdGFza2JhcnRodW1ibmFpbCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAo
S1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBm
b3IgICJrd2luNF9lZmZlY3RfbG9nb3V0IgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChL
UGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJzIGZv
ciAgImt3aW40X2VmZmVjdF9zY2FsZWluIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChL
UGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZv
ciAgImt3aW40X2VmZmVjdF90cmFuc2x1Y2VuY3kiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNv
cmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZl
cnMgZm9yICAia3dpbjRfZWZmZWN0X2hpZ2hsaWdodHdpbmRvdyIKc3lzdGVtc2V0dGluZ3MoMjM1
Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQg
IDAgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfbWluaW1pemVhbmltYXRpb24iCnN5c3RlbXNl
dHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2NtU2Vydmlj
ZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X2ludmVydCIKc3lzdGVtc2V0
dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNl
czogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfbG9va2luZ2dsYXNzIgpzeXN0
ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNl
cnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2VmZmVjdF9tYWduaWZpZXIiCnN5
c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2Nt
U2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X3NoYXJwZW4iCnN5
c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6a2Nt
U2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X3NuYXBoZWxwZXIi
CnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6
a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X3RyYWNrbW91
c2UiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5m
bzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X3pvb20i
CnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1Z2luSW5mbzo6
a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0X2RpYWxvZ3Bh
cmVudCIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5J
bmZvOjprY21TZXJ2aWNlczogZm91bmQgIDEgIG9mZmVycyBmb3IgICJrd2luNF9lZmZlY3RfZGlt
aW5hY3RpdmUiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZvKSBLUGx1
Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAwICBvZmZlcnMgZm9yICAia3dpbjRfZWZmZWN0
X2RpbXNjcmVlbiIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2RlY29yZSAoS1BsdWdpbkluZm8pIEtQ
bHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9mZmVycyBmb3IgICJrd2luNF9lZmZl
Y3Rfc2xpZGViYWNrIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5mbykg
S1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40X2Vm
ZmVjdF9ib3hzd2l0Y2giCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5JbmZv
KSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dpbjRf
ZWZmZWN0X2NvdmVyc3dpdGNoIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2lu
SW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3
aW40X2VmZmVjdF9jdWJlIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1Z2luSW5m
bykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAgImt3aW40
X2VmZmVjdF9jdWJlc2xpZGUiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNvcmUgKEtQbHVnaW5J
bmZvKSBLUGx1Z2luSW5mbzo6a2NtU2VydmljZXM6IGZvdW5kICAxICBvZmZlcnMgZm9yICAia3dp
bjRfZWZmZWN0X2Rlc2t0b3BncmlkIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChLUGx1
Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZvciAg
Imt3aW40X2VmZmVjdF9mbGlwc3dpdGNoIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3JlIChL
UGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJzIGZv
ciAgImt3aW40X2VmZmVjdF9wcmVzZW50d2luZG93cyIKc3lzdGVtc2V0dGluZ3MoMjM1Mikva2Rl
Y29yZSAoS1BsdWdpbkluZm8pIEtQbHVnaW5JbmZvOjprY21TZXJ2aWNlczogZm91bmQgIDAgIG9m
ZmVycyBmb3IgICJrd2luNF9lZmZlY3RfcmVzaXplIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVj
b3JlIChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2Zm
ZXJzIGZvciAgImt3aW40X2VmZmVjdF9zbm93IgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3Jl
IChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMSAgb2ZmZXJz
IGZvciAgImt3aW40X2VmZmVjdF9zaG93ZnBzIgpzeXN0ZW1zZXR0aW5ncygyMzUyKS9rZGVjb3Jl
IChLUGx1Z2luSW5mbykgS1BsdWdpbkluZm86OmtjbVNlcnZpY2VzOiBmb3VuZCAgMCAgb2ZmZXJz
IGZvciAgImt3aW40X2VmZmVjdF9zaG93cGFpbnQiCnN5c3RlbXNldHRpbmdzKDIzNTIpL2tkZWNv
cmUgKEtDb25maWdTa2VsZXRvbikgS0NvcmVDb25maWdTa2VsZXRvbjo6d3JpdGVDb25maWc6CnN5
c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtX
aWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNy
ZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZp
bHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdl
dHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRM
aXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQg
bm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRp
bmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVt
RGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdl
dHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNl
ciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRl
ZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6
ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0
ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIp
IEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUg
c2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0
ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lk
Z2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVh
dGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0
ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRz
IGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlz
dGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5v
dCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5n
cygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURl
bGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRz
ISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIg
b2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQg
YnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2
ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUg
d2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBF
dmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNo
b3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVt
c2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdl
dEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRl
V2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVy
OiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBj
cmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3Rl
bmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3Qg
ZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3Mo
MjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxl
Z2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEg
CnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9m
IEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5
IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVu
dEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdp
ZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZl
bnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91
bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNl
dHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJ
dGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdp
ZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjog
VXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3Jl
YXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5l
cjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRl
bGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIz
NTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdh
dGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApz
eXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBL
V2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBj
cmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRG
aWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRn
ZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50
TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxk
IG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0
aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRl
bURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRn
ZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVz
ZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0
ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6
OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxl
dGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUy
KSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRl
IHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lz
dGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dp
ZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3Jl
YXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50Rmls
dGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0
cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExp
c3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBu
b3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGlu
Z3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1E
ZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0
cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2Vy
IG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVk
IGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpl
dmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRl
IHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1Mikg
RXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBz
aG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3Rl
bXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRn
ZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0
ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRl
cjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMg
Y3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0
ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90
IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdz
KDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVs
ZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMh
IApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBv
ZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBi
eSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZl
bnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3
aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2
ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hv
dWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1z
ZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0
SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVX
aWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6
IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNy
ZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVu
ZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBk
ZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygy
MzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVn
YXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAK
c3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2Yg
S1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkg
Y3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50
RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lk
Z2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVu
dExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3Vs
ZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0
dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0
ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lk
Z2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBV
c2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVh
dGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVy
OjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVs
ZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1
MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0
ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5
c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtX
aWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNy
ZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZp
bHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdl
dHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRM
aXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQg
bm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRp
bmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVt
RGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdl
dHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNl
ciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRl
ZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6
ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0
ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIp
IEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUg
c2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0
ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lk
Z2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVh
dGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0
ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRz
IGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlz
dGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5v
dCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5n
cygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURl
bGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRz
ISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIg
b2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQg
YnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2
ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUg
d2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBF
dmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNo
b3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVt
c2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdl
dEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRl
V2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVy
OiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBj
cmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3Rl
bmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3Qg
ZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3Mo
MjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxl
Z2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEg
CnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9m
IEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5
IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVu
dEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdp
ZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZl
bnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91
bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNl
dHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJ
dGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdp
ZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjog
VXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3Jl
YXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5l
cjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRl
bGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIz
NTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdh
dGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApz
eXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBL
V2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBj
cmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRG
aWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRn
ZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50
TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxk
IG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0
aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRl
bURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRn
ZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVz
ZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0
ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6
OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxl
dGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUy
KSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRl
IHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lz
dGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dp
ZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3Jl
YXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50Rmls
dGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0
cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExp
c3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBu
b3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGlu
Z3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1E
ZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0
cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2Vy
IG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVk
IGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpl
dmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRl
IHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1Mikg
RXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBz
aG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3Rl
bXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRn
ZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0
ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRl
cjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMg
Y3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0
ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90
IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdz
KDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVs
ZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMh
IApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBv
ZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBi
eSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZl
bnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3
aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2
ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hv
dWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1z
ZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0
SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVX
aWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6
IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNy
ZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVu
ZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBk
ZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygy
MzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVn
YXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAK
c3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2Yg
S1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkg
Y3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50
RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lk
Z2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVu
dExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3Vs
ZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0
dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0
ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lk
Z2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBV
c2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVh
dGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVy
OjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVs
ZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1
MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0
ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5
c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtX
aWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNy
ZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZp
bHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdl
dHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRM
aXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQg
bm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRp
bmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVt
RGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdl
dHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNl
ciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRl
ZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6
ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0
ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIp
IEV2ZW50TGlzdGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUg
c2hvdWxkIG5vdCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0
ZW1zZXR0aW5ncygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lk
Z2V0SXRlbURlbGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVh
dGVXaWRnZXRzISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0
ZXI6IFVzZXIgb2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRz
IGNyZWF0ZWQgYnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlz
dGVuZXI6OmV2ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5v
dCBkZWxldGUgd2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5n
cygyMzUyKSBFdmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURl
bGVnYXRlIHNob3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRz
ISAKc3lzdGVtc2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIg
b2YgS1dpZGdldEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQg
YnkgY3JlYXRlV2lkZ2V0cyEgCnN5c3RlbXNldHRpbmdzKDIzNTIpIEV2ZW50TGlzdGVuZXI6OmV2
ZW50RmlsdGVyOiBVc2VyIG9mIEtXaWRnZXRJdGVtRGVsZWdhdGUgc2hvdWxkIG5vdCBkZWxldGUg
d2lkZ2V0cyBjcmVhdGVkIGJ5IGNyZWF0ZVdpZGdldHMhIApzeXN0ZW1zZXR0aW5ncygyMzUyKSBF
dmVudExpc3RlbmVyOjpldmVudEZpbHRlcjogVXNlciBvZiBLV2lkZ2V0SXRlbURlbGVnYXRlIHNo
b3VsZCBub3QgZGVsZXRlIHdpZGdldHMgY3JlYXRlZCBieSBjcmVhdGVXaWRnZXRzISAKc3lzdGVt
c2V0dGluZ3MoMjM1MikgRXZlbnRMaXN0ZW5lcjo6ZXZlbnRGaWx0ZXI6IFVzZXIgb2YgS1dpZGdl
dEl0ZW1EZWxlZ2F0ZSBzaG91bGQgbm90IGRlbGV0ZSB3aWRnZXRzIGNyZWF0ZWQgYnkgY3JlYXRl
V2lkZ2V0cyEgCkNvdWxkbid0IGZpbmQgbm9kZSBjZW50ZXIuIFNraXBwaW5nIHJlbmRlcmluZy4K
Q291bGRuJ3QgZmluZCBub2RlIGNlbnRlci4gU2tpcHBpbmcgcmVuZGVyaW5nLgpsaW5rIFhNTElE
XzM0XyBoYXNuJ3QgYmVlbiBkZXRlY3RlZCEKbGluayBYTUxJRF8zNF8gaGFzbid0IGJlZW4gZGV0
ZWN0ZWQhCmxpbmsgWE1MSURfMzZfIGhhc24ndCBiZWVuIGRldGVjdGVkIQpRRm9udDo6c2V0UG9p
bnRTaXplOiBQb2ludCBzaXplIDw9IDAgKDApLCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwClFGb250
OjpzZXRQb2ludFNpemU6IFBvaW50IHNpemUgPD0gMCAoMCksIG11c3QgYmUgZ3JlYXRlciB0aGFu
IDAKUUZvbnQ6OnNldFBvaW50U2l6ZTogUG9pbnQgc2l6ZSA8PSAwICgwKSwgbXVzdCBiZSBncmVh
dGVyIHRoYW4gMApRRm9udDo6c2V0UG9pbnRTaXplOiBQb2ludCBzaXplIDw9IDAgKDApLCBtdXN0
IGJlIGdyZWF0ZXIgdGhhbiAwClggRXJyb3I6IEJhZEFjY2VzcyAoYXR0ZW1wdCB0byBhY2Nlc3Mg
cHJpdmF0ZSByZXNvdXJjZSBkZW5pZWQpIDEwCiAgTWFqb3Igb3Bjb2RlOiAyIChYX0NoYW5nZVdp
bmRvd0F0dHJpYnV0ZXMpCiAgUmVzb3VyY2UgaWQ6ICAweDNjMDAwMjEK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51344</attachid>
            <date>2010-09-05 17:58:00 +0000</date>
            <delta_ts>2010-09-05 17:58:00 +0000</delta_ts>
            <desc>Patch to fix the freezes in combination with reverting rev 1137668</desc>
            <filename>direct.diff</filename>
            <type>text/plain</type>
            <size>2647</size>
            <attacher name="Martin Flöser">mgraesslin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2xpYi9rd2luZ2x1dGlscy5jcHAgYi9saWIva3dpbmdsdXRpbHMuY3BwCmlu
ZGV4IDY3NjAyMDEuLmUzNWZlNzggMTAwNjQ0Ci0tLSBhL2xpYi9rd2luZ2x1dGlscy5jcHAKKysr
IGIvbGliL2t3aW5nbHV0aWxzLmNwcApAQCAtNDksNiArNDksNyBAQCBzdGF0aWMgaW50IGdsWFZl
cnNpb247CiAvLyBMaXN0IG9mIGFsbCBzdXBwb3J0ZWQgR0wgYW5kIEdMWCBleHRlbnNpb25zCiBz
dGF0aWMgUVN0cmluZ0xpc3QgZ2xFeHRlbnNpb25zOwogc3RhdGljIFFTdHJpbmdMaXN0IGdseEV4
dGVuc2lvbnM7CitzdGF0aWMgYm9vbCBnbERpcmVjdCA9IGZhbHNlOwogCiBpbnQgZ2xUZXh0dXJl
VW5pdHNDb3VudDsKIApAQCAtNjcsNyArNjgsNyBAQCB2b2lkIGluaXRHTFgoKQogICAgIGdseFJl
c29sdmVGdW5jdGlvbnMoKTsKICAgICB9CiAKLXZvaWQgaW5pdEdMKCkKK3ZvaWQgaW5pdEdMKEdM
WENvbnRleHQgY3R4KQogICAgIHsKICAgICAvLyBHZXQgT3BlbkdMIHZlcnNpb24KICAgICBRU3Ry
aW5nIGdsdmVyc2lvbnN0cmluZyA9IFFTdHJpbmcoKGNvbnN0IGNoYXIqKWdsR2V0U3RyaW5nKEdM
X1ZFUlNJT04pKTsKQEAgLTgwLDYgKzgxLDggQEAgdm9pZCBpbml0R0woKQogICAgIC8vIGhhbmRs
ZSBPcGVuR0wgZXh0ZW5zaW9ucyBmdW5jdGlvbnMKICAgICBnbFJlc29sdmVGdW5jdGlvbnMoKTsK
IAorICAgIGdsRGlyZWN0ID0gZ2xYSXNEaXJlY3QoIGRpc3BsYXkoKSwgY3R4ICk7CisKICAgICBH
TFRleHR1cmU6OmluaXRTdGF0aWMoKTsKICAgICBHTFNoYWRlcjo6aW5pdFN0YXRpYygpOwogICAg
IEdMUmVuZGVyVGFyZ2V0Ojppbml0U3RhdGljKCk7CkBAIC02NzQsNyArNjc3LDcgQEAgYm9vbCBH
TFNoYWRlcjo6bVZlcnRleFNoYWRlclN1cHBvcnRlZCA9IGZhbHNlOwogdm9pZCBHTFNoYWRlcjo6
aW5pdFN0YXRpYygpCiB7CiAgICAgbUZyYWdtZW50U2hhZGVyU3VwcG9ydGVkID0gbVZlcnRleFNo
YWRlclN1cHBvcnRlZCA9Ci0gICAgICAgICAgICBoYXNHTEV4dGVuc2lvbigiR0xfQVJCX3NoYWRl
cl9vYmplY3RzIikgJiYgaGFzR0xFeHRlbnNpb24oIkdMX0FSQl9zaGFkaW5nX2xhbmd1YWdlXzEw
MCIpOworICAgICAgICAgICAgaGFzR0xFeHRlbnNpb24oIkdMX0FSQl9zaGFkZXJfb2JqZWN0cyIp
ICYmIGhhc0dMRXh0ZW5zaW9uKCJHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV8xMDAiKSAmJiBnbERp
cmVjdDsKICAgICBtVmVydGV4U2hhZGVyU3VwcG9ydGVkICY9IGhhc0dMRXh0ZW5zaW9uKCJHTF9B
UkJfdmVydGV4X3NoYWRlciIpOwogICAgIG1GcmFnbWVudFNoYWRlclN1cHBvcnRlZCAmPSBoYXNH
TEV4dGVuc2lvbigiR0xfQVJCX2ZyYWdtZW50X3NoYWRlciIpOwogfQpAQCAtOTA0LDcgKzkwNyw3
IEBAIGJvb2wgR0xSZW5kZXJUYXJnZXQ6Om1TdXBwb3J0ZWQgPSBmYWxzZTsKIAogdm9pZCBHTFJl
bmRlclRhcmdldDo6aW5pdFN0YXRpYygpCiAgICAgewotICAgIG1TdXBwb3J0ZWQgPSBoYXNHTEV4
dGVuc2lvbigiR0xfRVhUX2ZyYW1lYnVmZmVyX29iamVjdCIpICYmIGdsRnJhbWVidWZmZXJUZXh0
dXJlMkQ7CisgICAgbVN1cHBvcnRlZCA9IGhhc0dMRXh0ZW5zaW9uKCJHTF9FWFRfZnJhbWVidWZm
ZXJfb2JqZWN0IikgJiYgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRCAmJiBnbERpcmVjdDsKICAgICB9
CiAKIEdMUmVuZGVyVGFyZ2V0OjpHTFJlbmRlclRhcmdldChHTFRleHR1cmUqIGNvbG9yKQpkaWZm
IC0tZ2l0IGEvbGliL2t3aW5nbHV0aWxzLmggYi9saWIva3dpbmdsdXRpbHMuaAppbmRleCA2MDIy
YmRjLi45MjI5ZmYxIDEwMDY0NAotLS0gYS9saWIva3dpbmdsdXRpbHMuaAorKysgYi9saWIva3dp
bmdsdXRpbHMuaApAQCAtNTMsNyArNTMsNyBAQCB2b2lkIEtXSU5fRVhQT1JUIGluaXRHTFgoKTsK
IC8vIEluaXRpYWxpemVzIE9wZW5HTCBzdHVmZi4gVGhpcyBpbmNsdWRlcyByZXNvbHZpbmcgZnVu
Y3Rpb24gcG9pbnRlcnMgYXMKIC8vICB3ZWxsIGFzIGNoZWNraW5nIGZvciBHTCB2ZXJzaW9uIGFu
ZCBleHRlbnNpb25zCiAvLyAgTm90ZSB0aGF0IEdMIGNvbnRleHQgaGFzIHRvIGJlIGNyZWF0ZWQg
YnkgdGhlIHRpbWUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQKLXZvaWQgS1dJTl9FWFBPUlQgaW5p
dEdMKCk7Cit2b2lkIEtXSU5fRVhQT1JUIGluaXRHTChHTFhDb250ZXh0IGN0eCk7CiAKIAogLy8g
TnVtYmVyIG9mIHN1cHBvcnRlZCB0ZXh0dXJlIHVuaXRzCmRpZmYgLS1naXQgYS9zY2VuZV9vcGVu
Z2wuY3BwIGIvc2NlbmVfb3BlbmdsLmNwcAppbmRleCA2ODBkODk4Li5kOWI5MTEyIDEwMDY0NAot
LS0gYS9zY2VuZV9vcGVuZ2wuY3BwCisrKyBiL3NjZW5lX29wZW5nbC5jcHAKQEAgLTE0MCw3ICsx
NDAsNyBAQCBTY2VuZU9wZW5HTDo6U2NlbmVPcGVuR0woIFdvcmtzcGFjZSogd3MgKQogICAgIGlm
KCAhaW5pdFJlbmRlcmluZ0NvbnRleHQoKSkKICAgICAgICAgcmV0dXJuOyAvLyBlcnJvcgogICAg
IC8vIEluaXRpYWxpemUgT3BlbkdMCi0gICAgaW5pdEdMKCk7CisgICAgaW5pdEdMKCBjdHhidWZm
ZXIgKTsKICAgICBpZiggIWhhc0dMRXh0ZW5zaW9uKCAiR0xfQVJCX3RleHR1cmVfbm9uX3Bvd2Vy
X29mX3R3byIgKQogICAgICAgICAmJiAhaGFzR0xFeHRlbnNpb24oICJHTF9BUkJfdGV4dHVyZV9y
ZWN0YW5nbGUiICkpCiAgICAgICAgIHsKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51510</attachid>
            <date>2010-09-10 11:38:51 +0000</date>
            <delta_ts>2010-09-10 11:59:40 +0000</delta_ts>
            <desc>241402 patch</desc>
            <filename>/home/kdebase-workspace-4.5.1-compositingprefs_detect.patch</filename>
            <type>text/plain</type>
            <size>3619</size>
            <attacher name="John Stanley">jpsinthemix</attacher>
            
              <data encoding="base64">aHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTI0MTQwMgoKQ29tbWVudCAjNjIg
ZnJvbSBNYXJ0aW4gR3Lk32xpbiA8a2RlIG1hcnRpbi1ncmFlc3NsaW4gY29tPiAgMjAxMC0wOS0w
NSAxNzo1ODowMCAtLS0KQ3JlYXRlZCBhbiBhdHRhY2htZW50IChpZD01MTM0NCkKIC0tPiAoaHR0
cDovL2J1Z3Mua2RlLm9yZy9hdHRhY2htZW50LmNnaT9pZD01MTM0NCkKUGF0Y2ggdG8gZml4IHRo
ZSBmcmVlemVzIGluIGNvbWJpbmF0aW9uIHdpdGggcmV2ZXJ0aW5nIHJldiAxMTM3NjY4CgpUaGlz
IGlzIGEgcGF0Y2ggdG8gc29sdmUgYWxsIHRoZSBpc3N1ZXMgd2Ugc2VlIHdpdGggdGhlIEludGVs
IGRyaXZlcnMgd2hlbgppbmRpcmVjdCByZW5kZXJpbmcgaXMgZW5hYmxlZC4gQXMgSSBkbyBub3Qg
aGF2ZSBpbnRlbCBoYXJkd2FyZSB0aGUgcGF0Y2ggaXMKdW50ZXN0ZWQuCgpUaGUgcGF0Y2ggc2hv
dWxkIGdvIHRvZ2V0aGVyIHdpdGggcmV2ZXJ0aW5nIHN2biByZXYgMTEzNzY2OC4gSXQgd291bGQg
YmUgbmljZQppZiBzb21lb25lIGNvdWxkIHRyeSB0aGlzIGNvbWJpbmF0aW9ucyBhbmQgaGF2ZSBh
IGxvb2sgZm9yIHRoZSBmb2xsb3dpbmcKaXNzdWVzOgoqIGFyZSBlZmZlY3RzIGVuYWJsZWQgb24g
a3dpbiBzdGFydHVwIGlmIHRoZSBzZWxmY2hlY2sgaXMgZW5hYmxlZCAoZXhwZWN0ZWQKYmVoYXZp
b3VyOiBicmVha3Mgd2l0aG91dCBwYXRjaCwgd29ya3Mgd2l0aCBwYXRjaCkKKiBkb2VzIHRoZSBk
ZXNrdG9wIGZyZWV6ZSB3aGVuIGNoYW5naW5nIHNldHRpbmdzIChleHBlY3RlZCBiZWhhdmlvdXI6
IG5vIGZyZWV6ZQp3aXRoIHRoZSBwYXRjaCkKKiBkb2VzIGJsdXIgYW5kIGxhbmN6b3MgZ2V0IGVu
YWJsZWQgd2l0aG91dCBiZWluZyBvbiB0aGUgYmxhY2tsaXN0IChleHBlY3RlZApiZWhhdmlvdXI6
IGFyZSBub3QgZW5hYmxlZCkKKiBpcyB0aGUgZGlyZWN0IHJlbmRlcmluZyBvcHRpb24gaG9ub3Vy
ZWQKCmRpZmYgLS1naXQgYS9saWIva3dpbmdsdXRpbHMuY3BwIGIvbGliL2t3aW5nbHV0aWxzLmNw
cAppbmRleCA2NzYwMjAxLi5lMzVmZTc4IDEwMDY0NAotLS0gYS9saWIva3dpbmdsdXRpbHMuY3Bw
CisrKyBiL2xpYi9rd2luZ2x1dGlscy5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAgc3RhdGljIGludCBn
bFhWZXJzaW9uOwogLy8gTGlzdCBvZiBhbGwgc3VwcG9ydGVkIEdMIGFuZCBHTFggZXh0ZW5zaW9u
cwogc3RhdGljIFFTdHJpbmdMaXN0IGdsRXh0ZW5zaW9uczsKIHN0YXRpYyBRU3RyaW5nTGlzdCBn
bHhFeHRlbnNpb25zOworc3RhdGljIGJvb2wgZ2xEaXJlY3QgPSBmYWxzZTsKIAogaW50IGdsVGV4
dHVyZVVuaXRzQ291bnQ7CiAKQEAgLTY3LDcgKzY4LDcgQEAgdm9pZCBpbml0R0xYKCkKICAgICBn
bHhSZXNvbHZlRnVuY3Rpb25zKCk7CiAgICAgfQogCi12b2lkIGluaXRHTCgpCit2b2lkIGluaXRH
TChHTFhDb250ZXh0IGN0eCkKICAgICB7CiAgICAgLy8gR2V0IE9wZW5HTCB2ZXJzaW9uCiAgICAg
UVN0cmluZyBnbHZlcnNpb25zdHJpbmcgPSBRU3RyaW5nKChjb25zdCBjaGFyKilnbEdldFN0cmlu
ZyhHTF9WRVJTSU9OKSk7CkBAIC04MCw2ICs4MSw4IEBAIHZvaWQgaW5pdEdMKCkKICAgICAvLyBo
YW5kbGUgT3BlbkdMIGV4dGVuc2lvbnMgZnVuY3Rpb25zCiAgICAgZ2xSZXNvbHZlRnVuY3Rpb25z
KCk7CiAKKyAgICBnbERpcmVjdCA9IGdsWElzRGlyZWN0KCBkaXNwbGF5KCksIGN0eCApOworCiAg
ICAgR0xUZXh0dXJlOjppbml0U3RhdGljKCk7CiAgICAgR0xTaGFkZXI6OmluaXRTdGF0aWMoKTsK
ICAgICBHTFJlbmRlclRhcmdldDo6aW5pdFN0YXRpYygpOwpAQCAtNjc0LDcgKzY3Nyw3IEBAIGJv
b2wgR0xTaGFkZXI6Om1WZXJ0ZXhTaGFkZXJTdXBwb3J0ZWQgPSBmYWxzZTsKIHZvaWQgR0xTaGFk
ZXI6OmluaXRTdGF0aWMoKQogewogICAgIG1GcmFnbWVudFNoYWRlclN1cHBvcnRlZCA9IG1WZXJ0
ZXhTaGFkZXJTdXBwb3J0ZWQgPQotICAgICAgICAgICAgaGFzR0xFeHRlbnNpb24oIkdMX0FSQl9z
aGFkZXJfb2JqZWN0cyIpICYmIGhhc0dMRXh0ZW5zaW9uKCJHTF9BUkJfc2hhZGluZ19sYW5ndWFn
ZV8xMDAiKTsKKyAgICAgICAgICAgIGhhc0dMRXh0ZW5zaW9uKCJHTF9BUkJfc2hhZGVyX29iamVj
dHMiKSAmJiBoYXNHTEV4dGVuc2lvbigiR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfMTAwIikgJiYg
Z2xEaXJlY3Q7CiAgICAgbVZlcnRleFNoYWRlclN1cHBvcnRlZCAmPSBoYXNHTEV4dGVuc2lvbigi
R0xfQVJCX3ZlcnRleF9zaGFkZXIiKTsKICAgICBtRnJhZ21lbnRTaGFkZXJTdXBwb3J0ZWQgJj0g
aGFzR0xFeHRlbnNpb24oIkdMX0FSQl9mcmFnbWVudF9zaGFkZXIiKTsKIH0KQEAgLTkwNCw3ICs5
MDcsNyBAQCBib29sIEdMUmVuZGVyVGFyZ2V0OjptU3VwcG9ydGVkID0gZmFsc2U7CiAKIHZvaWQg
R0xSZW5kZXJUYXJnZXQ6OmluaXRTdGF0aWMoKQogICAgIHsKLSAgICBtU3VwcG9ydGVkID0gaGFz
R0xFeHRlbnNpb24oIkdMX0VYVF9mcmFtZWJ1ZmZlcl9vYmplY3QiKSAmJiBnbEZyYW1lYnVmZmVy
VGV4dHVyZTJEOworICAgIG1TdXBwb3J0ZWQgPSBoYXNHTEV4dGVuc2lvbigiR0xfRVhUX2ZyYW1l
YnVmZmVyX29iamVjdCIpICYmIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQgJiYgZ2xEaXJlY3Q7CiAg
ICAgfQogCiBHTFJlbmRlclRhcmdldDo6R0xSZW5kZXJUYXJnZXQoR0xUZXh0dXJlKiBjb2xvcikK
ZGlmZiAtLWdpdCBhL2xpYi9rd2luZ2x1dGlscy5oIGIvbGliL2t3aW5nbHV0aWxzLmgKaW5kZXgg
NjAyMmJkYy4uOTIyOWZmMSAxMDA2NDQKLS0tIGEvbGliL2t3aW5nbHV0aWxzLmgKKysrIGIvbGli
L2t3aW5nbHV0aWxzLmgKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBLV0lOX0VYUE9SVCBpbml0R0xY
KCk7CiAvLyBJbml0aWFsaXplcyBPcGVuR0wgc3R1ZmYuIFRoaXMgaW5jbHVkZXMgcmVzb2x2aW5n
IGZ1bmN0aW9uIHBvaW50ZXJzIGFzCiAvLyAgd2VsbCBhcyBjaGVja2luZyBmb3IgR0wgdmVyc2lv
biBhbmQgZXh0ZW5zaW9ucwogLy8gIE5vdGUgdGhhdCBHTCBjb250ZXh0IGhhcyB0byBiZSBjcmVh
dGVkIGJ5IHRoZSB0aW1lIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkCi12b2lkIEtXSU5fRVhQT1JU
IGluaXRHTCgpOwordm9pZCBLV0lOX0VYUE9SVCBpbml0R0woR0xYQ29udGV4dCBjdHgpOwogCiAK
IC8vIE51bWJlciBvZiBzdXBwb3J0ZWQgdGV4dHVyZSB1bml0cwpkaWZmIC0tZ2l0IGEvc2NlbmVf
b3BlbmdsLmNwcCBiL3NjZW5lX29wZW5nbC5jcHAKaW5kZXggNjgwZDg5OC4uZDliOTExMiAxMDA2
NDQKLS0tIGEvc2NlbmVfb3BlbmdsLmNwcAorKysgYi9zY2VuZV9vcGVuZ2wuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgU2NlbmVPcGVuR0w6OlNjZW5lT3BlbkdMKCBXb3Jrc3BhY2UqIHdzICkKICAg
ICBpZiggIWluaXRSZW5kZXJpbmdDb250ZXh0KCkpCiAgICAgICAgIHJldHVybjsgLy8gZXJyb3IK
ICAgICAvLyBJbml0aWFsaXplIE9wZW5HTAotICAgIGluaXRHTCgpOworICAgIGluaXRHTCggY3R4
YnVmZmVyICk7CiAgICAgaWYoICFoYXNHTEV4dGVuc2lvbiggIkdMX0FSQl90ZXh0dXJlX25vbl9w
b3dlcl9vZl90d28iICkKICAgICAgICAgJiYgIWhhc0dMRXh0ZW5zaW9uKCAiR0xfQVJCX3RleHR1
cmVfcmVjdGFuZ2xlIiApKQogICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51511</attachid>
            <date>2010-09-10 11:59:40 +0000</date>
            <delta_ts>2010-09-10 11:59:40 +0000</delta_ts>
            <desc>kdebase-workspace-4.5.1-compositingprefs_detect.patch</desc>
            <filename>kdebase-workspace-4.5.1-compositingprefs_detect.patch</filename>
            <type>text/plain</type>
            <size>4286</size>
            <attacher name="John Stanley">jpsinthemix</attacher>
            
              <data encoding="base64">LS0tIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm9sZC9rd2luL2NvbXBvc2l0aW5ncHJlZnMuaAky
MDEwLTAxLTI2IDE5OjIyOjI2LjAwMDAwMDAwMCAtMDUwMAorKysga2RlYmFzZS13b3Jrc3BhY2Ut
NC41LjEubmV3L2t3aW4vY29tcG9zaXRpbmdwcmVmcy5oCTIwMTAtMDktMTAgMDQ6NTU6MjcuMDYx
MDAwMDM2IC0wNDAwCkBAIC05Miw2ICs5Miw5IEBACiAjaWZkZWYgS1dJTl9IQVZFX09QRU5HTF9D
T01QT1NJVElORwogICAgIEdMWENvbnRleHQgbUdMQ29udGV4dDsKICAgICBXaW5kb3cgbUdMV2lu
ZG93OworICAgIFhWaXN1YWxJbmZvICptVmlzaW5mbzsKKyAgICBDb2xvcm1hcCBtQ29sb3JtYXA7
CisgICAgRGlzcGxheSAqbURweTsKICNlbmRpZgogfTsKIAotLS0ga2RlYmFzZS13b3Jrc3BhY2Ut
NC41LjEub2xkL2t3aW4vY29tcG9zaXRpbmdwcmVmcy5jcHAJMjAxMC0wNi0yNCAxMjoyODoxOC4w
MDAwMDAwMDAgLTA0MDAKKysrIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm5ldy9rd2luL2NvbXBv
c2l0aW5ncHJlZnMuY3BwCTIwMTAtMDktMTAgMDQ6NTU6MzQuODQ0MDAwMDAzIC0wNDAwCkBAIC0x
NjYsNiArMTY2LDExIEBACiB7CiAjaWZkZWYgS1dJTl9IQVZFX09QRU5HTF9DT01QT1NJVElORwog
ICAgIG1HTENvbnRleHQgPSBOVUxMOworICAgIG1EcHkgICAgICAgPSBOVUxMOworICAgIG1WaXNp
bmZvICAgPSBOVUxMOworICAgIG1HTFdpbmRvdyAgPSAwOworICAgIG1Db2xvcm1hcCAgPSAwOwor
CiAgICAgS1hFcnJvckhhbmRsZXIgaGFuZGxlcjsKICAgICAvLyBNb3N0IG9mIHRoaXMgY29kZSBo
YXMgYmVlbiB0YWtlbiBmcm9tIGdseGluZm8uYwogICAgIFFWZWN0b3I8aW50PiBhdHRyaWJzOwpA
QCAtMTc1LDM5ICsxODAsNDQgQEAKICAgICBhdHRyaWJzIDw8IEdMWF9CTFVFX1NJWkUgPDwgMTsK
ICAgICBhdHRyaWJzIDw8IE5vbmU7CiAKLSAgICBYVmlzdWFsSW5mbyogdmlzaW5mbyA9IGdsWENo
b29zZVZpc3VhbCggZGlzcGxheSgpLCBEZWZhdWx0U2NyZWVuKCBkaXNwbGF5KCkpLCBhdHRyaWJz
LmRhdGEoKSApOwotICAgIGlmKCAhdmlzaW5mbyApCisgICAgbURweSA9IFhPcGVuRGlzcGxheSgw
KTsKKyAgICBpZiAoICFtRHB5ICkKKyAgICAgICAgIHsKKyAgICAgICAgIGtEZWJ1ZyggMTIxMiAp
IDw8ICJFcnJvcjogWE9wZW5EaXNwbGF5KDApIGZhaWxlZCI7CisgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICB9CisgICAgbVZpc2luZm8gPSBnbFhDaG9vc2VWaXN1YWwoIG1EcHksIERl
ZmF1bHRTY3JlZW4oIG1EcHkgKSwgYXR0cmlicy5kYXRhKCkgKTsKKyAgICBpZiggIW1WaXNpbmZv
ICkKICAgICAgICAgewogICAgICAgICBhdHRyaWJzLmxhc3QoKSA9IEdMWF9ET1VCTEVCVUZGRVI7
CiAgICAgICAgIGF0dHJpYnMgPDwgTm9uZTsKLSAgICAgICAgdmlzaW5mbyA9IGdsWENob29zZVZp
c3VhbCggZGlzcGxheSgpLCBEZWZhdWx0U2NyZWVuKCBkaXNwbGF5KCkpLCBhdHRyaWJzLmRhdGEo
KSApOwotICAgICAgICBpZiAoIXZpc2luZm8pCisgICAgICAgIG1WaXNpbmZvID0gZ2xYQ2hvb3Nl
VmlzdWFsKCBtRHB5LCBEZWZhdWx0U2NyZWVuKCBtRHB5ICksIGF0dHJpYnMuZGF0YSgpICk7Cisg
ICAgICAgIGlmKCAhbVZpc2luZm8gKQogICAgICAgICAgICAgewogICAgICAgICAgICAga0RlYnVn
KCAxMjEyICkgPDwgIkVycm9yOiBjb3VsZG4ndCBmaW5kIFJHQiBHTFggdmlzdWFsIjsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgbUdM
Q29udGV4dCA9IGdsWENyZWF0ZUNvbnRleHQoIGRpc3BsYXkoKSwgdmlzaW5mbywgTlVMTCwgVHJ1
ZSApOwotICAgIGlmICggIW1HTENvbnRleHQgKQotICAgIHsKKyAgICBtR0xDb250ZXh0ID0gZ2xY
Q3JlYXRlQ29udGV4dCggbURweSwgbVZpc2luZm8sIE5VTEwsIFRydWUgKTsKKyAgICBpZiggIW1H
TENvbnRleHQgKQorICAgICAgICB7CiAgICAgICAgIGtEZWJ1ZyggMTIxMiApIDw8ICJnbFhDcmVh
dGVDb250ZXh0IGZhaWxlZCI7Ci0gICAgICAgIFhEZXN0cm95V2luZG93KCBkaXNwbGF5KCksIG1H
TFdpbmRvdyApOwogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQorICAgICAgICB9CiAKICAg
ICBYU2V0V2luZG93QXR0cmlidXRlcyBhdHRyOwogICAgIGF0dHIuYmFja2dyb3VuZF9waXhlbCA9
IDA7CiAgICAgYXR0ci5ib3JkZXJfcGl4ZWwgPSAwOwotICAgIGF0dHIuY29sb3JtYXAgPSBYQ3Jl
YXRlQ29sb3JtYXAoIGRpc3BsYXkoKSwgcm9vdFdpbmRvdygpLCB2aXNpbmZvLT52aXN1YWwsIEFs
bG9jTm9uZSApOworICAgIG1Db2xvcm1hcCA9IFhDcmVhdGVDb2xvcm1hcCggbURweSwgUm9vdFdp
bmRvdyggbURweSwgbVZpc2luZm8tPnNjcmVlbiApLCBtVmlzaW5mby0+dmlzdWFsLCBBbGxvY05v
bmUgKTsKKyAgICBhdHRyLmNvbG9ybWFwID0gbUNvbG9ybWFwOwogICAgIGF0dHIuZXZlbnRfbWFz
ayA9IFN0cnVjdHVyZU5vdGlmeU1hc2sgfCBFeHBvc3VyZU1hc2s7CiAgICAgdW5zaWduZWQgbG9u
ZyBtYXNrID0gQ1dCYWNrUGl4ZWwgfCBDV0JvcmRlclBpeGVsIHwgQ1dDb2xvcm1hcCB8IENXRXZl
bnRNYXNrOwogICAgIGludCB3aWR0aCA9IDEwMCwgaGVpZ2h0ID0gMTAwOwotICAgIG1HTFdpbmRv
dyA9IFhDcmVhdGVXaW5kb3coIGRpc3BsYXkoKSwgcm9vdFdpbmRvdygpLCAwLCAwLCB3aWR0aCwg
aGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAwLCB2aXNpbmZvLT5kZXB0aCwgSW5wdXRP
dXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIHZpc2luZm8tPnZpc3VhbCwgbWFzaywgJmF0
dHIgKTsKKyAgICBtR0xXaW5kb3cgPSBYQ3JlYXRlV2luZG93KCBtRHB5LCBSb290V2luZG93KCBt
RHB5LCBtVmlzaW5mby0+c2NyZWVuICksIDAsIDAsIHdpZHRoLCBoZWlnaHQsCisgICAgICAgICAg
ICAgICAgICAgICAgIDAsIG1WaXNpbmZvLT5kZXB0aCwgSW5wdXRPdXRwdXQsIG1WaXNpbmZvLT52
aXN1YWwsIG1hc2ssICZhdHRyICk7CiAKLSAgICByZXR1cm4gZ2xYTWFrZUN1cnJlbnQoIGRpc3Bs
YXkoKSwgbUdMV2luZG93LCBtR0xDb250ZXh0ICkgJiYgIWhhbmRsZXIuZXJyb3IoIHRydWUgKTsK
KyAgICByZXR1cm4gZ2xYTWFrZUN1cnJlbnQoIG1EcHksIG1HTFdpbmRvdywgbUdMQ29udGV4dCAp
ICYmICFoYW5kbGVyLmVycm9yKCB0cnVlICk7CiAjZWxzZQogICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCkBAIC0yMTYsMTAgKzIyNiwzMSBAQAogdm9pZCBDb21wb3NpdGluZ1ByZWZzOjpkZWxldGVH
TFhDb250ZXh0KCkKIHsKICNpZmRlZiBLV0lOX0hBVkVfT1BFTkdMX0NPTVBPU0lUSU5HCi0gICAg
aWYoIG1HTENvbnRleHQgPT0gTlVMTCApCi0gICAgICAgIHJldHVybjsKLSAgICBnbFhEZXN0cm95
Q29udGV4dCggZGlzcGxheSgpLCBtR0xDb250ZXh0ICk7Ci0gICAgWERlc3Ryb3lXaW5kb3coIGRp
c3BsYXkoKSwgbUdMV2luZG93ICk7CisgICAgaWYoIG1EcHkgIT0gTlVMTCApCisgICAgICAgIHsK
KyAgICAgICAgaWYoIG1HTFdpbmRvdyAhPSAwICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
IFhEZXN0cm95V2luZG93KCBtRHB5LCBtR0xXaW5kb3cgKTsKKyAgICAgICAgICAgIG1HTFdpbmRv
dyA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgIGlmKCBtR0xDb250ZXh0ICE9IE5VTEwgKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgZ2xYRGVzdHJveUNvbnRleHQoIG1EcHksIG1HTENv
bnRleHQgKTsKKyAgICAgICAgICAgIG1HTENvbnRleHQgPSBOVUxMOworICAgICAgICAgICAgfQor
ICAgICAgICBpZiggbUNvbG9ybWFwICE9IDAgKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
WEZyZWVDb2xvcm1hcCggbURweSwgbUNvbG9ybWFwKTsKKyAgICAgICAgICAgIG1Db2xvcm1hcCA9
IDA7CisgICAgICAgICAgICB9CisgICAgICAgIGlmKCBtVmlzaW5mbyAhPSBOVUxMICkKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgIFhGcmVlKCBtVmlzaW5mbyApOworICAgICAgICAgICAgbVZp
c2luZm8gPSBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICBYQ2xvc2VEaXNwbGF5KCBtRHB5
ICk7CisgICAgICAgIG1EcHkgPSBOVUxMOworICAgICAgICB9CiAjZW5kaWYKIH0KIApAQCAtMzE5
LDcgKzM1MCw2IEBACiAgICAgLy8gICAgfQogICAgIH0KIAotCiBib29sIENvbXBvc2l0aW5nUHJl
ZnM6OmRldGVjdFhnbCgpCiAgICAgeyAvLyBYZ2wgYXBwYXJlbnRseSB1c2VzIG9ubHkgdGhpcyBz
cGVjaWZpYyBYIHZlcnNpb24KICAgICByZXR1cm4gVmVuZG9yUmVsZWFzZShkaXNwbGF5KCkpID09
IDcwMDAwMDAxOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>51559</attachid>
            <date>2010-09-12 13:06:24 +0000</date>
            <delta_ts>2010-09-12 13:06:24 +0000</delta_ts>
            <desc>glx detect/contect setting test code </desc>
            <filename>glxtest.txt</filename>
            <type>text/plain</type>
            <size>15986</size>
            <attacher name="John Stanley">jpsinthemix</attacher>
            
              <data encoding="base64">Ly8gZ2x4dGVzdC5jcHAKLy8gU2ltcGxlIGJ1aWxkOiBnKysgLWxHTCAtbyBnbHh0ZXN0IGdseHRl
c3QuY3BwCgovLyBTaW1wbGUgdGVzdHM6Ci8vIHZhbGdyaW5kIC4vZ2x4dGVzdCAmPiBnbHh0ZXN0
LmRpcmVjdC5sb2cKLy8gTElCR0xfQUxXQVlTX0lORElSRUNUPTEgdmFsZ3JpbmQgLi9nbHh0ZXN0
ICY+IGdseHRlc3QuaW5kaXJlY3QubG9nCgojaW5jbHVkZSA8R0wvZ2x4Lmg+CiNpbmNsdWRlIDxH
TC9nbC5oPgoKI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUg
PGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHVuaXN0ZC5oPgogICAKdXNp
bmcgbmFtZXNwYWNlIHN0ZDsKCnN0YXRpYyBCb29sIFdhaXRGb3JOb3RpZnkgKERpc3BsYXkgKmRp
c3BsYXksIFhFdmVudCAqeGV2ZW50LCBjaGFyICphcmcpCiAgICB7CiAgICByZXR1cm4oICh4ZXZl
bnQtPnR5cGUgPT0gTWFwTm90aWZ5KSAmICh4ZXZlbnQtPnhtYXAud2luZG93ID09IChXaW5kb3cp
IGFyZykgKTsKICAgIH0KCnZvaWQgc3lzaW5mbygpCiAgICB7CiAgICBjb3V0IDw8IGVuZGw7CiAg
ICBjb3V0IDw8ICJTWVNURU0gSU5GTzpcbiI7CiAgICBjb3V0IDw8ICI9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT1cbiI7CiAgICBzeXN0ZW0oICJ1bmFtZSAtYSIgKTsKICAgIGNvdXQgPDwgZW5kbDsKICAg
IGlmKCAhc3lzdGVtKCAidHlwZSAtcGEgY2hrcGtnID4vZGV2L251bGwiICkgKQogICAgICAgIHsK
ICAgICAgICBzeXN0ZW0oICJjaGtwa2cga2RlYmFzZS13byBxdC0geG9yZy1zZXIgbGliZHJtIE1l
c2EgdmlkZW8taW50ZWwgfCBzZWQgLWUnczovdmFyLippbnMvOjpnJyAtZSAncy8taTY4Ni1idWls
ZC4vL2cnIiApOwogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgICAgICB9CiAgICBzeXN0ZW0oICJs
c3BjaSAtdiB8c2VkIC1uICcvXjAuKlZHQS4qY29udHJvbGxlcjovLC9LZXJuZWwuKmRyaXZlci97
cy8gKHByb2cuKiQvLztwfSciICk7CiAgICBjb3V0IDw8ICI9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1c
biI7CiAgICBjb3V0IDw8IGVuZGw7CiAgICB9CnZvaWQgZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbigg
RGlzcGxheSAqZGlzcGxheSApCiAgICB7CiAgICBpZiggZ2V0ZW52KCAiS1dJTl9ESVJFQ1RfR0wi
ICkgPT0gTlVMTCApCiAgICAgICAgY291dCA8PCAiPT09IEtXSU5fRElSRUNUX0dMOiB1bnNldCIg
PDwgZW5kbDsKICAgIGVsc2UKICAgICAgICBjb3V0IDw8ICI9PT0gS1dJTl9ESVJFQ1RfR0w6ICIg
PDwgc3RyaW5nKCBnZXRlbnYoICJLV0lOX0RJUkVDVF9HTCIgKSApIDw8IGVuZGw7CgogICAgaWYo
IGdldGVudiggIkxJQkdMX0FMV0FZU19JTkRJUkVDVCIgKSA9PSBOVUxMICkKICAgICAgICBjb3V0
IDw8ICI9PT0gTElCR0xfQUxXQVlTX0lORElSRUNUOiB1bnNldCIgPDwgZW5kbDsKICAgIGVsc2UK
ICAgICAgICBjb3V0IDw8ICI9PT0gTElCR0xfQUxXQVlTX0lORElSRUNUOiAiIDw8IHN0cmluZygg
Z2V0ZW52KCAiTElCR0xfQUxXQVlTX0lORElSRUNUIiApICkgPDwgZW5kbDsKCiAgICBjb3V0IDw8
IGVuZGw7CiAgICBjb3V0IDw8ICI9PT0gR0xfVkVORE9SOiAgICIgPDwgZ2xHZXRTdHJpbmcoR0xf
VkVORE9SKSAgIDw8IGVuZGw7CiAgICBjb3V0IDw8ICI9PT0gR0xfUkVOREVSRVI6ICIgPDwgZ2xH
ZXRTdHJpbmcoR0xfUkVOREVSRVIpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICI9PT0gR0xfVkVSU0lP
TjogICIgPDwgZ2xHZXRTdHJpbmcoR0xfVkVSU0lPTikgIDw8IGVuZGw7CiAgICBjb3V0IDw8ICI9
PT0gVXNpbmcgWEdMOiAgICIgPDwgKFZlbmRvclJlbGVhc2UoZGlzcGxheSkgPT0gNzAwMDAwMDEp
IDw8IGVuZGw7CiAgICBjb3V0IDw8IGVuZGw7CiAgICB9CmZsb2F0IGdseF92ZXJzaW9uKCBEaXNw
bGF5ICpkaXNwbGF5ICkKICAgIHsKICAgIGludCAgZ2x4TWFqb3IsIGdseE1pbm9yOwoKICAgIGds
WFF1ZXJ5VmVyc2lvbiggZGlzcGxheSwgJmdseE1ham9yLCAmZ2x4TWlub3IgKTsKCiAgICBzdHJp
bmdzdHJlYW0gb3M7CgogICAgaWYoIG9zIDw8IGdseE1ham9yIDw8ICIuIiA8PCBnbHhNaW5vciAp
CiAgICAgICAgcmV0dXJuKCBzdHJ0b2YoIG9zLnN0cigpLmNfc3RyKCksIE5VTEwpICk7CiAgICBl
bHNlCiAgICAgICAgewogICAgICAgIGNvdXQgPDwgIkJhZCBnbHggdmVyc2lvbjogIiA8PCBnbHhN
YWpvciA8PCAiLiIgPDwgZ2x4TWlub3IgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgICAg
ICB9CiAgICB9Ci8qCnZvaWQgdmlzdWFsc19pbmZvKCBEaXNwbGF5ICpkaXNwbGF5LCBYVmlzdWFs
SW5mbyAqdmlzICkKICAgIHsKICAgIGludCB2YWx1ZTsKCiAgICBjb3V0IDw8ICJnbHggdmVyc2lv
bjogIiA8PCBnbHhfdmVyc2lvbiggZGlzcGxheSApIDw8IGVuZGw7CgogICAgaWYoICFnbFhHZXRD
b25maWcoIGRpc3BsYXksIHZpcywgR0xYX0xFVkVMLCAgICAgICAgICAgICZ2YWx1ZSkgKSBjb3V0
IDw8ICJHTFhfTEVWRUwiIDw8ICIgIiA8PCB2YWx1ZSA8PCBlbmRsOwogICAgaWYoICFnbFhHZXRD
b25maWcoIGRpc3BsYXksIHZpcywgR0xYX1JHQkEsICAgICAgICAgICAgICZ2YWx1ZSkgKSBjb3V0
IDw8ICJHTFhfUkdCQSIgPDwgIiAiIDw8IHZhbHVlIDw8IGVuZGw7CiAgICBpZiggIWdsWEdldENv
bmZpZyggZGlzcGxheSwgdmlzLCBHTFhfRE9VQkxFQlVGRkVSLCAgICAgJnZhbHVlKSApIGNvdXQg
PDwgIkdMWF9ET1VCTEVCVUZGRVIiIDw8ICIgIiA8PCB2YWx1ZSA8PCBlbmRsOwogICAgaWYoICFn
bFhHZXRDb25maWcoIGRpc3BsYXksIHZpcywgR0xYX1NURVJFTywgICAgICAgICAgICZ2YWx1ZSkg
KSBjb3V0IDw8ICJHTFhfU1RFUkVPIiA8PCAiICIgPDwgdmFsdWUgPDwgZW5kbDsKICAgIGlmKCAh
Z2xYR2V0Q29uZmlnKCBkaXNwbGF5LCB2aXMsIEdMWF9BVVhfQlVGRkVSUywgICAgICAmdmFsdWUp
ICkgY291dCA8PCAiR0xYX0FVWF9CVUZGRVJTIiA8PCAiICIgPDwgdmFsdWUgPDwgZW5kbDsKICAg
IGlmKCAhZ2xYR2V0Q29uZmlnKCBkaXNwbGF5LCB2aXMsIEdMWF9SRURfU0laRSwgICAgICAgICAm
dmFsdWUpICkgY291dCA8PCAiR0xYX1JFRF9TSVpFIiA8PCAiICIgPDwgdmFsdWUgPDwgZW5kbDsK
ICAgIGlmKCAhZ2xYR2V0Q29uZmlnKCBkaXNwbGF5LCB2aXMsIEdMWF9HUkVFTl9TSVpFLCAgICAg
ICAmdmFsdWUpICkgY291dCA8PCAiR0xYX0dSRUVOX1NJWkUiIDw8ICIgIiA8PCB2YWx1ZSA8PCBl
bmRsOwogICAgaWYoICFnbFhHZXRDb25maWcoIGRpc3BsYXksIHZpcywgR0xYX0JMVUVfU0laRSwg
ICAgICAgICZ2YWx1ZSkgKSBjb3V0IDw8ICJHTFhfQkxVRV9TSVpFIiA8PCAiICIgPDwgdmFsdWUg
PDwgZW5kbDsKICAgIGlmKCAhZ2xYR2V0Q29uZmlnKCBkaXNwbGF5LCB2aXMsIEdMWF9BTFBIQV9T
SVpFLCAgICAgICAmdmFsdWUpICkgY291dCA8PCAiR0xYX0FMUEhBX1NJWkUiIDw8ICIgIiA8PCB2
YWx1ZSA8PCBlbmRsOwogICAgaWYoICFnbFhHZXRDb25maWcoIGRpc3BsYXksIHZpcywgR0xYX0RF
UFRIX1NJWkUsICAgICAgICZ2YWx1ZSkgKSBjb3V0IDw8ICJHTFhfREVQVEhfU0laRSIgPDwgIiAi
IDw8IHZhbHVlIDw8IGVuZGw7CiAgICBpZiggIWdsWEdldENvbmZpZyggZGlzcGxheSwgdmlzLCBH
TFhfU1RFTkNJTF9TSVpFLCAgICAgJnZhbHVlKSApIGNvdXQgPDwgIkdMWF9TVEVOQ0lMX1NJWkUi
IDw8ICIgIiA8PCB2YWx1ZSA8PCBlbmRsOwogICAgaWYoICFnbFhHZXRDb25maWcoIGRpc3BsYXks
IHZpcywgR0xYX0FDQ1VNX1JFRF9TSVpFLCAgICZ2YWx1ZSkgKSBjb3V0IDw8ICJHTFhfQUNDVU1f
UkVEX1NJWkUiIDw8ICIgIiA8PCB2YWx1ZSA8PCBlbmRsOwogICAgaWYoICFnbFhHZXRDb25maWco
IGRpc3BsYXksIHZpcywgR0xYX0FDQ1VNX0dSRUVOX1NJWkUsICZ2YWx1ZSkgKSBjb3V0IDw8ICJH
TFhfQUNDVU1fR1JFRU5fU0laRSIgPDwgIiAiIDw8IHZhbHVlIDw8IGVuZGw7CiAgICBpZiggIWds
WEdldENvbmZpZyggZGlzcGxheSwgdmlzLCBHTFhfQUNDVU1fQkxVRV9TSVpFLCAgJnZhbHVlKSAp
IGNvdXQgPDwgIkdMWF9BQ0NVTV9CTFVFX1NJWkUiIDw8ICIgIiA8PCB2YWx1ZSA8PCBlbmRsOwog
ICAgaWYoICFnbFhHZXRDb25maWcoIGRpc3BsYXksIHZpcywgR0xYX0FDQ1VNX0FMUEhBX1NJWkUs
ICZ2YWx1ZSkgKSBjb3V0IDw8ICJHTFhfQUNDVU1fQUxQSEFfU0laRSIgPDwgIiAiIDw8IHZhbHVl
IDw8IGVuZGw7CiAgICB9CiovCmJvb2wgZGV0ZWN0KERpc3BsYXkgKmRpc3BsYXkpCiAgICB7CiAg
ICBHTFhDb250ZXh0ICAgZ2xYQ29udGV4dCAgPSBOVUxMOwogICAgWFZpc3VhbEluZm8gKnhWaXN1
YWxJbmZvID0gTlVMTDsKICAgIENvbG9ybWFwICAgICBjb2xvcm1hcCAgICA9IDA7CiAgICBXaW5k
b3cgICAgICAgd2luZG93ICAgICAgPSAwOwogICAgICAgICAKICAgIGJvb2wgZG91YmxlQnVmZmVy
cyA9IGZhbHNlOwoKICAgIGludCB2aXN1YWxBdHRyW10gPSB7IEdMWF9SR0JBLCBHTFhfUkVEX1NJ
WkUsIDEsIEdMWF9HUkVFTl9TSVpFLCAxLCBHTFhfQkxVRV9TSVpFLCAxLCBOb25lIH07CgogICAg
eFZpc3VhbEluZm8gPSBnbFhDaG9vc2VWaXN1YWwoZGlzcGxheSwgRGVmYXVsdFNjcmVlbihkaXNw
bGF5KSwgdmlzdWFsQXR0cik7CgogICAgaWYoIHhWaXN1YWxJbmZvID09IE5VTEwgKQogICAgICAg
IHsKICAgICAgICBjb3V0IDw8ICI9PT0gV0FSTklORyBzaW5nbGUgYnVmZmVyIHZpc3VhbHMgZmFp
bGVkLCB0cnlpbmcgZG91YmxlIHZpc3VhbHMpXG4iOwoKICAgICAgICBpbnQgdmlzdWFsQXR0cltd
ID0geyBHTFhfUkdCQSwgR0xYX0RPVUJMRUJVRkZFUiwgR0xYX1JFRF9TSVpFLCAxLCBHTFhfR1JF
RU5fU0laRSwgMSwgR0xYX0JMVUVfU0laRSwgMSwgTm9uZSB9OwogICAgICAgIHhWaXN1YWxJbmZv
ICAgICAgPSBnbFhDaG9vc2VWaXN1YWwoZGlzcGxheSwgRGVmYXVsdFNjcmVlbihkaXNwbGF5KSwg
dmlzdWFsQXR0cik7CgogICAgICAgIGlmKCB4VmlzdWFsSW5mbyA9PSBOVUxMICkKICAgICAgICAg
ICAgewogICAgICAgICAgICBjb3V0IDw8ICI9PT0gW2RldGVjdF0geFZpc3VhbEluZm86IEZBSUwg
KFVuYWJsZSB0byBmaW5kIEdMWCBSR0JBIHZpc3VhbClcbiI7CiAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgZG91YmxlQnVmZmVy
cyA9IHRydWU7CiAgICAgICAgfQogICAgZ2xYQ29udGV4dCA9IGdsWENyZWF0ZUNvbnRleHQoZGlz
cGxheSwgeFZpc3VhbEluZm8sIDAsIFRydWUpOwoKICAgIGlmKCBnbFhDb250ZXh0ID09IE5VTEwg
KQogICAgICAgIHsKICAgICAgICBjb3V0IDw8ICI9PT0gW2RldGVjdF0gZ2xYQ29udGV4dDogRkFJ
TCAoVW5hYmxlIHRvIGNyZWF0ZSBDb250ZXh0KSlcbiI7CiAgICAgICAgWEZyZWUoeFZpc3VhbElu
Zm8pOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICBjb2xvcm1hcCA9IFhDcmVh
dGVDb2xvcm1hcChkaXNwbGF5LCBSb290V2luZG93KGRpc3BsYXksIHhWaXN1YWxJbmZvLT5zY3Jl
ZW4pLCB4VmlzdWFsSW5mby0+dmlzdWFsLCBBbGxvY05vbmUpOwoKICAgIFhTZXRXaW5kb3dBdHRy
aWJ1dGVzIHdpbmRvd0F0dHI7CgogICAgd2luZG93QXR0ci5jb2xvcm1hcCAgICAgICAgID0gY29s
b3JtYXA7CiAgICB3aW5kb3dBdHRyLmJhY2tncm91bmRfcGl4ZWwgPSAwOwogICAgd2luZG93QXR0
ci5ib3JkZXJfcGl4ZWwgICAgID0gMDsKICAgIHdpbmRvd0F0dHIuZXZlbnRfbWFzayAgICAgICA9
IFN0cnVjdHVyZU5vdGlmeU1hc2sgfCBFeHBvc3VyZU1hc2s7CgogICAgd2luZG93ID0gWENyZWF0
ZVdpbmRvdyhkaXNwbGF5LCBSb290V2luZG93KGRpc3BsYXksIHhWaXN1YWxJbmZvLT5zY3JlZW4p
LAogICAgICAwLCAwLCAxMDAsIDEwMCwgMCwgeFZpc3VhbEluZm8tPmRlcHRoLCBJbnB1dE91dHB1
dCwgeFZpc3VhbEluZm8tPnZpc3VhbCwKICAgICAgQ1dCYWNrUGl4ZWwgfCBDV0JvcmRlclBpeGVs
IHwgQ1dDb2xvcm1hcCB8IENXRXZlbnRNYXNrLCAmd2luZG93QXR0cik7Ci8qCiAgICBYRXZlbnQg
ZXZlbnQ7CiAgICBYTWFwV2luZG93IChkaXNwbGF5LCB3aW5kb3cpOwogICAgWElmRXZlbnQgKGRp
c3BsYXksICZldmVudCwgV2FpdEZvck5vdGlmeSwgKGNoYXIgKil3aW5kb3cpOwoqLwogICAgR0xY
Q29udGV4dCAgZ2xYQ29udGV4dF9zYXYgPSBnbFhHZXRDdXJyZW50Q29udGV4dCgpOwogICAgR0xY
RHJhd2FibGUgZ2x4RHJhd19zYXYgICAgPSBnbFhHZXRDdXJyZW50RHJhd2FibGUoKTsKICAgIEdM
WERyYXdhYmxlIGdseFJlYWRfc2F2ICAgID0gTm9uZTsKCiAgICBpZiggZ2x4X3ZlcnNpb24oIGRp
c3BsYXkgKSA+PSAxLjMgKSBnbHhSZWFkX3NhdiA9IGdsWEdldEN1cnJlbnRSZWFkRHJhd2FibGUo
KTsKCiAgICBib29sIHJjID0gZ2xYTWFrZUN1cnJlbnQoIGRpc3BsYXksIHdpbmRvdywgZ2xYQ29u
dGV4dCApOwogICAgaWYoIHJjICkKICAgICAgICB7CiAgICAgICAgY291dCA8PCAiPT09IHNlY29u
ZCAgY29udGV4dCBjdXJyZW50OiBQQVNTXG4iOwoKICAgICAgICBjb3V0IDw8ICJcbj09PSBnbFhJ
c0RpcmVjdDogIiA8PCBnbFhJc0RpcmVjdCggZGlzcGxheSwgZ2xYQ29udGV4dCApIDw8IGVuZGw7
CiAgICAgICAgZGV0ZWN0RHJpdmVyQW5kVmVyc2lvbiggZGlzcGxheSApOwovKiAgICAKICAgICAg
ICBhcHBseURyaXZlclNwZWNpZmljT3B0aW9ucygpOwoKICAgICAgICBnbENsZWFyQ29sb3IoIDEs
IDAsIDAsIDIgKTsKICAgICAgICBnbENsZWFyKCBHTF9DT0xPUl9CVUZGRVJfQklUICk7CiAgICAg
ICAgZ2xGbHVzaCgpOwoqLwogICAgICAgIGlmKCBkb3VibGVCdWZmZXJzICkgZ2xYU3dhcEJ1ZmZl
cnMoIGRpc3BsYXksIHdpbmRvdyApOwovLyAgICAgIHNsZWVwKDEpOwoKICAgICAgICBpZiggZ2x4
X3ZlcnNpb24oIGRpc3BsYXkgKSA+PSAxLjMgKQogICAgICAgICAgICByYyA9IGdsWE1ha2VDb250
ZXh0Q3VycmVudCggZGlzcGxheSwgZ2x4RHJhd19zYXYsIGdseFJlYWRfc2F2LCBnbFhDb250ZXh0
X3NhdiApOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcmMgPSBnbFhNYWtlQ3VycmVudCggZGlz
cGxheSwgZ2x4RHJhd19zYXYsIGdsWENvbnRleHRfc2F2ICk7CgogICAgICAgIGlmKCByYyApCiAg
ICAgICAgICAgIGNvdXQgPDwgIj09PSBpbml0aWFsIGNvbnRleHQgcmVzdG9yZTogUEFTU1xuIjsK
ICAgICAgICBlbHNlCiAgICAgICAgICAgIGNvdXQgPDwgIj09PSBpbml0aWFsIGNvbnRleHQgcmVz
dG9yZTogRkFJTFxuIjsKICAgICAgICB9CiAgICBlbHNlCiAgICAgICAgY291dCA8PCAiPT09IHNl
Y29uZCAgY29udGV4dCBjdXJyZW50OiBGQUlMXG4iOwoKICAgIGlmKCBkaXNwbGF5ICE9IE5VTEwg
KQogICAgICAgIHsKICAgICAgICBpZiggd2luZG93ICkgICBYRGVzdHJveVdpbmRvdyggZGlzcGxh
eSwgd2luZG93ICk7CiAgICAgICAgaWYoIGNvbG9ybWFwICkgWEZyZWVDb2xvcm1hcCggZGlzcGxh
eSwgY29sb3JtYXAgKTsKCiAgICAgICAgaWYoIGdsWENvbnRleHQgICE9IE5VTEwgKSBnbFhEZXN0
cm95Q29udGV4dCggZGlzcGxheSwgZ2xYQ29udGV4dCApOwogICAgICAgIGlmKCB4VmlzdWFsSW5m
byAhPSBOVUxMICkgWEZyZWUoIHhWaXN1YWxJbmZvICk7CiAgICAgICAgfQovLyAgc2xlZXAoMSk7
CiAgICByZXR1cm4gcmM7Cn0KICAgCmludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsK
ICAgIGJvb2wgICAgICAgICByYzsKICAgIGludCAgICAgICAgICBkb3VibGVCdWZmZXJzID0gRmFs
c2U7CiAgICBEaXNwbGF5ICAgICAqZGlzcGxheSAgICAgICA9IE5VTEw7CiAgICBHTFhDb250ZXh0
ICAgZ2xYQ29udGV4dCAgICA9IE5VTEw7CiAgICBYVmlzdWFsSW5mbyAqeFZpc3VhbEluZm8gICA9
IE5VTEw7CiAgICBDb2xvcm1hcCAgICAgY29sb3JtYXAgICAgICA9IDA7CiAgICBXaW5kb3cgICAg
ICAgd2luZG93ICAgICAgICA9IDA7CgogICAgLy8gcHJpbnRvdXQgdmlkZW8gaHcgaW5mbzoKICAg
IHN5c2luZm8oKTsKIAogICAgY291dCA8PCAiR0xYIFRFU1Q6XG4iOwogICAgY291dCA8PCAiPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09XG4iOwoKLy8gIGRpc3BsYXkgPSBYT3BlbkRpc3BsYXkoIGdldGVu
diggIkRJU1BMQVkiICkgKTsKICAgIGRpc3BsYXkgPSBYT3BlbkRpc3BsYXkoICI6MCIgKTsKIAog
ICAgaW50IHZpc3VhbEF0dHJbXSA9IHsgR0xYX1JHQkEsIEdMWF9SRURfU0laRSwgMSwgR0xYX0dS
RUVOX1NJWkUsIDEsIEdMWF9CTFVFX1NJWkUsIDEsIE5vbmUgfTsKICAgCiAgICB4VmlzdWFsSW5m
byA9IGdsWENob29zZVZpc3VhbChkaXNwbGF5LCBEZWZhdWx0U2NyZWVuKGRpc3BsYXkpLCB2aXN1
YWxBdHRyKTsKCiAgICBpZiggeFZpc3VhbEluZm8gPT0gTlVMTCApCiAgICAgICAgewogICAgICAg
IGNvdXQgPDwgIj09PSBXQVJOSU5HIHNpbmdsZSBidWZmZXIgdmlzdWFscyBmYWlsZWQsIHRyeWlu
ZyBkb3VibGUgdmlzdWFscylcbiI7CgogICAgICAgIGludCB2aXN1YWxBdHRyW10gPSB7IEdMWF9S
R0JBLCBHTFhfRE9VQkxFQlVGRkVSLCBHTFhfUkVEX1NJWkUsIDEsIEdMWF9HUkVFTl9TSVpFLCAx
LCBHTFhfQkxVRV9TSVpFLCAxLCBOb25lIH07CiAgICAgICAgeFZpc3VhbEluZm8gICAgICA9IGds
WENob29zZVZpc3VhbChkaXNwbGF5LCBEZWZhdWx0U2NyZWVuKGRpc3BsYXkpLCB2aXN1YWxBdHRy
KTsKCiAgICAgICAgaWYoIHhWaXN1YWxJbmZvID09IE5VTEwgKQogICAgICAgICAgICB7CiAgICAg
ICAgICAgIGNvdXQgPDwgIj09PSBpbml0aWFsIHhWaXN1YWxJbmZvOiBGQUlMIChVbmFibGUgdG8g
ZmluZCBHTFggUkdCQSB2aXN1YWwpXG4iOwogICAgICAgICAgICByZXR1cm4oIDEgKTsKICAgICAg
ICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgZG91YmxlQnVmZmVycyA9IFRydWU7CiAg
ICAgICAgfQoKICAgIGdsWENvbnRleHQgPSBnbFhDcmVhdGVDb250ZXh0KGRpc3BsYXksIHhWaXN1
YWxJbmZvLCAwLCBUcnVlKTsKCiAgICBpZiggZ2xYQ29udGV4dCA9PSBOVUxMICkKICAgICAgICB7
CiAgICAgICAgY291dCA8PCAiPT09IGluaXRpYWwgZ2xYQ29udGV4dDogRkFJTCAoVW5hYmxlIHRv
IGNyZWF0ZSBDb250ZXh0KSlcbiI7CiAgICAgICAgWEZyZWUoIHhWaXN1YWxJbmZvICk7CiAgICAg
ICAgcmV0dXJuKCAyICk7CiAgICAgICAgfQogICAgY29sb3JtYXAgPSBYQ3JlYXRlQ29sb3JtYXAo
IGRpc3BsYXksIFJvb3RXaW5kb3coIGRpc3BsYXksIHhWaXN1YWxJbmZvLT5zY3JlZW4gKSwgeFZp
c3VhbEluZm8tPnZpc3VhbCwgQWxsb2NOb25lICk7CgogICAgWFNldFdpbmRvd0F0dHJpYnV0ZXMg
d2luZG93QXR0cjsKCiAgICB3aW5kb3dBdHRyLmNvbG9ybWFwICAgICA9IGNvbG9ybWFwOwogICAg
d2luZG93QXR0ci5ib3JkZXJfcGl4ZWwgPSAwOwogICAgd2luZG93QXR0ci5ldmVudF9tYXNrICAg
PSBTdHJ1Y3R1cmVOb3RpZnlNYXNrIHwgRXhwb3N1cmVNYXNrOwoKICAgIHdpbmRvdyA9IFhDcmVh
dGVXaW5kb3coIGRpc3BsYXksIFJvb3RXaW5kb3coIGRpc3BsYXksIHhWaXN1YWxJbmZvLT5zY3Jl
ZW4gKSwKICAgICAgMCwgMCwgMTAwLCAxMDAsIDAsIHhWaXN1YWxJbmZvLT5kZXB0aCwgSW5wdXRP
dXRwdXQsIHhWaXN1YWxJbmZvLT52aXN1YWwsCiAgICAgIENXQmFja1BpeGVsIHwgQ1dCb3JkZXJQ
aXhlbCB8IENXQ29sb3JtYXAgfCBDV0V2ZW50TWFzaywgJndpbmRvd0F0dHIgKTsKLyoKICAgIFhF
dmVudCBldmVudDsKICAgIFhNYXBXaW5kb3coIGRpc3BsYXksIHdpbmRvdyApOwogICAgWElmRXZl
bnQoIGRpc3BsYXksICZldmVudCwgV2FpdEZvck5vdGlmeSwgKGNoYXIgKikgd2luZG93ICk7Ciov
CiAgICBpZiggZ2xYTWFrZUN1cnJlbnQoIGRpc3BsYXksIHdpbmRvdywgZ2xYQ29udGV4dCApICkK
ICAgICAgICBjb3V0IDw8ICI9PT0gaW5pdGlhbCBjb250ZXh0IGN1cnJlbnQ6IFBBU1NcbiI7CiAg
ICBlbHNlCiAgICAgICAgewogICAgICAgIGNvdXQgPDwgIj09PSBtYWtlIGluaXRpYWwgY29udGV4
dCBjdXJyZW50OiBGQUlMXG4iOwogICAgICAgIHJldHVybiAzOwogICAgICAgIH0KLyoKICAgIGds
Q2xlYXJDb2xvciggMCwgMSwgMCwgMSApOwogICAgZ2xDbGVhciggR0xfQ09MT1JfQlVGRkVSX0JJ
VCApOwogICAgZ2xGbHVzaCgpOwoKICAgIHNsZWVwKDEpOwoqLwogICAgaWYoIGRvdWJsZUJ1ZmZl
cnMgKSBnbFhTd2FwQnVmZmVycyggZGlzcGxheSwgd2luZG93ICk7CgogICAgaWYoIGRldGVjdCgg
ZGlzcGxheSApICkKICAgICAgICBjb3V0IDw8ICI9PT0gZ2x4IGRldGVjdCBzdWNjZWVkZWQ6ICAg
IFBBU1NcbiI7CiAgICBlbHNlCiAgICAgICAgY291dCA8PCAiPT09IGdseCBkZXRlY3Qgc3VjY2Vl
ZGVkOiAgICBGQUlMXG4iOwoKICAgIGdsWE1ha2VDdXJyZW50KCBkaXNwbGF5LCBOb25lLCBOVUxM
ICk7CgogICAgaWYoIGRpc3BsYXkgIT0gTlVMTCApCiAgICAgICAgewogICAgICAgIGlmKCB3aW5k
b3cgKSAgIFhEZXN0cm95V2luZG93KCBkaXNwbGF5LCB3aW5kb3cgKTsKICAgICAgICBpZiggY29s
b3JtYXAgKSBYRnJlZUNvbG9ybWFwKCBkaXNwbGF5LCBjb2xvcm1hcCApOwoKICAgICAgICBpZigg
Z2xYQ29udGV4dCAgIT0gTlVMTCApIGdsWERlc3Ryb3lDb250ZXh0KCBkaXNwbGF5LCBnbFhDb250
ZXh0ICk7CiAgICAgICAgaWYoIHhWaXN1YWxJbmZvICE9IE5VTEwgKSBYRnJlZSggeFZpc3VhbElu
Zm8gKTsKCiAgICAgICAgWENsb3NlRGlzcGxheShkaXNwbGF5KTsKICAgICAgICB9CgogICAgY291
dCA8PCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iOwogICAgcmV0dXJuKDApOwp9CgorKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKwoKRGlyZWN0IFJlbmRlcmluZyB0ZXN0OgotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo9PTExODIzPT0gTWVtY2hlY2ssIGEgbWVtb3J5IGVy
cm9yIGRldGVjdG9yCj09MTE4MjM9PSBDb3B5cmlnaHQgKEMpIDIwMDItMjAxMCwgYW5kIEdOVSBH
UEwnZCwgYnkgSnVsaWFuIFNld2FyZCBldCBhbC4KPT0xMTgyMz09IFVzaW5nIFZhbGdyaW5kLTMu
Ni4wLlNWTiBhbmQgTGliVkVYOyByZXJ1biB3aXRoIC1oIGZvciBjb3B5cmlnaHQgaW5mbwo9PTEx
ODIzPT0gQ29tbWFuZDogLi9nbHh0ZXN0Cj09MTE4MjM9PSAKCkxpbnV4IGItbW92aWUgMi42LjM1
LjQgIzEgU3VuIEF1ZyAyOSAwNzo1NjoyNiBFRFQgMjAxMCBpNjg2IGk2ODYgaTM4NiBHTlUvTGlu
dXgKU1lTVEVNIElORk86Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKTWVzYS43LjguMgpsaWJkcm0u
Mi40LjIxCnhvcmctc2VydmVyLjEuOC4yCnhmODYtdmlkZW8taW50ZWwuMi4xMi4wCnF0LW9wZW5z
b3VyY2UuNC42LjMKa2RlYmFzZS13b3Jrc3BhY2UuNC41LjEKCjAwOjAyLjAgVkdBIGNvbXBhdGli
bGUgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gODI5MTVHL0dWLzkxMEdMIEludGVncmF0
ZWQgR3JhcGhpY3MgQ29udHJvbGxlciAocmV2IDA0KQoJU3Vic3lzdGVtOiBIZXdsZXR0LVBhY2th
cmQgQ29tcGFueSBEZXZpY2UgMmEwOAoJRmxhZ3M6IGJ1cyBtYXN0ZXIsIGZhc3QgZGV2c2VsLCBs
YXRlbmN5IDAsIElSUSAxMAoJTWVtb3J5IGF0IGNmZTgwMDAwICgzMi1iaXQsIG5vbi1wcmVmZXRj
aGFibGUpIFtzaXplPTUxMktdCglJL08gcG9ydHMgYXQgYjgwMCBbc2l6ZT04XQoJTWVtb3J5IGF0
IGQwMDAwMDAwICgzMi1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9MjU2TV0KCU1lbW9yeSBhdCBj
ZmU0MDAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT0yNTZLXQoJRXhwYW5zaW9u
IFJPTSBhdCA8dW5hc3NpZ25lZD4gW2Rpc2FibGVkXQoJQ2FwYWJpbGl0aWVzOiBbZDBdIFBvd2Vy
IE1hbmFnZW1lbnQgdmVyc2lvbiAyCglLZXJuZWwgZHJpdmVyIGluIHVzZTogaTkxNQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KCkdMWCBURVNUOgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPT09IGluaXRp
YWwgY29udGV4dCBjdXJyZW50OiBQQVNTCj09PSBzZWNvbmQgIGNvbnRleHQgY3VycmVudDogUEFT
UwoKPT09IGdsWElzRGlyZWN0OiAxCj09PSBLV0lOX0RJUkVDVF9HTDogdW5zZXQKPT09IExJQkdM
X0FMV0FZU19JTkRJUkVDVDogdW5zZXQKCj09PSBHTF9WRU5ET1I6ICAgVHVuZ3N0ZW4gR3JhcGhp
Y3MsIEluYwo9PT0gR0xfUkVOREVSRVI6IE1lc2EgRFJJIEludGVsKFIpIDkxNUcgR0VNIDIwMTAw
MzI4IDIwMTBRMSB4ODYvTU1YL1NTRTIKPT09IEdMX1ZFUlNJT046ICAxLjQgTWVzYSA3LjguMgo9
PT0gVXNpbmcgWEdMOiAgIDAKCj09PSBpbml0aWFsIGNvbnRleHQgcmVzdG9yZTogUEFTUwo9PT0g
Z2x4IGRldGVjdCBzdWNjZWVkZWQ6ICAgIFBBU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj09MTE4
MjM9PSAKPT0xMTgyMz09IEhFQVAgU1VNTUFSWToKPT0xMTgyMz09ICAgICBpbiB1c2UgYXQgZXhp
dDogMiw5NDMgYnl0ZXMgaW4gMjMgYmxvY2tzCj09MTE4MjM9PSAgIHRvdGFsIGhlYXAgdXNhZ2U6
IDIsMTM5IGFsbG9jcywgMiwxMTYgZnJlZXMsIDIyLDc1OSwxNjIgYnl0ZXMgYWxsb2NhdGVkCj09
MTE4MjM9PSAKPT0xMTgyMz09IExFQUsgU1VNTUFSWToKPT0xMTgyMz09ICAgIGRlZmluaXRlbHkg
bG9zdDogMCBieXRlcyBpbiAwIGJsb2Nrcwo9PTExODIzPT0gICAgaW5kaXJlY3RseSBsb3N0OiAw
IGJ5dGVzIGluIDAgYmxvY2tzCj09MTE4MjM9PSAgICAgIHBvc3NpYmx5IGxvc3Q6IDAgYnl0ZXMg
aW4gMCBibG9ja3MKPT0xMTgyMz09ICAgIHN0aWxsIHJlYWNoYWJsZTogMiw5NDMgYnl0ZXMgaW4g
MjMgYmxvY2tzCj09MTE4MjM9PSAgICAgICAgIHN1cHByZXNzZWQ6IDAgYnl0ZXMgaW4gMCBibG9j
a3MKPT0xMTgyMz09IFJlcnVuIHdpdGggLS1sZWFrLWNoZWNrPWZ1bGwgdG8gc2VlIGRldGFpbHMg
b2YgbGVha2VkIG1lbW9yeQo9PTExODIzPT0gCj09MTE4MjM9PSBGb3IgY291bnRzIG9mIGRldGVj
dGVkIGFuZCBzdXBwcmVzc2VkIGVycm9ycywgcmVydW4gd2l0aDogLXYKPT0xMTgyMz09IEVSUk9S
IFNVTU1BUlk6IDAgZXJyb3JzIGZyb20gMCBjb250ZXh0cyAoc3VwcHJlc3NlZDogNTkgZnJvbSAx
MikKCgpJbmRpcmVjdCBSZW5kZXJpbmcgdGVzdDoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KPT0xMTgzNj09IE1lbWNoZWNrLCBhIG1lbW9yeSBlcnJvciBkZXRlY3Rvcgo9PTExODM2
PT0gQ29weXJpZ2h0IChDKSAyMDAyLTIwMTAsIGFuZCBHTlUgR1BMJ2QsIGJ5IEp1bGlhbiBTZXdh
cmQgZXQgYWwuCj09MTE4MzY9PSBVc2luZyBWYWxncmluZC0zLjYuMC5TVk4gYW5kIExpYlZFWDsg
cmVydW4gd2l0aCAtaCBmb3IgY29weXJpZ2h0IGluZm8KPT0xMTgzNj09IENvbW1hbmQ6IC4vZ2x4
dGVzdAo9PTExODM2PT0gCgpMaW51eCBiLW1vdmllIDIuNi4zNS40ICMxIFN1biBBdWcgMjkgMDc6
NTY6MjYgRURUIDIwMTAgaTY4NiBpNjg2IGkzODYgR05VL0xpbnV4ClNZU1RFTSBJTkZPOgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KCk1lc2EuNy44LjIKbGliZHJtLjIuNC4yMQp4b3JnLXNlcnZlci4x
LjguMgp4Zjg2LXZpZGVvLWludGVsLjIuMTIuMApxdC1vcGVuc291cmNlLjQuNi4zCmtkZWJhc2Ut
d29ya3NwYWNlLjQuNS4xCgowMDowMi4wIFZHQSBjb21wYXRpYmxlIGNvbnRyb2xsZXI6IEludGVs
IENvcnBvcmF0aW9uIDgyOTE1Ry9HVi85MTBHTCBJbnRlZ3JhdGVkIEdyYXBoaWNzIENvbnRyb2xs
ZXIgKHJldiAwNCkKCVN1YnN5c3RlbTogSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkgRGV2aWNlIDJh
MDgKCUZsYWdzOiBidXMgbWFzdGVyLCBmYXN0IGRldnNlbCwgbGF0ZW5jeSAwLCBJUlEgMTAKCU1l
bW9yeSBhdCBjZmU4MDAwMCAoMzItYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT01MTJLXQoJ
SS9PIHBvcnRzIGF0IGI4MDAgW3NpemU9OF0KCU1lbW9yeSBhdCBkMDAwMDAwMCAoMzItYml0LCBw
cmVmZXRjaGFibGUpIFtzaXplPTI1Nk1dCglNZW1vcnkgYXQgY2ZlNDAwMDAgKDMyLWJpdCwgbm9u
LXByZWZldGNoYWJsZSkgW3NpemU9MjU2S10KCUV4cGFuc2lvbiBST00gYXQgPHVuYXNzaWduZWQ+
IFtkaXNhYmxlZF0KCUNhcGFiaWxpdGllczogW2QwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24g
MgoJS2VybmVsIGRyaXZlciBpbiB1c2U6IGk5MTUKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpHTFgg
VEVTVDoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj09PSBpbml0aWFsIGNvbnRleHQgY3VycmVudDog
UEFTUwo9PT0gc2Vjb25kICBjb250ZXh0IGN1cnJlbnQ6IFBBU1MKCj09PSBnbFhJc0RpcmVjdDog
MAo9PT0gS1dJTl9ESVJFQ1RfR0w6IHVuc2V0Cj09PSBMSUJHTF9BTFdBWVNfSU5ESVJFQ1Q6IDEK
Cj09PSBHTF9WRU5ET1I6ICAgVHVuZ3N0ZW4gR3JhcGhpY3MsIEluYwo9PT0gR0xfUkVOREVSRVI6
IE1lc2EgRFJJIEludGVsKFIpIDkxNUcgR0VNIDIwMTAwMzI4IDIwMTBRMSB4ODYvTU1YL1NTRTIK
PT09IEdMX1ZFUlNJT046ICAxLjQgTWVzYSA3LjguMgo9PT0gVXNpbmcgWEdMOiAgIDAKCj09PSBp
bml0aWFsIGNvbnRleHQgcmVzdG9yZTogUEFTUwo9PT0gZ2x4IGRldGVjdCBzdWNjZWVkZWQ6ICAg
IFBBU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj09MTE4MzY9PSAKPT0xMTgzNj09IEhFQVAgU1VN
TUFSWToKPT0xMTgzNj09ICAgICBpbiB1c2UgYXQgZXhpdDogNCw0NzQgYnl0ZXMgaW4gNCBibG9j
a3MKPT0xMTgzNj09ICAgdG90YWwgaGVhcCB1c2FnZTogMjY1IGFsbG9jcywgMjYxIGZyZWVzLCA2
ODgsNDM3IGJ5dGVzIGFsbG9jYXRlZAo9PTExODM2PT0gCj09MTE4MzY9PSBMRUFLIFNVTU1BUlk6
Cj09MTE4MzY9PSAgICBkZWZpbml0ZWx5IGxvc3Q6IDAgYnl0ZXMgaW4gMCBibG9ja3MKPT0xMTgz
Nj09ICAgIGluZGlyZWN0bHkgbG9zdDogMCBieXRlcyBpbiAwIGJsb2Nrcwo9PTExODM2PT0gICAg
ICBwb3NzaWJseSBsb3N0OiAwIGJ5dGVzIGluIDAgYmxvY2tzCj09MTE4MzY9PSAgICBzdGlsbCBy
ZWFjaGFibGU6IDQsNDc0IGJ5dGVzIGluIDQgYmxvY2tzCj09MTE4MzY9PSAgICAgICAgIHN1cHBy
ZXNzZWQ6IDAgYnl0ZXMgaW4gMCBibG9ja3MKPT0xMTgzNj09IFJlcnVuIHdpdGggLS1sZWFrLWNo
ZWNrPWZ1bGwgdG8gc2VlIGRldGFpbHMgb2YgbGVha2VkIG1lbW9yeQo9PTExODM2PT0gCj09MTE4
MzY9PSBGb3IgY291bnRzIG9mIGRldGVjdGVkIGFuZCBzdXBwcmVzc2VkIGVycm9ycywgcmVydW4g
d2l0aDogLXYKPT0xMTgzNj09IEVSUk9SIFNVTU1BUlk6IDAgZXJyb3JzIGZyb20gMCBjb250ZXh0
cyAoc3VwcHJlc3NlZDogNDQgZnJvbSA3KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51562</attachid>
            <date>2010-09-12 17:52:56 +0000</date>
            <delta_ts>2010-09-12 17:52:56 +0000</delta_ts>
            <desc>Another possible fix</desc>
            <filename>kwin.diff</filename>
            <type>text/plain</type>
            <size>892</size>
            <attacher name="Fredrik Höglund">fredrik</attacher>
            
              <data encoding="base64">SW5kZXg6IGNvbXBvc2l0aW5ncHJlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbXBvc2l0aW5ncHJl
ZnMuY3BwCShyZXZpc2lvbiAxMTcxODY2KQorKysgY29tcG9zaXRpbmdwcmVmcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE1NCwxMSArMTU0LDE2IEBACiAgICAgICAgIGRldGVjdERyaXZlckFuZFZl
cnNpb24oKTsKICAgICAgICAgYXBwbHlEcml2ZXJTcGVjaWZpY09wdGlvbnMoKTsKICAgICAgICAg
fQotICAgIGlmKCBoYXNnbHgxMyApCi0gICAgICAgIGdsWE1ha2VDb250ZXh0Q3VycmVudCggZGlz
cGxheSgpLCBvbGRkcmF3YWJsZSwgb2xkcmVhZGRyYXdhYmxlLCBvbGRjb250ZXh0ICk7Ci0gICAg
ZWxzZQotICAgICAgICBnbFhNYWtlQ3VycmVudCggZGlzcGxheSgpLCBvbGRkcmF3YWJsZSwgb2xk
Y29udGV4dCApOwogICAgIGRlbGV0ZUdMWENvbnRleHQoKTsKKyAgICBpZiggaGFzZ2x4MTMgKSB7
CisgICAgICAgIGdsWE1ha2VDb250ZXh0Q3VycmVudCggZGlzcGxheSgpLCBOb25lLCBOb25lLCBO
VUxMICk7CisgICAgICAgIGlmKCBvbGRjb250ZXh0ICE9IE5VTEwgKQorICAgICAgICAgICAgZ2xY
TWFrZUNvbnRleHRDdXJyZW50KCBkaXNwbGF5KCksIG9sZGRyYXdhYmxlLCBvbGRyZWFkZHJhd2Fi
bGUsIG9sZGNvbnRleHQgKTsKKyAgICB9IGVsc2UgeworICAgICAgICBnbFhNYWtlQ3VycmVudCgg
ZGlzcGxheSgpLCBOb25lLCBOVUxMICk7CisgICAgICAgIGlmKCBvbGRjb250ZXh0ICE9IE5VTEwg
KQorICAgICAgICAgICAgZ2xYTWFrZUN1cnJlbnQoIGRpc3BsYXkoKSwgb2xkZHJhd2FibGUsIG9s
ZGNvbnRleHQgKTsKKyAgICB9CiAjZW5kaWYKICAgICB9CiAKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51659</attachid>
            <date>2010-09-15 06:28:26 +0000</date>
            <delta_ts>2010-09-15 06:28:26 +0000</delta_ts>
            <desc>Idea to explore for sidestepping Mesa bug(s) </desc>
            <filename>kdebase-workspace-4.5.1-compositingprefs_detect.02.patch</filename>
            <type>text/plain</type>
            <size>4849</size>
            <attacher name="John Stanley">jpsinthemix</attacher>
            
              <data encoding="base64">LS0tIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm9sZC9rd2luL2NvbXBvc2l0aW5ncHJlZnMuaAky
MDEwLTA5LTE1IDAwOjE4OjQ0LjQ1NjAwNzQ1NiAtMDQwMAorKysga2RlYmFzZS13b3Jrc3BhY2Ut
NC41LjEubmV3L2t3aW4vY29tcG9zaXRpbmdwcmVmcy5oCTIwMTAtMDktMTUgMDA6MjA6MDYuNzM3
MDAwMDc2IC0wNDAwCkBAIC05MCw2ICs5MCw4IEBACiAgICAgYm9vbCBtU3RyaWN0QmluZGluZzsK
IAogI2lmZGVmIEtXSU5fSEFWRV9PUEVOR0xfQ09NUE9TSVRJTkcKKyAgICBYVmlzdWFsSW5mbyAq
bVZpc2luZm87CisgICAgQ29sb3JtYXAgbUNvbG9ybWFwOwogICAgIEdMWENvbnRleHQgbUdMQ29u
dGV4dDsKICAgICBXaW5kb3cgbUdMV2luZG93OwogI2VuZGlmCi0tLSBrZGViYXNlLXdvcmtzcGFj
ZS00LjUuMS5vbGQva3dpbi9jb21wb3NpdGluZ3ByZWZzLmNwcAkyMDEwLTA5LTE1IDAwOjE4OjUx
LjI0Njk5OTkyMCAtMDQwMAorKysga2RlYmFzZS13b3Jrc3BhY2UtNC41LjEubmV3L2t3aW4vY29t
cG9zaXRpbmdwcmVmcy5jcHAJMjAxMC0wOS0xNSAwMDoyNDo0Ni44NDQ5OTk1OTkgLTA0MDAKQEAg
LTExOCw2ICsxMTgsMTMgQEAKICAgICAgICAgfQogCiAjaWZkZWYgS1dJTl9IQVZFX09QRU5HTF9D
T01QT1NJVElORworICAgIGlmKCBnbFhHZXRDdXJyZW50Q29udGV4dCgpICE9IE5VTEwgKQorICAg
ICAgICB7CisgICAgICAgIGRldGVjdERyaXZlckFuZFZlcnNpb24oKTsKKyAgICAgICAgYXBwbHlE
cml2ZXJTcGVjaWZpY09wdGlvbnMoKTsKKyAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAg
ICAvLyBIQUNLOiBUaGlzIGlzIG5lZWRlZCBmb3IgQUlHTFgKICAgICBpZiggcXN0cmNtcCggcWdl
dGVudiggIktXSU5fRElSRUNUX0dMIiApLCAiMSIgKSAhPSAwICkKICAgICAgICAgewpAQCAtMTQw
LDI0ICsxNDcsMTMgQEAKICAgICBpbnQgZ2x4bWFqb3IsIGdseG1pbm9yOwogICAgIGdsWFF1ZXJ5
VmVyc2lvbiggZGlzcGxheSgpLCAmZ2x4bWFqb3IsICZnbHhtaW5vciApOwogICAgIGtEZWJ1Zygg
MTIxMiApIDw8ICJnbHggdmVyc2lvbiBpcyAiIDw8IGdseG1ham9yIDw8ICIuIiA8PCBnbHhtaW5v
cjsKLSAgICBib29sIGhhc2dseDEzID0gKCBnbHhtYWpvciA+IDEgfHwgKCBnbHhtYWpvciA9PSAx
ICYmIGdseG1pbm9yID49IDMgKSk7Ci0KLSAgICAvLyByZW1lbWJlciBhbmQgbGF0ZXIgcmVzdG9y
ZSBhY3RpdmUgY29udGV4dAotICAgIEdMWENvbnRleHQgb2xkY29udGV4dCA9IGdsWEdldEN1cnJl
bnRDb250ZXh0KCk7Ci0gICAgR0xYRHJhd2FibGUgb2xkZHJhd2FibGUgPSBnbFhHZXRDdXJyZW50
RHJhd2FibGUoKTsKLSAgICBHTFhEcmF3YWJsZSBvbGRyZWFkZHJhd2FibGUgPSBOb25lOwotICAg
IGlmKCBoYXNnbHgxMyApCi0gICAgICAgIG9sZHJlYWRkcmF3YWJsZSA9IGdsWEdldEN1cnJlbnRS
ZWFkRHJhd2FibGUoKTsKIAogICAgIGlmKCBpbml0R0xYQ29udGV4dCgpICkKICAgICAgICAgewog
ICAgICAgICBkZXRlY3REcml2ZXJBbmRWZXJzaW9uKCk7CiAgICAgICAgIGFwcGx5RHJpdmVyU3Bl
Y2lmaWNPcHRpb25zKCk7CisgICAgICAgIGdsWE1ha2VDdXJyZW50KCBkaXNwbGF5KCksIE5vbmUs
IE5VTEwgKTsKICAgICAgICAgfQotICAgIGlmKCBoYXNnbHgxMyApCi0gICAgICAgIGdsWE1ha2VD
b250ZXh0Q3VycmVudCggZGlzcGxheSgpLCBvbGRkcmF3YWJsZSwgb2xkcmVhZGRyYXdhYmxlLCBv
bGRjb250ZXh0ICk7Ci0gICAgZWxzZQotICAgICAgICBnbFhNYWtlQ3VycmVudCggZGlzcGxheSgp
LCBvbGRkcmF3YWJsZSwgb2xkY29udGV4dCApOwogICAgIGRlbGV0ZUdMWENvbnRleHQoKTsKICNl
bmRpZgogICAgIH0KQEAgLTE2Niw2ICsxNjIsOSBAQAogewogI2lmZGVmIEtXSU5fSEFWRV9PUEVO
R0xfQ09NUE9TSVRJTkcKICAgICBtR0xDb250ZXh0ID0gTlVMTDsKKyAgICBtVmlzaW5mbyAgID0g
TlVMTDsKKyAgICBtQ29sb3JtYXAgID0gMDsKKyAgICBtR0xXaW5kb3cgID0gMDsKICAgICBLWEVy
cm9ySGFuZGxlciBoYW5kbGVyOwogICAgIC8vIE1vc3Qgb2YgdGhpcyBjb2RlIGhhcyBiZWVuIHRh
a2VuIGZyb20gZ2x4aW5mby5jCiAgICAgUVZlY3RvcjxpbnQ+IGF0dHJpYnM7CkBAIC0xNzUsMzcg
KzE3NCwzOSBAQAogICAgIGF0dHJpYnMgPDwgR0xYX0JMVUVfU0laRSA8PCAxOwogICAgIGF0dHJp
YnMgPDwgTm9uZTsKIAotICAgIFhWaXN1YWxJbmZvKiB2aXNpbmZvID0gZ2xYQ2hvb3NlVmlzdWFs
KCBkaXNwbGF5KCksIERlZmF1bHRTY3JlZW4oIGRpc3BsYXkoKSksIGF0dHJpYnMuZGF0YSgpICk7
Ci0gICAgaWYoICF2aXNpbmZvICkKKyAgICBtVmlzaW5mbyA9IGdsWENob29zZVZpc3VhbCggZGlz
cGxheSgpLCBEZWZhdWx0U2NyZWVuKCBkaXNwbGF5KCkpLCBhdHRyaWJzLmRhdGEoKSApOworICAg
IGlmKCAhbVZpc2luZm8gKQogICAgICAgICB7CiAgICAgICAgIGF0dHJpYnMubGFzdCgpID0gR0xY
X0RPVUJMRUJVRkZFUjsKICAgICAgICAgYXR0cmlicyA8PCBOb25lOwotICAgICAgICB2aXNpbmZv
ID0gZ2xYQ2hvb3NlVmlzdWFsKCBkaXNwbGF5KCksIERlZmF1bHRTY3JlZW4oIGRpc3BsYXkoKSks
IGF0dHJpYnMuZGF0YSgpICk7Ci0gICAgICAgIGlmICghdmlzaW5mbykKKyAgICAgICAgbVZpc2lu
Zm8gPSBnbFhDaG9vc2VWaXN1YWwoIGRpc3BsYXkoKSwgRGVmYXVsdFNjcmVlbiggZGlzcGxheSgp
KSwgYXR0cmlicy5kYXRhKCkgKTsKKyAgICAgICAgaWYoICFtVmlzaW5mbyApCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICBrRGVidWcoIDEyMTIgKSA8PCAiRXJyb3I6IGNvdWxkbid0IGZpbmQg
UkdCIEdMWCB2aXN1YWwiOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKLSAgICBtR0xDb250ZXh0ID0gZ2xYQ3JlYXRlQ29udGV4dCggZGlzcGxh
eSgpLCB2aXNpbmZvLCBOVUxMLCBUcnVlICk7CisgICAgbUdMQ29udGV4dCA9IGdsWENyZWF0ZUNv
bnRleHQoIGRpc3BsYXkoKSwgbVZpc2luZm8sIE5VTEwsIFRydWUgKTsKICAgICBpZiAoICFtR0xD
b250ZXh0ICkKICAgICB7CiAgICAgICAgIGtEZWJ1ZyggMTIxMiApIDw8ICJnbFhDcmVhdGVDb250
ZXh0IGZhaWxlZCI7Ci0gICAgICAgIFhEZXN0cm95V2luZG93KCBkaXNwbGF5KCksIG1HTFdpbmRv
dyApOworICAgICAgICBYRnJlZSggbVZpc2luZm8gKTsKKyAgICAgICAgbVZpc2luZm8gPSBOVUxM
OwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgWFNldFdpbmRvd0F0dHJpYnV0
ZXMgYXR0cjsKICAgICBhdHRyLmJhY2tncm91bmRfcGl4ZWwgPSAwOwogICAgIGF0dHIuYm9yZGVy
X3BpeGVsID0gMDsKLSAgICBhdHRyLmNvbG9ybWFwID0gWENyZWF0ZUNvbG9ybWFwKCBkaXNwbGF5
KCksIHJvb3RXaW5kb3coKSwgdmlzaW5mby0+dmlzdWFsLCBBbGxvY05vbmUgKTsKKyAgICBtQ29s
b3JtYXAgPSBYQ3JlYXRlQ29sb3JtYXAoIGRpc3BsYXkoKSwgcm9vdFdpbmRvdygpLCBtVmlzaW5m
by0+dmlzdWFsLCBBbGxvY05vbmUgKTsKKyAgICBhdHRyLmNvbG9ybWFwID0gbUNvbG9ybWFwOwog
ICAgIGF0dHIuZXZlbnRfbWFzayA9IFN0cnVjdHVyZU5vdGlmeU1hc2sgfCBFeHBvc3VyZU1hc2s7
CiAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gQ1dCYWNrUGl4ZWwgfCBDV0JvcmRlclBpeGVsIHwg
Q1dDb2xvcm1hcCB8IENXRXZlbnRNYXNrOwogICAgIGludCB3aWR0aCA9IDEwMCwgaGVpZ2h0ID0g
MTAwOwogICAgIG1HTFdpbmRvdyA9IFhDcmVhdGVXaW5kb3coIGRpc3BsYXkoKSwgcm9vdFdpbmRv
dygpLCAwLCAwLCB3aWR0aCwgaGVpZ2h0LAotICAgICAgICAgICAgICAgICAgICAgICAwLCB2aXNp
bmZvLT5kZXB0aCwgSW5wdXRPdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgIHZpc2luZm8t
PnZpc3VhbCwgbWFzaywgJmF0dHIgKTsKKyAgICAgICAgICAgICAgICAgICAgICAgMCwgbVZpc2lu
Zm8tPmRlcHRoLCBJbnB1dE91dHB1dCwKKyAgICAgICAgICAgICAgICAgICAgICAgbVZpc2luZm8t
PnZpc3VhbCwgbWFzaywgJmF0dHIgKTsKIAogICAgIHJldHVybiBnbFhNYWtlQ3VycmVudCggZGlz
cGxheSgpLCBtR0xXaW5kb3csIG1HTENvbnRleHQgKSAmJiAhaGFuZGxlci5lcnJvciggdHJ1ZSAp
OwogI2Vsc2UKQEAgLTIxNiwxMCArMjE3LDI2IEBACiB2b2lkIENvbXBvc2l0aW5nUHJlZnM6OmRl
bGV0ZUdMWENvbnRleHQoKQogewogI2lmZGVmIEtXSU5fSEFWRV9PUEVOR0xfQ09NUE9TSVRJTkcK
LSAgICBpZiggbUdMQ29udGV4dCA9PSBOVUxMICkKLSAgICAgICAgcmV0dXJuOwotICAgIGdsWERl
c3Ryb3lDb250ZXh0KCBkaXNwbGF5KCksIG1HTENvbnRleHQgKTsKLSAgICBYRGVzdHJveVdpbmRv
dyggZGlzcGxheSgpLCBtR0xXaW5kb3cgKTsKKyAgICBpZiggbUdMV2luZG93ICE9IDAgKQorICAg
ICAgICB7CisgICAgICAgIFhEZXN0cm95V2luZG93KCBkaXNwbGF5KCksIG1HTFdpbmRvdyApOwor
ICAgICAgICBtR0xXaW5kb3cgPSAwOworICAgICAgICB9CisgICAgaWYoIG1HTENvbnRleHQgIT0g
TlVMTCApCisgICAgICAgIHsKKyAgICAgICAgZ2xYRGVzdHJveUNvbnRleHQoIGRpc3BsYXkoKSwg
bUdMQ29udGV4dCApOworICAgICAgICBtR0xDb250ZXh0ID0gTlVMTDsKKyAgICAgICAgfQorICAg
IGlmKCBtQ29sb3JtYXAgIT0gMCApCisgICAgICAgIHsKKyAgICAgICAgWEZyZWVDb2xvcm1hcCgg
ZGlzcGxheSgpLCBtQ29sb3JtYXApOworICAgICAgICBtQ29sb3JtYXAgPSAwOworICAgICAgICB9
CisgICAgaWYoIG1WaXNpbmZvICE9IE5VTEwgKQorICAgICAgICB7CisgICAgICAgIFhGcmVlKCBt
VmlzaW5mbyApOworICAgICAgICBtVmlzaW5mbyA9IE5VTEw7CisgICAgICAgIH0KICNlbmRpZgog
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51774</attachid>
            <date>2010-09-18 08:48:07 +0000</date>
            <delta_ts>2010-09-18 08:48:07 +0000</delta_ts>
            <desc>compositing settings fix and resource cleanup</desc>
            <filename>kdebase-workspace-4.5.1-compositing.settings.04.patch</filename>
            <type>text/plain</type>
            <size>13055</size>
            <attacher name="John Stanley">jpsinthemix</attacher>
            
              <data encoding="base64">a2RlYmFzZS13b3Jrc3BhY2UtNC41LjEtY29tcG9zaXRpbmcuc2V0dGluZ3MuMDQucGF0Y2gKCiAg
SXRzIGJldHRlciB0byBkbyBnbFhEZXN0cm95V2luZG93LCBhbmQgWEZyZWVDb2xvck1hcCwgYmVm
b3JlIGRvaW5nIGdsWERlc3Ryb3lDb250ZXh0LCBhbmQKICBnbFhNYWtlQ3VycmVudChkcHksIE5v
bmUsIE5VTEwpLCBiZWZvcmUgZ2xYRGVzdHJveUNvbnRleHQuICBIb3dldmVyLCB0aGUgbGF0ZXIg
ZG9lcyBub3QKICB3b3JrIHdlbGwgaW4gdGhlIGNvbXBvc2l0aW5ncHJlZnMuY3BwIGRldGVjdCgp
IG1ldGhvZCBmb3IgdGhlIHJlYXNvbnMgZXhwbGFpbmVkIHRoZXJlaW4uCgogIFJlc291cmNlIGNs
ZWFudXAgYWRkZWQsIGFuZCBnbFhNYWtlQ3VycmVudC1nbFhEZXN0cm95Q29udGV4dCByZXBvc2l0
aW9uaW5nOgogICAgPiBrZGViYXNlLXdvcmtzcGFjZS00LjUuMS9rd2luL2NvbXBvc2l0aW5ncHJl
ZnMuaAogICAgPiBrZGViYXNlLXdvcmtzcGFjZS00LjUuMS9rd2luL2NvbXBvc2l0aW5ncHJlZnMu
Y3BwCgogIE1vdmUgZ2xYRGVzdHJveUNvbnRleHQoKSBmcm9tIGJlZm9yZSB0byBhZnRlciByZWxl
YXNlIG9mIGRyYXdhYmxlcyAoWEZyZWVQaXhtYXAsIFhGcmVlUGl4bWFwKToKICAgID4ga2RlYmFz
ZS13b3Jrc3BhY2UtNC41LjEva3dpbi9zY2VuZV9vcGVuZ2wuY3BwCgogIE1ha2UgY29udGV4dCBu
b24tY3VycmVudCBwcmlvciB0byBnbFhEZXN0cm95Q29udGV4dCgpIGFuZCBtb3ZlIGdsWERlc3Ry
b3lDb250ZXh0KCkgZnJvbSBiZWZvcmUKICB0byBhZnRlciByZWxlYXNlIG9mIFdpbmRvdyAod2lu
KToKICAgID4ga2RlYmFzZS13b3Jrc3BhY2UtNC41LjEva2luZm9jZW50ZXIvTW9kdWxlcy9vcGVu
Z2wvb3BlbmdsLmNwcAoKICBSZXNvdXJjZSBjbGVhbnVwIGFkZGVkOgogICAgPiBrZGViYXNlLXdv
cmtzcGFjZS00LjUuMS9rd2luL29wZW5nbHRlc3Qvb3BlbmdsdGVzdC5jcHAKCi0tLSBrZGViYXNl
LXdvcmtzcGFjZS00LjUuMS5vbGQva3dpbi9jb21wb3NpdGluZ3ByZWZzLmgJMjAxMC0wOS0xNiAw
NjowNTo1Ni4xMDEwMDAwMDAgLTA0MDAKKysrIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm5ldy9r
d2luL2NvbXBvc2l0aW5ncHJlZnMuaAkyMDEwLTA5LTE2IDA2OjA1OjQ0LjY4MjAwMjk4MyAtMDQw
MApAQCAtOTAsNiArOTAsOCBAQAogICAgIGJvb2wgbVN0cmljdEJpbmRpbmc7CiAKICNpZmRlZiBL
V0lOX0hBVkVfT1BFTkdMX0NPTVBPU0lUSU5HCisgICAgWFZpc3VhbEluZm8gKm1WaXNpbmZvOwor
ICAgIENvbG9ybWFwIG1Db2xvcm1hcDsKICAgICBHTFhDb250ZXh0IG1HTENvbnRleHQ7CiAgICAg
V2luZG93IG1HTFdpbmRvdzsKICNlbmRpZgotLS0ga2RlYmFzZS13b3Jrc3BhY2UtNC41LjEub2xk
L2t3aW4vY29tcG9zaXRpbmdwcmVmcy5jcHAJMjAxMC0wOS0xNiAwNjowNjowMC4wMDU5OTc5NzAg
LTA0MDAKKysrIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm5ldy9rd2luL2NvbXBvc2l0aW5ncHJl
ZnMuY3BwCTIwMTAtMDktMTggMDI6MDQ6MDUuMjIwMDAyMjg0IC0wNDAwCkBAIC0xNTQsMTEgKzE1
NCwyNyBAQAogICAgICAgICBkZXRlY3REcml2ZXJBbmRWZXJzaW9uKCk7CiAgICAgICAgIGFwcGx5
RHJpdmVyU3BlY2lmaWNPcHRpb25zKCk7CiAgICAgICAgIH0KKyAgICAvLyBNZXNhIEhhY2sgKG5l
ZWRlZCBhdCBsZWFzdCBmb3IgTWVzYSB2ZXJzaW9ucyB1cCB0byA3LjguMik6IGRlc3Ryb3kgdGhl
IG1HTENvbnRleHQKKyAgICAvLyBjb250ZXh0IHByaW9yIHRvIG1ha2luZyBpdCBub24tY3VycmVu
dCAodGhpcyBpcyBpbiBmYWN0IE9wZW5HTC1sZWdhbCBhbmQgc2hvdWxkbid0CisgICAgLy8gbWFr
ZSBhIGRpZmZlcmVuY2UsIGJ1dCBmb3IgTWVzYSwgd2hldGhlciBhIGNvbnRleHQgaXMgZGVzdHJv
eWVkIHByaW9yIHRvLCBvciBhZnRlcgorICAgIC8vIGl0IGhhcyBiZWVuIG1hZGUgbm9uLWN1cnJl
bnQgbWFrZXMgYSBkaWZmZXJlbmNlIGluIHdoYXQgTWVzYS1pbnRlcm5hbCByZXNvdXJjZXMgYXJl
CisgICAgLy8gcmVsZWFzZWQgd2hlbiBkZWxldGVHTFhDb250ZXh0KCkgaXMgY2FsbGVkKS4gIElu
IHRoZSBwcmVzZW50IGNhc2UsIGlmIGNvbXBvc2l0aW5nCisgICAgLy8gaXMgYWN0aXZlIG9uIGVu
dHJ5IHRvIGRldGVjdCgpLCBvbGRjb250ZXh0IHdpbGwgYmUgYXNzb2NpYXRlZCB3aXRoIGN1cnJl
bnQgUGl4bWFwCisgICAgLy8gZHJhd2FibGVzIGJ1dCBub3QgbmVjZXNzYXJpbHkgYSBjdXJyZW50
IFggV2luZG93LiAgSWYgbUdMQ29udGV4dCBpcyBtYWRlIG5vbi1jdXJyZW50CisgICAgLy8gcHJp
b3IgdG8gZGVzdHJveWluZyBpdCwgTWVzYSB3aWxsIG5vdCBvbmx5IHJlbGVhc2UgZHJhd2FibGVz
IGFzc29jaWF0ZWQgd2l0aAorICAgIC8vIG1HTENvbnRleHQsIGJ1dCBhbHNvIHJlbGVhc2UgTWVz
YS1pbnRlcm5hbC9sb2NhbCBkcmkgZHJhd2FibGVzIGFzc29jaWF0ZWQgd2l0aAorICAgIC8vIG9s
ZGNvbnRleHQsIHJlc3VsdGluZyBpbiB0aGUgZGVza3RvcCBiZWNvbWluZyBub24tcmVzcG9uc2l2
ZSB0byBtb3VzZSBpbnB1dC4gSWYKKyAgICAvLyB3ZSBpbnN0ZWFkIGNhbGwgZGVsZXRlR0xYQ29u
dGV4dCgpIHByaW9yIHRvIG1ha2luZyBtR0xDb250ZXh0IG5vbi1jdXJyZW50LCB0aGVuCisgICAg
Ly8gdGhlIE1lc2EtaW50ZXJuYWwvbG9jYWwgZHJpIGRyYXdhYmxlcyBhc3NvY2lhdGVkIHdpdGgg
b2xkY29udGV4dCBhcmUgbm90IHJlbGVhc2VkCisgICAgLy8gaGVyZSAtLSB0aGV5IHdpbGwgYmUg
cmVsZWFzZWQgbGF0ZXIgd2hlbiBvbGRjb250ZXh0IGlmIGRlc3Ryb3llZCwgc28gdGhlcmUgc2hv
dWxkCisgICAgLy8gYmUgbm8gbWVtb3J5IGxlYWtzIGluY3VycmVkLiAgVGhpcyBpc3N1ZSBpcyBp
biBmYWN0IGEgZGVlcCBwcm9ibGVtIGluIE1lc2EgcmVsYXRlZAorICAgIC8vIHRvIHRoZSBoYW5k
bGluZyBvZiBQaXhtYXBzIGluIGdlbmVyYWwgKGFzIG9wcG9zZWQgV2luZG93cyksIGFuZCBwcm9i
YWJseSB3b24ndCBiZQorICAgIC8vIGZpeGVkIHNvb24uCisgICAgZGVsZXRlR0xYQ29udGV4dCgp
OwogICAgIGlmKCBoYXNnbHgxMyApCiAgICAgICAgIGdsWE1ha2VDb250ZXh0Q3VycmVudCggZGlz
cGxheSgpLCBvbGRkcmF3YWJsZSwgb2xkcmVhZGRyYXdhYmxlLCBvbGRjb250ZXh0ICk7CiAgICAg
ZWxzZQogICAgICAgICBnbFhNYWtlQ3VycmVudCggZGlzcGxheSgpLCBvbGRkcmF3YWJsZSwgb2xk
Y29udGV4dCApOwotICAgIGRlbGV0ZUdMWENvbnRleHQoKTsKICNlbmRpZgogICAgIH0KIApAQCAt
MTY2LDYgKzE4Miw5IEBACiB7CiAjaWZkZWYgS1dJTl9IQVZFX09QRU5HTF9DT01QT1NJVElORwog
ICAgIG1HTENvbnRleHQgPSBOVUxMOworICAgIG1WaXNpbmZvICAgPSBOVUxMOworICAgIG1Db2xv
cm1hcCAgPSAwOworICAgIG1HTFdpbmRvdyAgPSAwOwogICAgIEtYRXJyb3JIYW5kbGVyIGhhbmRs
ZXI7CiAgICAgLy8gTW9zdCBvZiB0aGlzIGNvZGUgaGFzIGJlZW4gdGFrZW4gZnJvbSBnbHhpbmZv
LmMKICAgICBRVmVjdG9yPGludD4gYXR0cmliczsKQEAgLTE3NSwzNyArMTk0LDM5IEBACiAgICAg
YXR0cmlicyA8PCBHTFhfQkxVRV9TSVpFIDw8IDE7CiAgICAgYXR0cmlicyA8PCBOb25lOwogCi0g
ICAgWFZpc3VhbEluZm8qIHZpc2luZm8gPSBnbFhDaG9vc2VWaXN1YWwoIGRpc3BsYXkoKSwgRGVm
YXVsdFNjcmVlbiggZGlzcGxheSgpKSwgYXR0cmlicy5kYXRhKCkgKTsKLSAgICBpZiggIXZpc2lu
Zm8gKQorICAgIG1WaXNpbmZvID0gZ2xYQ2hvb3NlVmlzdWFsKCBkaXNwbGF5KCksIERlZmF1bHRT
Y3JlZW4oIGRpc3BsYXkoKSksIGF0dHJpYnMuZGF0YSgpICk7CisgICAgaWYoICFtVmlzaW5mbyAp
CiAgICAgICAgIHsKICAgICAgICAgYXR0cmlicy5sYXN0KCkgPSBHTFhfRE9VQkxFQlVGRkVSOwog
ICAgICAgICBhdHRyaWJzIDw8IE5vbmU7Ci0gICAgICAgIHZpc2luZm8gPSBnbFhDaG9vc2VWaXN1
YWwoIGRpc3BsYXkoKSwgRGVmYXVsdFNjcmVlbiggZGlzcGxheSgpKSwgYXR0cmlicy5kYXRhKCkg
KTsKLSAgICAgICAgaWYgKCF2aXNpbmZvKQorICAgICAgICBtVmlzaW5mbyA9IGdsWENob29zZVZp
c3VhbCggZGlzcGxheSgpLCBEZWZhdWx0U2NyZWVuKCBkaXNwbGF5KCkpLCBhdHRyaWJzLmRhdGEo
KSApOworICAgICAgICBpZiggIW1WaXNpbmZvICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
IGtEZWJ1ZyggMTIxMiApIDw8ICJFcnJvcjogY291bGRuJ3QgZmluZCBSR0IgR0xYIHZpc3VhbCI7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot
ICAgIG1HTENvbnRleHQgPSBnbFhDcmVhdGVDb250ZXh0KCBkaXNwbGF5KCksIHZpc2luZm8sIE5V
TEwsIFRydWUgKTsKKyAgICBtR0xDb250ZXh0ID0gZ2xYQ3JlYXRlQ29udGV4dCggZGlzcGxheSgp
LCBtVmlzaW5mbywgTlVMTCwgVHJ1ZSApOwogICAgIGlmICggIW1HTENvbnRleHQgKQogICAgIHsK
ICAgICAgICAga0RlYnVnKCAxMjEyICkgPDwgImdsWENyZWF0ZUNvbnRleHQgZmFpbGVkIjsKLSAg
ICAgICAgWERlc3Ryb3lXaW5kb3coIGRpc3BsYXkoKSwgbUdMV2luZG93ICk7CisgICAgICAgIFhG
cmVlKCBtVmlzaW5mbyApOworICAgICAgICBtVmlzaW5mbyA9IE5VTEw7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKICAgICBYU2V0V2luZG93QXR0cmlidXRlcyBhdHRyOwogICAgIGF0
dHIuYmFja2dyb3VuZF9waXhlbCA9IDA7CiAgICAgYXR0ci5ib3JkZXJfcGl4ZWwgPSAwOwotICAg
IGF0dHIuY29sb3JtYXAgPSBYQ3JlYXRlQ29sb3JtYXAoIGRpc3BsYXkoKSwgcm9vdFdpbmRvdygp
LCB2aXNpbmZvLT52aXN1YWwsIEFsbG9jTm9uZSApOworICAgIG1Db2xvcm1hcCA9IFhDcmVhdGVD
b2xvcm1hcCggZGlzcGxheSgpLCByb290V2luZG93KCksIG1WaXNpbmZvLT52aXN1YWwsIEFsbG9j
Tm9uZSApOworICAgIGF0dHIuY29sb3JtYXAgPSBtQ29sb3JtYXA7CiAgICAgYXR0ci5ldmVudF9t
YXNrID0gU3RydWN0dXJlTm90aWZ5TWFzayB8IEV4cG9zdXJlTWFzazsKICAgICB1bnNpZ25lZCBs
b25nIG1hc2sgPSBDV0JhY2tQaXhlbCB8IENXQm9yZGVyUGl4ZWwgfCBDV0NvbG9ybWFwIHwgQ1dF
dmVudE1hc2s7CiAgICAgaW50IHdpZHRoID0gMTAwLCBoZWlnaHQgPSAxMDA7CiAgICAgbUdMV2lu
ZG93ID0gWENyZWF0ZVdpbmRvdyggZGlzcGxheSgpLCByb290V2luZG93KCksIDAsIDAsIHdpZHRo
LCBoZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgIDAsIHZpc2luZm8tPmRlcHRoLCBJbnB1
dE91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgdmlzaW5mby0+dmlzdWFsLCBtYXNrLCAm
YXR0ciApOworICAgICAgICAgICAgICAgICAgICAgICAwLCBtVmlzaW5mby0+ZGVwdGgsIElucHV0
T3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICBtVmlzaW5mby0+dmlzdWFsLCBtYXNrLCAm
YXR0ciApOwogCiAgICAgcmV0dXJuIGdsWE1ha2VDdXJyZW50KCBkaXNwbGF5KCksIG1HTFdpbmRv
dywgbUdMQ29udGV4dCApICYmICFoYW5kbGVyLmVycm9yKCB0cnVlICk7CiAjZWxzZQpAQCAtMjE2
LDEwICsyMzcsMjYgQEAKIHZvaWQgQ29tcG9zaXRpbmdQcmVmczo6ZGVsZXRlR0xYQ29udGV4dCgp
CiB7CiAjaWZkZWYgS1dJTl9IQVZFX09QRU5HTF9DT01QT1NJVElORwotICAgIGlmKCBtR0xDb250
ZXh0ID09IE5VTEwgKQotICAgICAgICByZXR1cm47Ci0gICAgZ2xYRGVzdHJveUNvbnRleHQoIGRp
c3BsYXkoKSwgbUdMQ29udGV4dCApOwotICAgIFhEZXN0cm95V2luZG93KCBkaXNwbGF5KCksIG1H
TFdpbmRvdyApOworICAgIGlmKCBtR0xXaW5kb3cgIT0gMCApCisgICAgICAgIHsKKyAgICAgICAg
WERlc3Ryb3lXaW5kb3coIGRpc3BsYXkoKSwgbUdMV2luZG93ICk7CisgICAgICAgIG1HTFdpbmRv
dyA9IDA7CisgICAgICAgIH0KKyAgICBpZiggbUNvbG9ybWFwICE9IDAgKQorICAgICAgICB7Cisg
ICAgICAgIFhGcmVlQ29sb3JtYXAoIGRpc3BsYXkoKSwgbUNvbG9ybWFwKTsKKyAgICAgICAgbUNv
bG9ybWFwID0gMDsKKyAgICAgICAgfQorICAgIGlmKCBtR0xDb250ZXh0ICE9IE5VTEwgKQorICAg
ICAgICB7CisgICAgICAgIGdsWERlc3Ryb3lDb250ZXh0KCBkaXNwbGF5KCksIG1HTENvbnRleHQg
KTsKKyAgICAgICAgbUdMQ29udGV4dCA9IE5VTEw7CisgICAgICAgIH0KKyAgICBpZiggbVZpc2lu
Zm8gIT0gTlVMTCApCisgICAgICAgIHsKKyAgICAgICAgWEZyZWUoIG1WaXNpbmZvICk7CisgICAg
ICAgIG1WaXNpbmZvID0gTlVMTDsKKyAgICAgICAgfQogI2VuZGlmCiB9CiAKLS0tIGtkZWJhc2Ut
d29ya3NwYWNlLTQuNS4xLm9sZC9rd2luL3NjZW5lX29wZW5nbC5jcHAJMjAxMC0wOS0xNiAwNTo1
MDozMi4xMDk5OTk5NDggLTA0MDAKKysrIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm5ldy9rd2lu
L3NjZW5lX29wZW5nbC5jcHAJMjAxMC0wOS0xNiAwNTo1NToxNC44OTQwMDAyODEgLTA0MDAKQEAg
LTIxMSw3ICsyMTEsNiBAQAogICAgICAgICBkZWxldGUgdzsKICAgICAvLyBkbyBjbGVhbnVwIGFm
dGVyIGluaXRCdWZmZXIoKQogICAgIGdsWE1ha2VDdXJyZW50KCBkaXNwbGF5KCksIE5vbmUsIE5V
TEwgKTsKLSAgICBnbFhEZXN0cm95Q29udGV4dCggZGlzcGxheSgpLCBjdHhidWZmZXIgKTsKICAg
ICBpZiggd3NwYWNlLT5vdmVybGF5V2luZG93KCkpCiAgICAgICAgIHsKICAgICAgICAgaWYoIGhh
c0dMWFZlcnNpb24oIDEsIDMgKSkKQEAgLTIyNSw2ICsyMjQsNyBAQAogICAgICAgICBYRnJlZUdD
KCBkaXNwbGF5KCksIGdjcm9vdCApOwogICAgICAgICBYRnJlZVBpeG1hcCggZGlzcGxheSgpLCBi
dWZmZXIgKTsKICAgICAgICAgfQorICAgIGdsWERlc3Ryb3lDb250ZXh0KCBkaXNwbGF5KCksIGN0
eGJ1ZmZlciApOwogICAgIGlmKCBzaG1fbW9kZSApCiAgICAgICAgIGNsZWFudXBTaG0oKTsKICAg
ICBpZiggIXRmcF9tb2RlICYmICFzaG1fbW9kZSApCi0tLSBrZGViYXNlLXdvcmtzcGFjZS00LjUu
MS5vbGQva2luZm9jZW50ZXIvTW9kdWxlcy9vcGVuZ2wvb3BlbmdsLmNwcAkyMDEwLTA5LTE2IDA1
OjU3OjIxLjc4NDAwMDA5MSAtMDQwMAorKysga2RlYmFzZS13b3Jrc3BhY2UtNC41LjEubmV3L2tp
bmZvY2VudGVyL01vZHVsZXMvb3BlbmdsL29wZW5nbC5jcHAJMjAxMC0wOS0xNyAwNToxODoxMy44
Nzk5OTk5NzAgLTA0MDAKQEAgLTYxNyw4ICs2MTcsOSBAQAogICAgWFNldFdpbmRvd0F0dHJpYnV0
ZXMgYXR0cjsKICAgIHVuc2lnbmVkIGxvbmcgbWFzazsKICAgIFdpbmRvdyByb290OwotICAgR0xY
Q29udGV4dCBjdHg7Ci0gICBYVmlzdWFsSW5mbyAqdmlzaW5mbzsKKyAgIEdMWENvbnRleHQgY3R4
ID0gTlVMTDsKKyAgIFhWaXN1YWxJbmZvICp2aXNpbmZvID0gTlVMTDsKKyAgIENvbG9ybWFwIGNv
bG9ybWFwID0gMDsKICAgIGludCB3aWR0aCA9IDEwMCwgaGVpZ2h0ID0gMTAwOwogICAgUVRyZWVX
aWRnZXRJdGVtICpyZXN1bHQgPSBhZnRlcjsKIApAQCAtNjM1LDcgKzYzNiw4IEBACiAKICAgIGF0
dHIuYmFja2dyb3VuZF9waXhlbCA9IDA7CiAgICBhdHRyLmJvcmRlcl9waXhlbCA9IDA7Ci0gICBh
dHRyLmNvbG9ybWFwID0gWENyZWF0ZUNvbG9ybWFwKGRweSwgcm9vdCwgdmlzaW5mby0+dmlzdWFs
LCBBbGxvY05vbmUpOworICAgY29sb3JtYXAgPSBYQ3JlYXRlQ29sb3JtYXAoZHB5LCByb290LCB2
aXNpbmZvLT52aXN1YWwsIEFsbG9jTm9uZSk7CisgICBhdHRyLmNvbG9ybWFwID0gY29sb3JtYXA7
CiAgICBhdHRyLmV2ZW50X21hc2sgPSBTdHJ1Y3R1cmVOb3RpZnlNYXNrIHwgRXhwb3N1cmVNYXNr
OwogICAgbWFzayA9IENXQmFja1BpeGVsIHwgQ1dCb3JkZXJQaXhlbCB8IENXQ29sb3JtYXAgfCBD
V0V2ZW50TWFzazsKICAgIHdpbiA9IFhDcmVhdGVXaW5kb3coZHB5LCByb290LCAwLCAwLCB3aWR0
aCwgaGVpZ2h0LApAQCAtNjQ1LDcgKzY0NywxMSBAQAogICAgY3R4ID0gZ2xYQ3JlYXRlQ29udGV4
dCggZHB5LCB2aXNpbmZvLCBOVUxMLCBhbGxvd0RpcmVjdCApOwogICAgaWYgKCFjdHgpIHsKIAkJ
a0RlYnVnKCkgPDwgIkVycm9yOiBnbFhDcmVhdGVDb250ZXh0IGZhaWxlZFxuIjsKLSAgICAgIFhE
ZXN0cm95V2luZG93KGRweSwgd2luKTsKKyAgICAgIGlmKCB3aW4gIT0gMCApCisgICAgICAgICAg
WERlc3Ryb3lXaW5kb3coZHB5LCB3aW4pOworICAgICAgaWYoIGNvbG9ybWFwICE9IDAgKQorICAg
ICAgICAgIFhGcmVlQ29sb3JtYXAoIGRweSwgY29sb3JtYXApOworICAgICAgWEZyZWUoIHZpc2lu
Zm8gKTsKICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CiAKQEAgLTY2OCwxMyArNjc0LDE4IEBA
CiAgICAgICBJc0RpcmVjdCA9IGdsWElzRGlyZWN0KGRweSwgY3R4KTsKIAogICAgICAgcmVzdWx0
ID0gcHJpbnRfc2NyZWVuX2luZm8obDEsIGFmdGVyKTsKKyAgICAgIGdsWE1ha2VDdXJyZW50KCBk
cHksIE5vbmUsIE5VTEwgKTsKICAgIH0KICAgIGVsc2UgewogICAgICAga0RlYnVnKCkgPDwgIkVy
cm9yOiBnbFhNYWtlQ3VycmVudCBmYWlsZWRcbiI7CiAgICB9CiAKKyAgIGlmKCB3aW4gIT0gMCAp
CisgICAgICAgWERlc3Ryb3lXaW5kb3coZHB5LCB3aW4pOworICAgaWYoIGNvbG9ybWFwICE9IDAg
KQorICAgICAgIFhGcmVlQ29sb3JtYXAoIGRweSwgY29sb3JtYXApOwogICAgZ2xYRGVzdHJveUNv
bnRleHQoZHB5LCBjdHgpOwotICAgWERlc3Ryb3lXaW5kb3coZHB5LCB3aW4pOworICAgWEZyZWUo
IHZpc2luZm8gKTsKICAgIHJldHVybiByZXN1bHQ7CiAKIH0KLS0tIGtkZWJhc2Utd29ya3NwYWNl
LTQuNS4xLm9sZC9rd2luL29wZW5nbHRlc3Qvb3BlbmdsdGVzdC5jcHAJMjAxMC0wOS0xNyAwNDo0
Njo1NC41NjEwMDAyMTcgLTA0MDAKKysrIGtkZWJhc2Utd29ya3NwYWNlLTQuNS4xLm5ldy9rd2lu
L29wZW5nbHRlc3Qvb3BlbmdsdGVzdC5jcHAJMjAxMC0wOS0xOCAwMDo1OTozMy4wODg5OTk3MTUg
LTA0MDAKQEAgLTIzLDE5ICsyMyw0MyBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUg
PHN0ZGlvLmg+CiAKK0Rpc3BsYXkgKmRweSA9IE5VTEw7CitYVmlzdWFsSW5mbyAqeHZpID0gTlVM
TDsKK0dMWENvbnRleHQgY3R4ID0gTlVMTDsKK0NvbG9ybWFwIGNvbG9ybWFwID0gMDsKK1dpbmRv
dyB3aW4gPSAwOwogCit2b2lkIGNsZWFudXAoKQoreworICAgIGlmIChkcHkgIT0gTlVMTCkgewor
ICAgICAgICBpZiAod2luKSBYRGVzdHJveVdpbmRvdyhkcHksIHdpbik7CisgICAgICAgIGlmIChj
b2xvcm1hcCkgWEZyZWVDb2xvcm1hcChkcHksIGNvbG9ybWFwKTsKKyAgICAgICAgaWYgKGN0eCAh
PSBOVUxMKSB7CisgICAgICAgICAgICBnbFhNYWtlQ3VycmVudChkcHksIE5vbmUsIE5VTEwpOwor
ICAgICAgICAgICAgZ2xYRGVzdHJveUNvbnRleHQoZHB5LCBjdHgpOworICAgICAgICB9CisgICAg
ICAgIGlmICh4dmkgIT0gTlVMTCkgWEZyZWUoeHZpKTsKKyAgICAgICAgWENsb3NlRGlzcGxheShk
cHkpOworICAgIH0KK30KIC8vIFJldHVybiAwIGlmIHdlIGNhbiB1c2UgYSBkaXJlY3QgY29udGV4
dCwgMSBvdGhlcndpc2UKIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7Ci0gICAg
RGlzcGxheSAqZHB5ID0gWE9wZW5EaXNwbGF5KDApOworICAgIGRweSA9IFhPcGVuRGlzcGxheSgw
KTsKKyAgICBpZiAoIWRweSkKKyAgICAgICAgcmV0dXJuIDE7CiAKICAgICBpbnQgZXJyb3JfYmFz
ZSwgZXZlbnRfYmFzZTsKLSAgICBpZiAoIWdsWFF1ZXJ5RXh0ZW5zaW9uKGRweSwgJmVycm9yX2Jh
c2UsICZldmVudF9iYXNlKSkKKyAgICBpZiAoIWdsWFF1ZXJ5RXh0ZW5zaW9uKGRweSwgJmVycm9y
X2Jhc2UsICZldmVudF9iYXNlKSkgeworICAgICAgICBjbGVhbnVwKCk7CiAgICAgICAgIHJldHVy
biAxOworICAgIH0KIAogICAgIGludCBtYWpvciwgbWlub3I7Ci0gICAgaWYgKCFnbFhRdWVyeVZl
cnNpb24oZHB5LCAmbWFqb3IsICZtaW5vcikpCisgICAgaWYgKCFnbFhRdWVyeVZlcnNpb24oZHB5
LCAmbWFqb3IsICZtaW5vcikpIHsKKyAgICAgICAgY2xlYW51cCgpOwogICAgICAgICByZXR1cm4g
MTsKKyAgICB9CiAKICAgICBpbnQgYXR0cmlic1tdID0gewogICAgICAgICBHTFhfUkdCQSwKQEAg
LTQ3LDU3ICs3MSw3NCBAQAogICAgIH07CiAKICAgICAvLyBUcnkgdG8gZmluZCBhbiBSR0JBIHZp
c3VhbAotICAgIFhWaXN1YWxJbmZvICp4dmkgPSBnbFhDaG9vc2VWaXN1YWwoZHB5LCBEZWZhdWx0
U2NyZWVuKGRweSksIGF0dHJpYnMpOworICAgIHh2aSA9IGdsWENob29zZVZpc3VhbChkcHksIERl
ZmF1bHRTY3JlZW4oZHB5KSwgYXR0cmlicyk7CiAgICAgaWYgKCF4dmkpIHsKICAgICAgICAgLy8g
VHJ5IGFnYWluIGZvciBhIGRvdWJsZWQgYnVmZmVyZWQgdmlzdWFsCiAgICAgICAgIGF0dHJpYnNb
c2l6ZW9mKGF0dHJpYnMpIC8gc2l6ZW9mKGludCkgLSAyXSA9IEdMWF9ET1VCTEVCVUZGRVI7CiAg
ICAgICAgIHh2aSA9IGdsWENob29zZVZpc3VhbChkcHksIERlZmF1bHRTY3JlZW4oZHB5KSwgYXR0
cmlicyk7CiAgICAgfQogCi0gICAgaWYgKCF4dmkpCisgICAgaWYgKCF4dmkpIHsKKyAgICAgICAg
Y2xlYW51cCgpOwogICAgICAgICByZXR1cm4gMTsKKyAgICB9CiAKICAgICAvLyBDcmVhdGUgYSBk
aXJlY3QgcmVuZGVyaW5nIGNvbnRleHQKLSAgICBHTFhDb250ZXh0IGN0eCA9IGdsWENyZWF0ZUNv
bnRleHQoZHB5LCB4dmksIE5VTEwsIFRydWUpOwotICAgIGlmICghZ2xYSXNEaXJlY3QoZHB5LCBj
dHgpKQorICAgIGN0eCA9IGdsWENyZWF0ZUNvbnRleHQoZHB5LCB4dmksIE5VTEwsIFRydWUpOwor
ICAgIGlmICghZ2xYSXNEaXJlY3QoZHB5LCBjdHgpKSB7CisgICAgICAgIGNsZWFudXAoKTsKICAg
ICAgICAgcmV0dXJuIDE7CisgICAgfQogCiAgICAgLy8gQ3JlYXRlIGEgd2luZG93IHVzaW5nIHRo
ZSB2aXN1YWwuCiAgICAgLy8gV2Ugb25seSBuZWVkIGl0IHRvIG1ha2UgdGhlIGNvbnRleHQgY3Vy
cmVudAogICAgIFhTZXRXaW5kb3dBdHRyaWJ1dGVzIGF0dHI7CiAgICAgYXR0ci5iYWNrZ3JvdW5k
X3BpeGVsID0gMDsKICAgICBhdHRyLmJvcmRlcl9waXhlbCA9IDA7Ci0gICAgYXR0ci5jb2xvcm1h
cCA9IFhDcmVhdGVDb2xvcm1hcChkcHksIERlZmF1bHRSb290V2luZG93KGRweSksIHh2aS0+dmlz
dWFsLCBBbGxvY05vbmUpOwotICAgIFdpbmRvdyB3aW4gPSBYQ3JlYXRlV2luZG93KGRweSwgRGVm
YXVsdFJvb3RXaW5kb3coZHB5KSwgMCwgMCwgMSwgMSwgMCwKKyAgICBjb2xvcm1hcCA9IFhDcmVh
dGVDb2xvcm1hcChkcHksIERlZmF1bHRSb290V2luZG93KGRweSksIHh2aS0+dmlzdWFsLCBBbGxv
Y05vbmUpOworICAgIGF0dHIuY29sb3JtYXAgPSBjb2xvcm1hcDsKKyAgICB3aW4gPSBYQ3JlYXRl
V2luZG93KGRweSwgRGVmYXVsdFJvb3RXaW5kb3coZHB5KSwgMCwgMCwgMSwgMSwgMCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB4dmktPmRlcHRoLCBJbnB1dE91dHB1dCwgeHZpLT52
aXN1YWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1dCYWNrUGl4ZWwgfCBDV0Jv
cmRlclBpeGVsIHwgQ1dDb2xvcm1hcCwgJmF0dHIpOwogCiAgICAgLy8gVHJ5IHRvIG1ha2UgdGhl
IGNvbnRleHQgY3VycmVudAotICAgIGlmICghZ2xYTWFrZUN1cnJlbnQoZHB5LCB3aW4sIGN0eCkp
CisgICAgaWYgKCFnbFhNYWtlQ3VycmVudChkcHksIHdpbiwgY3R4KSkgeworICAgICAgICBjbGVh
bnVwKCk7CiAgICAgICAgIHJldHVybiAxOworICAgIH0KIAogICAgIC8vIGdsWENyZWF0ZVBpeG1h
cCgpIGlzIGEgR0xYIDEuMysgZnVuY3Rpb24sIGJ1dCBpdCdzIGFsc28gcHJvdmlkZWQgYnkgRVhU
X3RleHR1cmVfZnJvbV9waXhtYXAKICAgICBjb25zdCBjaGFyICpnbHhFeHRlbnNpb25zID0gZ2xY
UXVlcnlFeHRlbnNpb25zU3RyaW5nKGRweSwgRGVmYXVsdFNjcmVlbihkcHkpKTsKLSAgICBpZiAo
KG1ham9yID09IDEgJiYgbWlub3IgPCAzKSAmJiAhc3Ryc3RyKGdseEV4dGVuc2lvbnMsICJHTFhf
RVhUX3RleHR1cmVfZnJvbV9waXhtYXAiKSkKKyAgICBpZiAoKG1ham9yID09IDEgJiYgbWlub3Ig
PCAzKSAmJiAhc3Ryc3RyKGdseEV4dGVuc2lvbnMsICJHTFhfRVhUX3RleHR1cmVfZnJvbV9waXht
YXAiKSkgeworICAgICAgICBjbGVhbnVwKCk7CiAgICAgICAgIHJldHVybiAxOworICAgIH0KIAog
ICAgIC8vIEFzc3VtZSB0aGF0IGRpcmVjdCByZW5kZXJpbmcgd29ya3Mgd2l0aCBEUkkyIGRyaXZl
cnMKICAgICBjb25zdCBHTHVieXRlICpyZW5kZXJlciA9IGdsR2V0U3RyaW5nKEdMX1JFTkRFUkVS
KTsKLSAgICBpZiAoc3Ryc3RyKChjb25zdCBjaGFyICopcmVuZGVyZXIsICJEUkkyIikpCisgICAg
aWYgKHJlbmRlcmVyICYmIHN0cnN0cigoY29uc3QgY2hhciAqKXJlbmRlcmVyLCAiRFJJMiIpKSB7
CisgICAgICAgIGNsZWFudXAoKTsKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgLy8g
VGhlIEludGVsIGRyaXZlciBkb2Vzbid0IGhhdmUgRFJJMiBpbiB0aGUgcmVuZGVyZXIgc3RyaW5n
Ci0gICAgaWYgKHN0cnN0cigoY29uc3QgY2hhciAqKXJlbmRlcmVyLCAiR0VNIikpCisgICAgaWYg
KHJlbmRlcmVyICYmIHN0cnN0cigoY29uc3QgY2hhciAqKXJlbmRlcmVyLCAiR0VNIikpIHsKKyAg
ICAgICAgY2xlYW51cCgpOwogICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKLSAgICBpZiAoc3Ry
c3RyKChjb25zdCBjaGFyICopcmVuZGVyZXIsICJHYWxsaXVtIikpCisgICAgaWYgKHJlbmRlcmVy
ICYmIHN0cnN0cigoY29uc3QgY2hhciAqKXJlbmRlcmVyLCAiR2FsbGl1bSIpKSB7CisgICAgICAg
IGNsZWFudXAoKTsKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgLy8gRGlyZWN0IGNv
bnRleHRzIGFsc28gd29yayB3aXRoIHRoZSBOVmlkaWEgZHJpdmVyCiAgICAgY29uc3QgR0x1Ynl0
ZSAqdmVuZG9yID0gZ2xHZXRTdHJpbmcoR0xfVkVORE9SKTsKLSAgICBpZiAoc3Ryc3RyKChjb25z
dCBjaGFyICopdmVuZG9yLCAiTlZJRElBIikpCisgICAgaWYgKHZlbmRvciAmJiBzdHJzdHIoKGNv
bnN0IGNoYXIgKil2ZW5kb3IsICJOVklESUEiKSkgeworICAgICAgICBjbGVhbnVwKCk7CiAgICAg
ICAgIHJldHVybiAwOwotCisgICAgfQorICAgIGNsZWFudXAoKTsKICAgICByZXR1cm4gMTsKIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>