<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>micolous.id.au &#187; Gaming</title>
	<atom:link href="http://micolous.id.au/archives/category/gaming/feed/" rel="self" type="application/rss+xml" />
	<link>http://micolous.id.au</link>
	<description>the result of a blogging accident</description>
	<lastBuildDate>Wed, 21 Jul 2010 11:08:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>games-action/pink-pony 1.2.1</title>
		<link>http://micolous.id.au/archives/2009/08/29/games-actionpink-pony-1-2-1/</link>
		<comments>http://micolous.id.au/archives/2009/08/29/games-actionpink-pony-1-2-1/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 17:07:45 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://micolous.id.au/?p=132</guid>
		<description><![CDATA[I&#8217;ve bumped games-action/pink-pony to 1.2.1 now in my overlay.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve bumped games-action/pink-pony to 1.2.1 now in my <a href="/projects/gentoo-overlay/">overlay</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2009/08/29/games-actionpink-pony-1-2-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping Steam</title>
		<link>http://micolous.id.au/archives/2009/07/16/mapping-steam/</link>
		<comments>http://micolous.id.au/archives/2009/07/16/mapping-steam/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 23:50:26 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Gaming]]></category>

		<guid isPermaLink="false">http://micolous.id.au/?p=124</guid>
		<description><![CDATA[I&#8217;ve been playing around for a little while with the idea of mapping the Steam Community social network.  A couple of days, I decided I&#8217;d dig up the old code and get it going again.  I ported some old code I wrote in C# for the purpose to Python using the Django framework [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around for a little while with the idea of mapping the <a href="http://steamcommunity.com/">Steam Community</a> social network.  A couple of days, I decided I&#8217;d dig up the old code and get it going again.  I ported some old code I wrote in C# for the purpose to Python using the Django framework (mainly to make database access easier).  I then wrote a script that would go through Steam, starting with myself, find all the person&#8217;s friends who were in Adelaide, then work out from there.</p>
<p>In the end, there are 2,195 people on Steam in Adelaide, who are friends with other people in Adelaide, who are somehow connected to <a href="http://steamcommunity.com/id/micolous">me</a>.  There are a total of 4,814 friendships linking these people together, and I excluded a total of 32,561 people who didn&#8217;t write in their profile that they were from Adelaide (so, for example, if you only said you were in South Australia, or didn&#8217;t put in a location at all, you&#8217;d be excluded), but were friends with someone who was.  Considering that there&#8217;s only two or three of degrees of separation in the geek/gamer community in Adelaide, I&#8217;m reasonably certain I got everyone on the main &#8220;island&#8221;.  Of course, there&#8217;s going to be some people that will be cut off for whatever reason (such as one of their friends blocking the route to them because their friend isn&#8217;t listed as being in Adelaide), but 2,195 people sounds <em>about</em> correct.</p>
<p>I&#8217;m also not counting relationships through groups.  Groups take more code to make it work.</p>
<p>Now that I have this data, I can also tell you who the most popular people are in Adelaide on Steam.  These are the people with the most amount of friends in Adelaide, based on what they wrote in their profile:</p>
<ul>
<li>1st: (49) <a href="http://steamcommunity.com/profiles/76561197968980444">G! Devastator</a> (James Dunn)</li>
<li>2nd: (41) <a href="http://steamcommunity.com/profiles/76561197994897430">[LotF] [Muppets] Techa</a> (Tasos Chrysostomou)</li>
<li>2nd: (41) <a href="http://steamcommunity.com/profiles/76561197992513973">`viNNN.Q³</a> (Paul Camporeale)</li>
<li>4th: (36) <a href="http://steamcommunity.com/profiles/76561197964323828">CdM.Kantong</a> (Brock)</li>
<li>5th: (31) <a href="http://steamcommunity.com/profiles/76561197975765634">ramirez[iw]</a> (davo mac)</li>
<li>6th: (30) <a href="http://steamcommunity.com/profiles/76561197993319497">»ќ« iC</a> (Izzy Gramp)</li>
<li>6th: (30) <a href="http://steamcommunity.com/profiles/76561197998012309">]ap]&gt; Horsey</a> (Nick)</li>
<li>8th: (29) <a href="http://steamcommunity.com/profiles/76561197991784871">#eLeVaTe Reaper|*</a> (Liam Rowan-Kelly)</li>
<li>9th: (28) <a href="http://steamcommunity.com/profiles/76561197994244829">Ap.# | Pickles «</a> (Oscarrr)</li>
<li>10th: (27) <a href="http://steamcommunity.com/profiles/76561197976539513">Q.E.D ∫ FR3DST4R[&lt;3A]</a> (Nathan Zeppel)</li>
<li>10th: (27) <a href="http://steamcommunity.com/profiles/76561197978434459">Longie[iw]</a> (Chris Long)</li>
<li>10th: (27) <a href="http://steamcommunity.com/profiles/76561197986106735">Noodles&lt;&lt;</a> (Noodles)</li>
<li>14th: (26) <a href="http://steamcommunity.com/profiles/76561197981506549">Vertex ๖ۣۜ₪DiPlaTdoCus</a> (David Eddy)</li>
<li>15th: (25) <a href="http://steamcommunity.com/profiles/76561197984267702">BBH | Phoozle</a></li>
<li>15th: (25) <a href="http://steamcommunity.com/profiles/76561197960576469">[TEA]Scoobth</a></li>
<li>15th: (25) <a href="http://steamcommunity.com/profiles/76561197970571569">cYn</a> (Ryan)</li>
<li>18th: (24) <a href="http://steamcommunity.com/profiles/76561197979616130">Sub_^-</a> (Christ&#8230;)</li>
<li>19th: (23) <a href="http://steamcommunity.com/profiles/76561197980350859">pheN</a> (Ash)</li>
<li>19th: (23) <a href="http://steamcommunity.com/profiles/76561197985078047">AG Servers | Kevin</a> (Kevin)</li>
</ul>
<p>I&#8217;m playing around with different <a href="http://en.wikipedia.org/wiki/Graph_theory">graphs</a> in <a href="http://graphviz.org">graphviz</a> to generate a more graphical representation of this data.  Unfortunately for me, it seems to take a lot of CPU power to generate these things.  Here are a couple I&#8217;ve made up so far:</p>
<p><code>twopi</code>, overlap=true: <strong>Warning</strong>: The full-size image that is linked to is a 2636&#215;2678 pixels PNG (7.7MB).</p>
<p><a href="http://matt7893.com/michael/wideload/adlsteam.overlap.png"><img src="http://matt7893.com/michael/wideload/adlsteam.overlap.small.jpg" alt=""/></a></p>
<p><code>fdp</code>: <strong>Warning</strong> The one-third size image that is linked to is a 5064&#215;10138 pixels PNG (24.1MB), and may crash your browser.</p>
<p><a href="http://matt7893.com/michael/wideload/adlsteam.fdp.png"><img src="http://matt7893.com/michael/wideload/adlsteam.fdp.small.jpg" alt=""/></a></p>
<p>I&#8217;m going to keep playing with these graphs though, hopefully I can make something really pretty.</p>
<p>Once I&#8217;ve done that, maybe it&#8217;s time to map all of Australia as well?  But I think I&#8217;ll need to offload the script somewhere else to do that&#8230; <img src='http://micolous.id.au/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2009/07/16/mapping-steam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webcam 2000 Timelapse Photography</title>
		<link>http://micolous.id.au/archives/2009/01/11/webcam-2000-timelapse-photography/</link>
		<comments>http://micolous.id.au/archives/2009/01/11/webcam-2000-timelapse-photography/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 02:43:32 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Interesting stuff]]></category>

		<guid isPermaLink="false">http://micolous.id.au/archives/2009/01/11/webcam-2000-timelapse-photography/</guid>
		<description><![CDATA[Happy new year!  I should really update my blog more&#8230;
This is a simple bash (shell) script to do timelapse photography with [Webcam 2000][wc2k].  In fact, it&#8217;ll work with any webcam software that outputs a single JPEG frame when given a HTTP request (as opposed to a multipart image stream).
#!/bin/bash
while [ 1 -lt 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Happy new year!  I should really update my blog more&#8230;</p>
<p>This is a simple bash (shell) script to do timelapse photography with [Webcam 2000][wc2k].  In fact, it&#8217;ll work with any webcam software that outputs a single JPEG frame when given a HTTP request (as opposed to a multipart image stream).</p>
<pre lang="bash" line="1">#!/bin/bash
while [ 1 -lt 2 ]; do
    wget http://localhost:8080/ -O`date +%Y%m%d-%H%M%S.jpg`
    sleep 5s
done</pre>
<p>This assumes the camera is running on http://localhost:8080/  I found over the space of two days worth of samples, it took `wget` about a quarter of a second to run on the machine I was using.  It doesn&#8217;t go for pefect timing, and it will drift a bit from day to day.  As you get more photos in the folder, the slower things will run.  Bear in mind too that your webcam software takes a bit of time to respond to HTTP requests, and also has to encode the JPEG image frames.  I was using a OV51x-chipset camera (Creative Webcam Vista) which actually talks JPEG over USB, so there wasn&#8217;t a great quality loss saving everything as JPEG.  Plus, the camera was only 15$ anyway, and the image quality isn&#8217;t that great so I wasn&#8217;t worried.</p>
<p>The picture files are named YYYYMMDD-HHmmss, ie: a photo taken at 1:10:56pm on 29th December, 2008 is called 20081229-131056.jpg.  This way, the frames can have their filename sorted, and the frames will be in the correct order.</p>
<p>Then, to encode the resulting frames in XVID, I used:</p>
<pre lang="bash" line="1">#!/bin/sh
rm divx2pass.log frameno.avi
mencoder "mf://*.jpg" -mf fps=30:type=jpg:w=800:h=600 -nosound \
   -ovc lavc -sws 2 -ffourcc XVID \
   -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=1 -noskip \
   -o /dev/null
mencoder "mf://*.jpg" -mf fps=30:type=jpg:w=800:h=600 -nosound \
   -ovc lavc -sws 2 -ffourcc XVID \
   -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=2 -noskip \
   -o timelapse.avi</pre>
<p>In that example I assume 800&#215;600 frames to be played at 30fps, with a 1000kbit/s bitrate.  You can also encode in H.264 using the x264 encoder, which results in better quality:</p>
<pre lang="bash" line="1">#!/bin/sh
rm divx2pass.log frameno.avi
mencoder "mf://*.jpg" -mf fps=30:type=jpg:w=800:h=600 -nosound \
    -of rawvideo -ovc x264 \
    -x264encopts bitrate=1000:frameref=6:analyse=all:me=umh:subme=7:trellis=2:bframes=1:subq=7:brdo:mixed_refs:weight_b:bime:no_fast_pskip:direct_pred=auto:mixed_refs:nr=200:threads=auto:turbo=2:pass=1 \
    -noskip -o /dev/null
mencoder "mf://*.jpg" -mf fps=30:type=jpg:w=800:h=600 -nosound \
    -of rawvideo -ovc x264 \
    -x264encopts bitrate=1000:frameref=6:analyse=all:me=umh:subme=7:trellis=2:bframes=1:subq=7:brdo:mixed_refs:weight_b:bime:no_fast_pskip:direct_pred=auto:mixed_refs:nr=200:threads=auto:pass=2 \
    -noskip -o timelapse.264
mkvmerge -o timelapse.mkv timelapse.264</pre>
<p>`mkvmerge` also allows you to define chapters for your time lapse, which is useful for breaking it up by day (and then, by hour if you like).  But to do that you&#8217;ll need to write your own [chapters XML file][mchap].</p>
<p>As an example, I did some timelapse photography of a LAN at a friend&#8217;s house.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/O3lwPfvsI94&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/O3lwPfvsI94&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>You can also see in my example that I turned on labels in Webcam 2000 to have the current time embedded at the top of each frame.  They don&#8217;t always match the time on the filename (-2 seconds at most), but it&#8217;s still good for debugging things, and it also is a good caption to have in the final video.</p>
<p>I&#8217;m now looking into a much more elegant Linux-only solution to this.  I&#8217;m looking at [camsource][] with anticipation, and I&#8217;ll do some experiments with that at some point.</p>
<p>[wc2k]: http://www.webcam2000.info/<br />
[mchap]: http://www.matroska.org/technical/specs/chapters/index.html<br />
[camsource]: http://camsource.sourceforge.net/</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2009/01/11/webcam-2000-timelapse-photography/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trackmania Disassembler Updated (1.2), and some musings</title>
		<link>http://micolous.id.au/archives/2008/04/24/trackmania-disassembler-updated-12-and-some-musings/</link>
		<comments>http://micolous.id.au/archives/2008/04/24/trackmania-disassembler-updated-12-and-some-musings/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 14:39:15 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://micolous.id.au/archives/2008/04/24/trackmania-disassembler-updated-12-and-some-musings/</guid>
		<description><![CDATA[I&#8217;ve updated my [Trackmania Disassembler][tmdisasm] to support Trackmania Nations Forever and Trackmania United Forever.  And it seems Nadeo have finally gone off their weak XOR password obfuscation algorithm.  The previous part of the file that held the password is now always blank &#8211; wether there is a password there or not, and the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated my [Trackmania Disassembler][tmdisasm] to support Trackmania Nations Forever and Trackmania United Forever.  And it seems Nadeo have finally gone off their weak XOR password obfuscation algorithm.  The previous part of the file that held the password is now always blank &#8211; wether there is a password there or not, and the password seems to be buried somewhere in the data block.</p>
<p>Seeing as the algorithm has been now changed, I thought I&#8217;d document how the old password algorithm worked.</p>
<p> 1. The first three bytes are 31, 180, 229. (`1F B4 E5`)<br />
 2. The 5 bytes of the password are XOR&#8217;d with 94, 36, 240, 15, 90. (`5E 24 F0 0F 5A`)<br />
 3. Go back to step 2 until the end of the password string.</p>
<p>As an example, say my password is &#8220;passwd&#8221;.  That means the encrypted form of my password is `1F B4 E5 2E 45 83 7C 2D 3A`.</p>
<p>XOR for password obfuscation is trivial to decode.  If you know the original text and the encoded text, you can determine the cipher text.  (Original XOR Encoded = Cipher)  Once you know the ciper text, you can then encode or decode text freely. (Original XOR Cipher = Encoded; Encoded XOR Cipher = Original)</p>
<p>The size of the password stored the old way is variable, so a long password will take more bytes to store than a short one.</p>
<p>There&#8217;s more about the [XOR cipher on Wikipedia][xor].</p>
<p>So far, looking at the Trackmania Forever stuff, I&#8217;ve noticed:</p>
<p> * The thumbnail introduced in Trackmania United changes on each save, due to the lighting and clouds changing in that frame.  As a result, the file size will change slightly because of the nature of JPEG.<br />
 * The same password on two identical tracks (same UID and name) means the data block is the same.  So the password encoding doesn&#8217;t have a random element to it.<br />
 * The password for the same track is stored in a way that the size is constant.  At the moment, I&#8217;m thinking there is a hash of the password being stored, meaning the password storage algorithm may be very difficult to break, apart from dictionary attacks (computationally expensive to do).<br />
 * I think that the password is stored near the end of the data block, after all the other data.</p>
<p>[tmdisasm]: /tmn/disasm/<br />
[xor]: http://en.wikipedia.org/wiki/XOR_cipher</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2008/04/24/trackmania-disassembler-updated-12-and-some-musings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>igaeditor 0.1.5</title>
		<link>http://micolous.id.au/archives/2006/12/21/igaeditor-015/</link>
		<comments>http://micolous.id.au/archives/2006/12/21/igaeditor-015/#comments</comments>
		<pubDate>Wed, 20 Dec 2006 15:41:21 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://micolous.id.au/archives/2006/12/21/igaeditor-015/</guid>
		<description><![CDATA[A new release of IGA Ad Cache Editor: The &#8220;I gotta stop playing Warcraft if I expect to get any development work done&#8221; edition. (0.1.5) 
What&#8217;s new in 0.1.5:
- New abstracted database connection system, &#8220;IGADatabaseConnector&#8221;. This is a part of the &#8220;IGA Common&#8221; module. This allows you to write non-WinForms interfaces using the same engine. [...]]]></description>
			<content:encoded><![CDATA[<p>A new release of IGA Ad Cache Editor: The &#8220;I gotta stop playing Warcraft if I expect to get any development work done&#8221; edition. (0.1.5) </p>
<p>What&#8217;s new in 0.1.5:</p>
<p>- New abstracted database connection system, &#8220;IGADatabaseConnector&#8221;. This is a part of the &#8220;IGA Common&#8221; module. This allows you to write non-WinForms interfaces using the same engine. At the moment there is a GTK# version in some development available from the igaeditor SVN repository.<br />
- The AdPackSupport libraries are now no longer used. The AdPackImportForm and AdPackExportForm are now a part of the main module again, and the AdPack and AdPackEntry classes are now a part of IGACommon. As a result, IGACommon.dll now depends on SharpZipLib.<br />
- Localisable stubs added.<br />
- The &#8220;vaccum/shrink database&#8221; menu item is now no longer disabled if an unsupported appId is found.<br />
- Mono.Data.SqliteClient is used in favour of System.Data.SQLite, so to allow for cross-platform support.<br />
- DDSReader has undergone a major overhaul, with native .NET DDS reading. As a result, DDSReader no longer depends on DevIL or DevIL.NET. This means that the program, uncompressed, is about 1MB smaller. At the moment, the library only supports DXT1 and DXT3 compression modes. Other decompressors are to be added in future versions. Think of it as a test of &#8220;will my image work in the game&#8221;&#8230; the game doesn&#8217;t support the uncompressed images. <img src='http://micolous.id.au/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
- IGACommon and DDSReader now build under Mono without issues.<br />
- DDSReader is now licensed under the LGPL (it was previously licensed under a BSD license). This is due to the code ported to C# from DevIL. </p>
<p>All of this can be gotten from the <a href="http://igaeditor.sf.net/">igaeditor website</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/12/21/igaeditor-015/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenAL crashes with UT2003, 2004</title>
		<link>http://micolous.id.au/archives/2006/10/12/openal-crashes-with-ut2003-2004/</link>
		<comments>http://micolous.id.au/archives/2006/10/12/openal-crashes-with-ut2003-2004/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 07:25:18 +0000</pubDate>
		<dc:creator>micolous</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Gaming]]></category>

		<guid isPermaLink="false">http://micolous.id.au/archives/2006/10/12/openal-crashes-with-ut2003-2004/</guid>
		<description><![CDATA[I&#8217;ve found more recently I&#8217;ve had issues with UT2003 and UT2004 crashing under Linux.  I&#8217;ve found that it&#8217;s actually because of OpenAL.  In version 0.0.8, binary compatibility was broken, and I setup the game to use the system&#8217;s version of OpenAL.
So now, here are some new packages.  There&#8217;s a basic APT repository [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found more recently I&#8217;ve had issues with UT2003 and UT2004 crashing under Linux.  I&#8217;ve found that it&#8217;s actually because of OpenAL.  In version 0.0.8, binary compatibility was broken, and I setup the game to use the system&#8217;s version of OpenAL.</p>
<p>So now, here are some new packages.  There&#8217;s a basic APT repository too for the lazy, and i386 and amd64 libraries.  They&#8217;ve been complied against Debian Unstable, however they should also work in Ubuntu Edgy (they&#8217;ll also work on Dapper if you run ignoring dependencies, however if you build from source you should be fine).</p>
<p>    # On i386, add this to your sources.list file:<br />
    deb http://micolous.id.au/debian/openal-legacy/ binary-i386/</p>
<p>    # On amd64, add this to your sources.list file:<br />
    deb http://micolous.id.au/debian/openal-legacy/ binary-amd64/</p>
<p>    # Sources:<br />
    deb-src http://micolous.id.au/debian/openal-legacy/ source/</p>
<p>To install, add those repositories, do an `apt-get update`, then `apt-get install libopenal0-legacy`.  There&#8217;s also a `libopenal-legacy-dev` package, which conflicts with the normal `libopenal-dev` package, should you ever want to develop applications against the old version of OpenAL (which is unlikely).</p>
<p>Then, you need to point the symlink for openal.so in the System folder of UT to `/usr/lib/libopenal.so.0.0.8`.  The new version of OpenAL will remain symlinked at `/usr/lib/libopenal.so` pointing to `/usr/lib/libopenal.so.0.0.0`.</p>
]]></content:encoded>
			<wfw:commentRss>http://micolous.id.au/archives/2006/10/12/openal-crashes-with-ut2003-2004/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
