<?xml version="1.0"?>
<!--
Copyright (C) 2016 Apple, Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
-->

<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>WebKit</title>
    <link>https://trac.webkit.org/timeline</link>
    <description>Trac Timeline</description>
    <language>en-US</language>
    <generator>Trac 0.12.3</generator>
    <image>
      <title>WebKit</title>
      <url>https://trac.webkit.org/chrome/site/favicon.png</url>
      <link>https://trac.webkit.org/timeline</link>
    </image>
    <item>
      <title>Changeset [33025]: Ita prorsus inquam Ad corpus diceres pertinere, sed ea, quae dixi</title>
      <branches>master, someOtherBranch</branches>

        <author>george@webkit.org</author>

      <pubDate>Tue, 26 Jan 2016 22:48:15 GMT</pubDate>
      <link>https://trac.webkit.org/changeset/33025</link>
      <guid isPermaLink="false">https://trac.webkit.org/changeset/33025/1453848495332569</guid>
      <description>Description</description>
      <category>changeset</category>
    </item>
    <item>
      <title>Changeset [33024]: An eum discere ea mavis, quae cum plane perdidiceriti nihil sciat</title>
      <branches>master</branches>

        <author>paul@webkit.org</author>

      <pubDate>Tue, 26 Jan 2016 22:22:25 GMT</pubDate>
      <link>https://trac.webkit.org/changeset/33024</link>
      <guid isPermaLink="false">https://trac.webkit.org/changeset/33024/1453846945244007</guid>
      <description>Description</description>
      <category>changeset</category>
    </item>
    <item>
      <title>Changeset [33023]: Lorem ipsum dolor sit amet, consectetur adipiscing elit.</title>

        <author>john@webkit.org</author>

      <pubDate>Tue, 26 Jan 2016 22:22:14 GMT</pubDate>
      <link>https://trac.webkit.org/changeset/33023</link>
      <guid isPermaLink="false">https://trac.webkit.org/changeset/33023/1453846934034550</guid>
      <description>Description</description>
      <category>changeset</category>
    </item>
   </channel>
</rss>
