summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/local-website/htdocs/remote
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/local-website/htdocs/remote')
-rw-r--r--abs/core-testing/local-website/htdocs/remote/COPYING341
-rw-r--r--abs/core-testing/local-website/htdocs/remote/CREDITS11
-rw-r--r--abs/core-testing/local-website/htdocs/remote/Changelog131
-rw-r--r--abs/core-testing/local-website/htdocs/remote/Issues18
-rw-r--r--abs/core-testing/local-website/htdocs/remote/README43
-rw-r--r--abs/core-testing/local-website/htdocs/remote/backend.php168
-rw-r--r--abs/core-testing/local-website/htdocs/remote/csshover.htc120
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/blank.gifbin0 -> 43 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/button_30.pngbin0 -> 1511 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/button_30g.pngbin0 -> 1535 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/button_30r.pngbin0 -> 1520 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/button_text.pngbin0 -> 2223 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/button_textg.pngbin0 -> 3210 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/button_textr.pngbin0 -> 3130 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/down.pngbin0 -> 2468 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/down_g.pngbin0 -> 2600 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/down_r.pngbin0 -> 2575 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/fast_forward.pngbin0 -> 2775 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/fast_forward_g.pngbin0 -> 2838 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/fast_forward_r.pngbin0 -> 2814 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/fast_rewind.pngbin0 -> 2743 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/fast_rewind_g.pngbin0 -> 2804 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/fast_rewind_r.pngbin0 -> 2805 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/left.pngbin0 -> 2503 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/left_g.pngbin0 -> 2618 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/left_r.pngbin0 -> 2617 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/ok.pngbin0 -> 2614 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/ok_g.pngbin0 -> 2662 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/ok_r.pngbin0 -> 2636 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/pause.pngbin0 -> 2259 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/pause_g.pngbin0 -> 2236 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/pause_r.pngbin0 -> 2254 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/rec.pngbin0 -> 2433 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/rec_g.pngbin0 -> 2406 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/rec_r.pngbin0 -> 2396 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/right.pngbin0 -> 2520 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/right_g.pngbin0 -> 2656 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/right_r.pngbin0 -> 2593 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/skip_back.pngbin0 -> 2513 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/skip_back_g.pngbin0 -> 2614 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/skip_back_r.pngbin0 -> 2646 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/skip_forward.pngbin0 -> 2560 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/skip_forward_g.pngbin0 -> 2575 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/skip_forward_r.pngbin0 -> 2615 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/stop.pngbin0 -> 1950 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/stop_g.pngbin0 -> 1977 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/stop_r.pngbin0 -> 1980 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/up.pngbin0 -> 2473 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/up_g.pngbin0 -> 2570 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/images/up_r.pngbin0 -> 2553 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/inc/process.php131
-rw-r--r--abs/core-testing/local-website/htdocs/remote/index.html19
-rw-r--r--abs/core-testing/local-website/htdocs/remote/layout-wide.html250
-rw-r--r--abs/core-testing/local-website/htdocs/remote/layout.html269
-rw-r--r--abs/core-testing/local-website/htdocs/remote/nav.php57
-rw-r--r--abs/core-testing/local-website/htdocs/remote/num.php57
-rw-r--r--abs/core-testing/local-website/htdocs/remote/pda.php39
-rw-r--r--abs/core-testing/local-website/htdocs/remote/remote-wide.html275
-rw-r--r--abs/core-testing/local-website/htdocs/remote/remote-wide.php380
-rw-r--r--abs/core-testing/local-website/htdocs/remote/remote.css436
-rw-r--r--abs/core-testing/local-website/htdocs/remote/remote.html307
-rw-r--r--abs/core-testing/local-website/htdocs/remote/remote.php413
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/button.svg353
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/button_30.xcfbin0 -> 1506 bytes
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/button_g.svg373
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/button_r.svg371
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/down.svg361
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/fast_forward.svg406
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/fast_rewind.svg406
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/left.svg358
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/ok.svg378
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/pause.svg410
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/rec.svg395
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/right.svg370
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/scratch.svg243
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/skip_back.svg407
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/skip_forward.svg413
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/stop.svg384
-rw-r--r--abs/core-testing/local-website/htdocs/remote/svg/up.svg349
79 files changed, 9442 insertions, 0 deletions
diff --git a/abs/core-testing/local-website/htdocs/remote/COPYING b/abs/core-testing/local-website/htdocs/remote/COPYING
new file mode 100644
index 0000000..caa0a06
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/COPYING
@@ -0,0 +1,341 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/abs/core-testing/local-website/htdocs/remote/CREDITS b/abs/core-testing/local-website/htdocs/remote/CREDITS
new file mode 100644
index 0000000..7d959f8
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/CREDITS
@@ -0,0 +1,11 @@
+Credits
+-------
+
+Original concept - Steven Ellis <support@openmedia.co.nz>
+
+Initial base php code - Mike Poublon <poublon@geeksoft.dyndns.org>
+
+Original remote layout, core design and coding - Steven Ellis <support@openmedia.co.nz>
+
+CSS based layouts and IE support - Michael Lynch <lynchmv@gmail.com>
+Additional PDA Layout - Michael Lynch <lynchmv@gmail.com>
diff --git a/abs/core-testing/local-website/htdocs/remote/Changelog b/abs/core-testing/local-website/htdocs/remote/Changelog
new file mode 100644
index 0000000..71172d9
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/Changelog
@@ -0,0 +1,131 @@
+mythtv-web-remote (0.0.17) unstable; urgency=low
+
+ * Remove old ie_hover.htc code as we no longer need it
+ * Tidy up style sheet
+ * Add stylesheet support for additional active buttons
+ * Rebuild all png files to optimise for size
+ * Generate new active png files for remaining buttons
+ * Redo index.html to point at new code
+ * Correct selected png files in gimp due to IE transparency issues
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 17 Dec 2006 16:05:46 +1300
+
+mythtv-web-remote (0.0.16) unstable; urgency=low
+
+ * Merge of IE Fixes and new layout code so that we have IE roll over buttons
+ * For the moment we are still using a table based layout
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 17 Dec 2006 14:04:37 +1300
+
+mythtv-web-remote (0.0.15) unstable; urgency=low
+
+ * Add apache configuration file remote.conf
+ * Fix IE roll over support on apache - AddType text/x-component .htc
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 17 Dec 2006 13:41:28 +1300
+
+mythtv-web-remote (0.0.14) unstable; urgency=low
+
+ * Change host to work for myPVR
+ * Fix missing support for Record button
+ * Create a remote-wide.html based on remote.html and layout-wide.html
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sat, 16 Dec 2006 18:59:06 +1300
+
+mythtv-web-remote (0.0.13) unstable; urgency=low
+
+ * Extra work from Mike Poublon <poublon@geeksoft.dyndns.org>
+ * Support image based submit buttons under IE
+ * Seperate GUI and PHP code
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sat, 16 Dec 2006 18:46:10 +1300
+
+mythtv-web-remote (0.0.12) unstable; urgency=low
+
+ * Makefile needs to install csshover.htc
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sat, 16 Dec 2006 18:28:18 +1300
+
+mythtv-web-remote (0.0.11) unstable; urgency=low
+
+ * Update wide layout to use new buttons
+ * Wide layout is still table based at this stage
+ * Correct some of the submit buttons on the normal layour as they were
+ passing the wrong value
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sat, 16 Dec 2006 18:24:54 +1300
+
+mythtv-web-remote (0.0.10) unstable; urgency=low
+
+ * Merge changes from Michael Lynch <lynchmv@gmail.com>
+ * Better IE support in layout.html
+ * Additional layout for his PDA
+ * Some php rework
+ * Add CREDITS file to track changes
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sat, 16 Dec 2006 18:04:51 +1300
+
+mythtv-web-remote (0.0.9) unstable; urgency=low
+
+ * Add in README, COPYING, Issues and Changelog files
+ * First release to MythTV team
+
+ -- OpenMedia Support <support@openmedia.co.nz> Tue, 12 Dec 2006 09:19:13 +1300
+
+mythtv-web-remote (0.0.8) unstable; urgency=low
+
+ * Make sure we enable the Network Control port when installing on myPVR
+
+ -- OpenMedia Support <support@openmedia.co.nz> Mon, 4 Dec 2006 15:23:26 +1300
+
+mythtv-web-remote (0.0.7) unstable; urgency=low
+
+ * Add wide layout
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 3 Dec 2006 11:43:47 +1300
+
+mythtv-web-remote (0.0.6) unstable; urgency=low
+
+ * Load new layout into remote.php
+ * Issues with IE because of use if submit images
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 3 Dec 2006 11:28:47 +1300
+
+mythtv-web-remote (0.0.5) unstable; urgency=low
+
+ * Add wide layout
+ * Try and make layouts HTML standards compliant
+ * Can't make CSS standards compliant due to IE hacks
+ * Correct permissions on installed files
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 3 Dec 2006 09:56:22 +1300
+
+mythtv-web-remote (0.0.4) unstable; urgency=low
+
+ * Limited button roll over support for IE
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 3 Dec 2006 09:18:51 +1300
+
+mythtv-web-remote (0.0.3) unstable; urgency=low
+
+ * Setup index.html holder
+ * Rename php remote file
+ * More tidy ups of layout file
+ * Add remote.css to install
+
+ -- OpenMedia Support <support@openmedia.co.nz> Mon, 27 Nov 2006 23:05:58 +1300
+
+mythtv-web-remote (0.0.2) unstable; urgency=low
+
+ * Update layout
+ * Add stylesheet remote.css
+ * Additional images for roll over graphics
+
+ -- OpenMedia Support <support@openmedia.co.nz> Mon, 27 Nov 2006 22:40:33 +1300
+
+mythtv-web-remote (0.0.1) unstable; urgency=low
+
+ * Initial version of the mythtv-web-remote
+ * This is a web based virtual remote control for MythTV
+
+ -- OpenMedia Support <support@openmedia.co.nz> Sun, 26 Nov 2006 11:57:33 +1300
diff --git a/abs/core-testing/local-website/htdocs/remote/Issues b/abs/core-testing/local-website/htdocs/remote/Issues
new file mode 100644
index 0000000..95f808f
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/Issues
@@ -0,0 +1,18 @@
+MythTV Web Remote ISSUES
+------------------------
+
+Limited IE Support
+------------------
+At present the roll overs don't work very well in IE. Also the way the icons
+are mapped as submit buttons needs modification as in IE it submits the image
+co-ordinates rather than the value
+
+Rapid Clicking can cause mythfrontend to freeze
+-----------------------------------------------
+Possible an issue with the telnet control interface. If a user clicks too
+rapidly it can cause the front end to lock up, requiring a restart of the GUI.
+
+Roll Over images required for remaining buttons
+-----------------------------------------------
+At present only the number and text buttons have rollover and click alternate
+images
diff --git a/abs/core-testing/local-website/htdocs/remote/README b/abs/core-testing/local-website/htdocs/remote/README
new file mode 100644
index 0000000..ecc4797
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/README
@@ -0,0 +1,43 @@
+MythWeb Remote - Version 0.0.9
+--------------
+
+This has been designed to improve MythTV access for people with certain forms
+of disability. It has two web based interfaces that are based on the Hauppauge
+MCE Remote control with its additional fast access hotkeys.
+
+For more details on how the hotkeys are mapped see
+ http://openmedia.co.nz/openmedia/content/view/27/58/
+
+All html/php/css code is released under GPL V2, and all images under
+Creative Commons (http://web.resource.org/cc/PublicDomain) as they are based on
+the Etiquette Icons by Andy Fitzsimon, see -
+ http://openclipart.org/clipart/computer/buttons/b_down.txt
+
+
+Installing
+----------
+In order to use this install as a directory called "remote" under your web
+document root. You should then be able to access it as
+ http://mythtv/remote
+You will also need to enable the Network Control port for the MythTV frontend
+for the controls to work.
+
+
+See COPYING for details on the GPL V2 license.
+
+See ISSUES for outstanding problems
+
+See Changelog for recent changes
+
+GPL 2.0 Components
+------------------
+Original php code (c) 2006 Mike Poublon <poublon@geeksoft.dyndns.org>
+Enhancements (c) 2006 Steven Ellis <support@openmedia.co.nz>
+CSS (c) 2006 Steven Ellis <support@openmedia.co.nz>
+Remote Layouts (c) 2006 Steven Ellis <support@openmedia.co.nz>
+
+Creative Commons
+----------------
+Original image design (c) Andy Fitzsimon
+Final buttom images (c) 2006 Steven Ellis <support@openmedia.co.nz>
+
diff --git a/abs/core-testing/local-website/htdocs/remote/backend.php b/abs/core-testing/local-website/htdocs/remote/backend.php
new file mode 100644
index 0000000..530d220
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/backend.php
@@ -0,0 +1,168 @@
+<?
+#
+# Original code (c) 2006 Mike Poublon <poublon@geeksoft.dyndns.org>
+#
+# Enhancements (c) 2006 Steven Ellis <support@openmedia.co.nz> and
+# (c) 2006 Mike Poublon <poublon@geeksoft.dyndns.org>
+#
+
+#change the line below that has localhost pointing to the address of your frontend.
+$HOSTNAME = "localhost";
+
+$submit = $_POST['submit'];
+
+#workaround for IE's image button wierdness
+if ( $submit == "" )
+{
+ $submit = $_POST['buttonvalue'];
+}
+
+#if we aren't being posted to, then don't do anything useful
+if ( $submit == "" )
+{
+ echo "Sorry, this file is meant to be called by one of the frontend ";
+ echo "pages, please try using one of them instead.";
+ exit();
+}
+
+# We set jump when we want to perform more complex commands
+$jump="";
+
+if ($submit == "Power"){
+ #Power - not really used yet
+ $key = "";
+} else if ($submit == "TV"){
+ $jump = "livetv";
+} else if ($submit == "Music"){
+ $jump = "playmusic";
+} else if ($submit == "Video"){
+ $jump = "mythvideo";
+} else if ($submit == "Recordings"){
+ $jump = "playbackrecordings";
+} else if ($submit == "Guide"){
+ $jump = "programguide";
+} else if ($submit == "Pictures"){
+ $jump = "mythgallery";
+} else if ($submit == "Back") {
+ $key = "escape";
+} else if ($submit == "Info") {
+ $key = "i";
+} else if ($submit == "Menu") {
+ #Menu
+ $key = "m";
+} else if ($submit == "U") {
+ $key = "up";
+} else if ($submit == "L") {
+ $key = "left";
+} else if ($submit == "D") {
+ $key = "down";
+} else if ($submit == "R") {
+ $key = "right";
+} else if ($submit == "OK") {
+ $key = "enter";
+} else if ($submit == "Page Up") {
+ $key = "pageup";
+} else if ($submit == "Page Dn") {
+ $key = "pagedown";
+} else if ($submit == "Vol Up") {
+ $key = "bracketright";
+} else if ($submit == "Vol Dn") {
+ $key = "bracketleft";
+} else if ($submit == "Mute") {
+ $key = "f9";
+} else if ($submit == "Pause") {
+ $key = "p";
+} else if ($submit == "Stop") {
+ $key = "s";
+} else if ($submit == "Play") {
+ $key = "p";
+} else if ($submit == "Rec") {
+ $key = "r";
+} else if ($submit == "<<") {
+ $key = "left";
+} else if ($submit == ">>") {
+ $key = "right";
+} else if ($submit == "|<") {
+ #skip commercial back
+ $key = "q";
+} else if ($submit == ">|") {
+ #skip commercial
+ $key = "z";
+# Special keys used by myPVR
+} else if ($submit == "#") {
+ # Change tuner
+ $key = "y";
+} else if ($submit == "*") {
+ #skip commercial
+ $key = "z";
+} else if ($submit == "0" ||
+ $submit == "1" ||
+ $submit == "2" ||
+ $submit == "3" ||
+ $submit == "4" ||
+ $submit == "5" ||
+ $submit == "6" ||
+ $submit == "7" ||
+ $submit == "8" ||
+ $submit == "9" ) {
+ $key = $submit;
+}
+
+#set the maximum time to execute the page
+set_time_limit (5);
+
+#open the socket to the frontend
+$fp = fsockopen($HOSTNAME, 6546, $errno, $errstr, 30);
+
+if (!$fp) {
+ #couldn't connect, print the error
+ echo "ERROR: $errstr ($errno)<br />\n";
+ exit();
+} else {
+ #set up a place for the banner to get read into
+ $banner = "";
+
+ #read through the banner, one char at a time and append
+ #to the banner string until we see a '#'
+ $c = fgetc($fp);
+ while ($c !== false && $c != "#")
+ {
+ $banner .= $c;
+ $c = fgetc($fp);
+ }
+ if ($c !== false)
+ {
+ #if the connection is still valid then read
+ #in the extra space after the #
+ $c = fgetc($fp);
+ }
+
+ #create the command to issue to the frontend based
+ #on what the user clicked on
+ if ($jump != "") {
+ $cmd = "jump $jump\x0d\x0a";
+ $jump="";
+ } else {
+ $cmd = "key $key\x0d\x0a";
+ }
+
+ #write the command to the socket
+ fwrite($fp,$cmd);
+
+ #close the socket
+ fclose($fp);
+
+ #get the specified page to redirect to
+ $redirectpage = $_POST['redirectpage'];
+ if ( $redirectpage == "" )
+ {
+ #use the refering page if all else fails
+ $redirectpage = getenv('HTTP_REFERER');
+ }
+
+ #redirect to the desired location
+ header( "Location: $redirectpage" );
+}
+
+?>
+
diff --git a/abs/core-testing/local-website/htdocs/remote/csshover.htc b/abs/core-testing/local-website/htdocs/remote/csshover.htc
new file mode 100644
index 0000000..f6e8f3c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/csshover.htc
@@ -0,0 +1,120 @@
+<attach event="ondocumentready" handler="parseStylesheets" />
+<script>
+/**
+ * Whatever:hover - V1.42.060206 - hover & active
+ * ------------------------------------------------------------
+ * (c) 2005 - Peter Nederlof
+ * Peterned - http://www.xs4all.nl/~peterned/
+ * License - http://creativecommons.org/licenses/LGPL/2.1/
+ *
+ * Whatever:hover is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Whatever:hover is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Credits and thanks to:
+ * Arnoud Berendsen, Martin Reurings, Robert Hanson
+ *
+ * howto: body { behavior:url("csshover.htc"); }
+ * ------------------------------------------------------------
+ */
+
+var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i,
+currentSheet, doc = window.document, hoverEvents = [], activators = {
+ onhover:{on:'onmouseover', off:'onmouseout'},
+ onactive:{on:'onmousedown', off:'onmouseup'}
+}
+
+function parseStylesheets() {
+ if(!/MSIE (5|6)/.test(navigator.userAgent)) return;
+ window.attachEvent('onunload', unhookHoverEvents);
+ var sheets = doc.styleSheets, l = sheets.length;
+ for(var i=0; i<l; i++)
+ parseStylesheet(sheets[i]);
+}
+ function parseStylesheet(sheet) {
+ if(sheet.imports) {
+ try {
+ var imports = sheet.imports, l = imports.length;
+ for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
+ } catch(securityException){}
+ }
+
+ try {
+ var rules = (currentSheet = sheet).rules, l = rules.length;
+ for(var j=0; j<l; j++) parseCSSRule(rules[j]);
+ } catch(securityException){}
+ }
+
+ function parseCSSRule(rule) {
+ var select = rule.selectorText, style = rule.style.cssText;
+ if(!csshoverReg.test(select) || !style) return;
+
+ var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
+ var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
+ var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
+ var affected = select.replace(/:(hover|active).*$/, '');
+ var elements = getElementsBySelect(affected);
+ if(elements.length == 0) return;
+
+ currentSheet.addRule(newSelect, style);
+ for(var i=0; i<elements.length; i++)
+ new HoverElement(elements[i], className, activators[pseudo]);
+ }
+
+function HoverElement(node, className, events) {
+ if(!node.hovers) node.hovers = {};
+ if(node.hovers[className]) return;
+ node.hovers[className] = true;
+ hookHoverEvent(node, events.on, function() { node.className += ' ' + className; });
+ hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); });
+}
+ function hookHoverEvent(node, type, handler) {
+ node.attachEvent(type, handler);
+ hoverEvents[hoverEvents.length] = {
+ node:node, type:type, handler:handler
+ };
+ }
+
+ function unhookHoverEvents() {
+ for(var e,i=0; i<hoverEvents.length; i++) {
+ e = hoverEvents[i];
+ e.node.detachEvent(e.type, e.handler);
+ }
+ }
+
+function getElementsBySelect(rule) {
+ var parts, nodes = [doc];
+ parts = rule.split(' ');
+ for(var i=0; i<parts.length; i++) {
+ nodes = getSelectedNodes(parts[i], nodes);
+ } return nodes;
+}
+ function getSelectedNodes(select, elements) {
+ var result, node, nodes = [];
+ var identify = (/\#([a-z0-9_-]+)/i).exec(select);
+ if(identify) {
+ var element = doc.getElementById(identify[1]);
+ return element? [element]:nodes;
+ }
+
+ var classname = (/\.([a-z0-9_-]+)/i).exec(select);
+ var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
+ var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false;
+ for(var i=0; i<elements.length; i++) {
+ result = tagName? elements[i].all.tags(tagName):elements[i].all;
+ for(var j=0; j<result.length; j++) {
+ node = result[j];
+ if(classReg && !classReg.test(node.className)) continue;
+ nodes[nodes.length] = node;
+ }
+ }
+
+ return nodes;
+ }
+</script>
diff --git a/abs/core-testing/local-website/htdocs/remote/images/blank.gif b/abs/core-testing/local-website/htdocs/remote/images/blank.gif
new file mode 100644
index 0000000..35d42e8
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/blank.gif
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/button_30.png b/abs/core-testing/local-website/htdocs/remote/images/button_30.png
new file mode 100644
index 0000000..198b062
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/button_30.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/button_30g.png b/abs/core-testing/local-website/htdocs/remote/images/button_30g.png
new file mode 100644
index 0000000..19166b2
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/button_30g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/button_30r.png b/abs/core-testing/local-website/htdocs/remote/images/button_30r.png
new file mode 100644
index 0000000..3411381
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/button_30r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/button_text.png b/abs/core-testing/local-website/htdocs/remote/images/button_text.png
new file mode 100644
index 0000000..2976a2d
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/button_text.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/button_textg.png b/abs/core-testing/local-website/htdocs/remote/images/button_textg.png
new file mode 100644
index 0000000..6f2146c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/button_textg.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/button_textr.png b/abs/core-testing/local-website/htdocs/remote/images/button_textr.png
new file mode 100644
index 0000000..02b5738
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/button_textr.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/down.png b/abs/core-testing/local-website/htdocs/remote/images/down.png
new file mode 100644
index 0000000..335f28c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/down.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/down_g.png b/abs/core-testing/local-website/htdocs/remote/images/down_g.png
new file mode 100644
index 0000000..5d31913
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/down_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/down_r.png b/abs/core-testing/local-website/htdocs/remote/images/down_r.png
new file mode 100644
index 0000000..00cde0b
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/down_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/fast_forward.png b/abs/core-testing/local-website/htdocs/remote/images/fast_forward.png
new file mode 100644
index 0000000..6563f92
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/fast_forward.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/fast_forward_g.png b/abs/core-testing/local-website/htdocs/remote/images/fast_forward_g.png
new file mode 100644
index 0000000..f608095
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/fast_forward_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/fast_forward_r.png b/abs/core-testing/local-website/htdocs/remote/images/fast_forward_r.png
new file mode 100644
index 0000000..9c71739
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/fast_forward_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/fast_rewind.png b/abs/core-testing/local-website/htdocs/remote/images/fast_rewind.png
new file mode 100644
index 0000000..6daf86c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/fast_rewind.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/fast_rewind_g.png b/abs/core-testing/local-website/htdocs/remote/images/fast_rewind_g.png
new file mode 100644
index 0000000..a7ba769
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/fast_rewind_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/fast_rewind_r.png b/abs/core-testing/local-website/htdocs/remote/images/fast_rewind_r.png
new file mode 100644
index 0000000..f8c1151
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/fast_rewind_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/left.png b/abs/core-testing/local-website/htdocs/remote/images/left.png
new file mode 100644
index 0000000..c9c4b72
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/left.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/left_g.png b/abs/core-testing/local-website/htdocs/remote/images/left_g.png
new file mode 100644
index 0000000..5e93269
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/left_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/left_r.png b/abs/core-testing/local-website/htdocs/remote/images/left_r.png
new file mode 100644
index 0000000..960ed9e
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/left_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/ok.png b/abs/core-testing/local-website/htdocs/remote/images/ok.png
new file mode 100644
index 0000000..269099c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/ok.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/ok_g.png b/abs/core-testing/local-website/htdocs/remote/images/ok_g.png
new file mode 100644
index 0000000..73a0931
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/ok_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/ok_r.png b/abs/core-testing/local-website/htdocs/remote/images/ok_r.png
new file mode 100644
index 0000000..8b5473f
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/ok_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/pause.png b/abs/core-testing/local-website/htdocs/remote/images/pause.png
new file mode 100644
index 0000000..12a1e0e
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/pause.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/pause_g.png b/abs/core-testing/local-website/htdocs/remote/images/pause_g.png
new file mode 100644
index 0000000..720798c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/pause_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/pause_r.png b/abs/core-testing/local-website/htdocs/remote/images/pause_r.png
new file mode 100644
index 0000000..df9d032
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/pause_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/rec.png b/abs/core-testing/local-website/htdocs/remote/images/rec.png
new file mode 100644
index 0000000..8dddf07
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/rec.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/rec_g.png b/abs/core-testing/local-website/htdocs/remote/images/rec_g.png
new file mode 100644
index 0000000..1f29994
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/rec_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/rec_r.png b/abs/core-testing/local-website/htdocs/remote/images/rec_r.png
new file mode 100644
index 0000000..8263119
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/rec_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/right.png b/abs/core-testing/local-website/htdocs/remote/images/right.png
new file mode 100644
index 0000000..3c94d77
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/right.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/right_g.png b/abs/core-testing/local-website/htdocs/remote/images/right_g.png
new file mode 100644
index 0000000..3b48fd0
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/right_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/right_r.png b/abs/core-testing/local-website/htdocs/remote/images/right_r.png
new file mode 100644
index 0000000..707bccb
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/right_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/skip_back.png b/abs/core-testing/local-website/htdocs/remote/images/skip_back.png
new file mode 100644
index 0000000..4708f76
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/skip_back.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/skip_back_g.png b/abs/core-testing/local-website/htdocs/remote/images/skip_back_g.png
new file mode 100644
index 0000000..d5654e7
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/skip_back_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/skip_back_r.png b/abs/core-testing/local-website/htdocs/remote/images/skip_back_r.png
new file mode 100644
index 0000000..52554b3
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/skip_back_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/skip_forward.png b/abs/core-testing/local-website/htdocs/remote/images/skip_forward.png
new file mode 100644
index 0000000..4103f16
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/skip_forward.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/skip_forward_g.png b/abs/core-testing/local-website/htdocs/remote/images/skip_forward_g.png
new file mode 100644
index 0000000..af37f40
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/skip_forward_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/skip_forward_r.png b/abs/core-testing/local-website/htdocs/remote/images/skip_forward_r.png
new file mode 100644
index 0000000..bd464ac
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/skip_forward_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/stop.png b/abs/core-testing/local-website/htdocs/remote/images/stop.png
new file mode 100644
index 0000000..0b10429
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/stop.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/stop_g.png b/abs/core-testing/local-website/htdocs/remote/images/stop_g.png
new file mode 100644
index 0000000..9f317f7
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/stop_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/stop_r.png b/abs/core-testing/local-website/htdocs/remote/images/stop_r.png
new file mode 100644
index 0000000..e53f0f4
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/stop_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/up.png b/abs/core-testing/local-website/htdocs/remote/images/up.png
new file mode 100644
index 0000000..42f5d67
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/up.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/up_g.png b/abs/core-testing/local-website/htdocs/remote/images/up_g.png
new file mode 100644
index 0000000..d944b71
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/up_g.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/images/up_r.png b/abs/core-testing/local-website/htdocs/remote/images/up_r.png
new file mode 100644
index 0000000..f8a7d16
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/images/up_r.png
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/inc/process.php b/abs/core-testing/local-website/htdocs/remote/inc/process.php
new file mode 100644
index 0000000..b71719b
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/inc/process.php
@@ -0,0 +1,131 @@
+<?php
+#
+# Original code (c) 2006 Mike Poublon <poublon@geeksoft.dyndns.org>
+#
+# Enhancements (c) 2006 Steven Ellis <support@openmedia.co.nz>
+#
+#change the line below that has tv.local to the address of your frontend.
+
+#echo time() . "<br>";
+if(isset($_POST['submit'])){
+ $submit = $_POST['submit'];
+ #echo "form submitted = $submit<br>";
+
+ # We set jump when we want to perform more complex commands
+ $jump="";
+
+ if ($submit == "Power"){
+ #Power - not really used yet
+ $key = "";
+ } else if ($submit == "TV"){
+ $jump = "livetv";
+ } else if ($submit == "Music"){
+ $jump = "playmusic";
+ } else if ($submit == "Video" || $submit == "Videos"){
+ $jump = "mythvideo";
+ } else if ($submit == "Recordings" || $submit == "Recorded"){
+ $jump = "playbackrecordings";
+ } else if ($submit == "Guide"){
+ $jump = "programguide";
+ } else if ($submit == "Pictures"){
+ $jump = "mythgallery";
+ } else if ($submit == "Back" || $submit == "Clear") {
+ $key = "escape";
+ } else if ($submit == "Info") {
+ $key = "i";
+ } else if ($submit == "Menu") {
+ #Menu
+ $key = "m";
+ } else if ($submit == "U" || $submit == "^") {
+ $key = "up";
+ } else if ($submit == "L" || $submit == "<") {
+ $key = "left";
+ } else if ($submit == "D" || $submit == "v") {
+ $key = "down";
+ } else if ($submit == "R" || $submit == ">") {
+ $key = "right";
+ } else if ($submit == "OK" || $submit == "Enter") {
+ $key = "enter";
+ } else if ($submit == "Page Up" || $submit == "Chan Up") {
+ $key = "pageup";
+ } else if ($submit == "Page Dn" || $submit == "Chan Dn") {
+ $key = "pagedown";
+ } else if ($submit == "Vol Up") {
+ $key = "bracketright";
+ } else if ($submit == "Vol Dn") {
+ $key = "bracketleft";
+ } else if ($submit == "Mute") {
+ $key = "f9";
+ } else if ($submit == "Pause") {
+ $key = "p";
+ } else if ($submit == "Stop") {
+ $key = "s";
+ } else if ($submit == "Rec") {
+ $key = "r";
+ } else if ($submit == "Play") {
+ $key = "p";
+ } else if ($submit == "<<") {
+ $key = "left";
+ } else if ($submit == ">>") {
+ $key = "right";
+ } else if ($submit == "|<") {
+ #skip commercial back
+ $key = "q";
+ } else if ($submit == ">|") {
+ #skip commercial
+ $key = "z";
+ # Special keys used by myPVR
+ } else if ($submit == "#") {
+ # Change tuner
+ $key = "y";
+ } else if ($submit == "*") {
+ #skip commercial
+ $key = "z";
+ } else if ($submit == "0" ||
+ $submit == "1" ||
+ $submit == "2" ||
+ $submit == "3" ||
+ $submit == "4" ||
+ $submit == "5" ||
+ $submit == "6" ||
+ $submit == "7" ||
+ $submit == "8" ||
+ $submit == "9" ) {
+ $key = $submit;
+ }
+
+ set_time_limit (5);
+ # change tv.local to the hostname/address of your frontend
+ $fp = fsockopen("localhost", 6546, $errno, $errstr, 30);
+ if (!$fp) {
+ $error = "ERROR: $errstr ($errno)";
+ } else {
+ #stream_set_timeout ( $fp, 0, 100000);
+ #$banner = stream_get_contents($fp);
+
+ $banner = "";
+
+ $c = fgetc($fp);
+ while ($c !== false && $c != "#") {
+ #echo "c = $c<br>\n";
+ $banner .= $c;
+ $c = fgetc($fp);
+ }
+ if ($c !== false) {
+ $c = fgetc($fp); #Read in the extra space after the #
+ }
+
+ if ($jump != "") {
+ $cmd = "jump $jump\x0d\x0a";
+ $jump="";
+ } else {
+ $cmd = "key $key\x0d\x0a";
+ }
+ fwrite($fp,$cmd);
+ $res = fgets($fp);
+ #echo "result = $res<br>\n";
+
+ fclose($fp);
+ }
+}
+?>
diff --git a/abs/core-testing/local-website/htdocs/remote/index.html b/abs/core-testing/local-website/htdocs/remote/index.html
new file mode 100644
index 0000000..35ff9e7
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/index.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
+
+
+ <title>MythWeb Remote</title>
+
+</head>
+
+<body>
+Please click through for the <a href="remote.html">vertical remote control</a>.<br /><br />
+Or click through for the <a href="remote-wide.html">horizontal remote control</a>.<br />
+<br />
+There is now an initial <a href="pda.php">PDA</a> version of the layout<br />
+</body>
+
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/layout-wide.html b/abs/core-testing/local-website/htdocs/remote/layout-wide.html
new file mode 100644
index 0000000..d534199
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/layout-wide.html
@@ -0,0 +1,250 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+ <title>Wide Remote Control</title>
+
+
+ <link href="remote.css" media="screen" type="text/css" rel="stylesheet" />
+
+</head>
+
+
+<body>
+
+<table style="" align="left" border="0" cellspacing="0" width="300">
+
+ <tbody>
+
+ <tr>
+
+ <td valign="top">
+ <table border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="TV" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Music" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Video" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Recordings" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Guide" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Pictures" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+
+ <td>
+ </td>
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table style="width: 70%;" border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="record" alt="Record" value="Rec" src="images/blank.gif" /> </td>
+ <td><input type="image" name="submit" class="stop" alt="Stop" value="Stop" src="images/blank.gif" /> </td>
+ <td><input type="image" name="submit" class="pause" alt="Pause" value="Pause" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input type="image" name="submit" class="rewind" alt="Rewind" value="&lt;&lt;" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="play" alt="Play" value="Play" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="ffwd" alt="Fast Forward" value="&gt;&gt;" src="images/blank.gif" /> </td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="sback" alt="Skip Back" value="|&lt;" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="sfwd" alt="Skip Forward" value="|&gt;" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="60%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="1" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="2" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="3" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="4" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="5" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="6" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="7" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="8" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="9" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="*" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="0" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="#" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Back" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Info" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Menu" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Mute" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Clear" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Enter" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+ </tr>
+
+ <tr>
+
+ <td colspan="6" align="center">
+ <table border="0" cellspacing="0" width="50%">
+
+ <tbody>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Up" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="navup" alt="Up" value="U" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Up" type="submit" /></td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input type="image" name="submit" class="navleft" alt="Left" value="L" src="images/blank.gif" /> </td>
+
+ <td><input type="image" name="submit" class="navok" alt="Ok" value="Ok" src="images/blank.gif" /> </td>
+
+ <td><input type="image" name="submit" class="navright" alt="Right" value="R" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Dn" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td <input type="image" name="submit" class="navdown" alt="Down" value="D" src="images/blank.gif" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Dn" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/layout.html b/abs/core-testing/local-website/htdocs/remote/layout.html
new file mode 100644
index 0000000..7e44ade
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/layout.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
+ <title>Remote Control</title>
+
+
+ <link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+
+</head>
+
+
+<body>
+
+<div id="narrow">
+
+ <!-- BEGIN ERROR CHECK -->
+ <?php
+ if(isset($error)){
+ ?>
+ <div id="subwide">
+ <?php echo $error; unset($error); ?>
+ </div>
+ <?php
+ }
+ ?>
+ <!-- END ERROR CHECK -->
+
+ <!-- BEGIN TOP ROW -->
+ <div id="subwide">
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="TV" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Music" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Videos" />
+ </div>
+ </div>
+ <!-- END TOP ROW -->
+
+ <!-- BEGIN 2ND ROW -->
+ <div id="subwide">
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Recordings" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Guide" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Pictures" />
+ </div>
+ </div>
+ <!-- END 2ND ROW -->
+
+ <!-- BEGIN PLAY CONTROLS -->
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="record" alt="Record" value="Rec" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="stop" alt="Stop" value="Stop" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="pause" alt="Pause" value="Pause" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="rewind" alt="Rewind" value="&lt;&lt;" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="play" alt="Play" value="Play" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="ffwd" alt="Fast Forward" value="&gt;&gt;" src="images/blank.gif" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="sback" alt="Skip Back" value="|&lt;" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="sfwd" alt="Skip Forward" value="|&gt;" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <!-- END PLAY CONTROLS -->
+
+ <!-- BEGIN MUTE ROW -->
+ <div id="subwide">
+ <div id="thirds">
+ <input type="submit" class="notxt" name="submit" value="RESERVED" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Mute" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="notxt" name="submit" value="RESERVED" />
+ </div>
+ </div>
+ <!-- END MUTE ROW -->
+
+ <!-- BEGIN GENERAL ROW -->
+ <div id="subwide">
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Back" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Info" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Menu" />
+ </div>
+ </div>
+ <!-- END GENERAL ROW -->
+
+ <!-- BEGIN NAV SECTION -->
+ <div id="subround">
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Vol Up" />
+ </div>
+ <div id="thirds">
+ <input type="image" name="submit" class="navup" alt="Up" value="Up" src="images/blank.gif" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Page Up" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="navleft" alt="Left" value="L" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="navok" alt="Ok" value="Ok" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="navright" alt="Right" value="R" src="images/blank.gif" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Vol Dn" />
+ </div>
+ <div id="thirds">
+ <input type="image" name="submit" class="navdown" alt="Down" value="D" src="images/blank.gif" />
+ </div>
+ <div id="thirds">
+ <input type="submit" class="txt" name="submit" value="Page Dn" />
+ </div>
+ </div>
+ <!-- END NAV SECTION -->
+
+ <!-- BEGIN NUMBERS -->
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="1" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="2" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="3" type="submit" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="4" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="5" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="6" type="submit" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="7" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="8" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="9" type="submit" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <div id="subround">
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="*" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="0" type="submit" />
+ </div>
+ <div id="fifths">
+ <input name="submit" class="number" value="#" type="submit" />
+ </div>
+ <div id="fifths">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ </div>
+ <!-- END NUMBERS -->
+
+ <!-- BEGIN LAST ROW -->
+ <div id="subwide">
+ <div id="thirds">
+ <input name="submit" class="halfleft" value="Clear" type="submit" />
+ </div>
+ <div id="thirds">
+ <input type="image" name="submit" class="noimage" />
+ </div>
+ <div id="thirds">
+ <input name="submit" class="halfright" value="Enter" type="submit" />
+ </div>
+ </div>
+ <!-- END LAST ROW -->
+</div>
+
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/nav.php b/abs/core-testing/local-website/htdocs/remote/nav.php
new file mode 100644
index 0000000..916bfa2
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/nav.php
@@ -0,0 +1,57 @@
+<?php
+include "inc/process.php";
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body class="mypda">
+<form method="post">
+
+<div>
+ <div class="tabArea">
+ <a class="tab" href="pda.php">Main</a>
+ <a class="tab activeTab" href="nav.php">Nav</a>
+ <a class="tab" href="num.php">Digits</a>
+ </div>
+ <div class="tabMain">
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="Vol Up" />
+ <input type="submit" class="tiny" name="submit" value="^" />
+ <input type="submit" class="tiny" name="submit" value="Chan Up" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="&lt;" />
+ <input type="submit" class="tiny" name="submit" value="OK" />
+ <input type="submit" class="tiny" name="submit" value="&gt;" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="Vol Dn" />
+ <input type="submit" class="tiny" name="submit" value="v" />
+ <input type="submit" class="tiny" name="submit" value="Chan DN" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="Rec" />
+ <input type="submit" class="tiny" name="submit" value="Stop" />
+ <input type="submit" class="tiny" name="submit" value="Pause" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="&lt;&lt;" />
+ <input type="submit" class="tiny" name="submit" value="Play" />
+ <input type="submit" class="tiny" name="submit" value="&gt;&gt;" />
+ </div>
+
+ </div>
+</div>
+
+</form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/num.php b/abs/core-testing/local-website/htdocs/remote/num.php
new file mode 100644
index 0000000..1665947
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/num.php
@@ -0,0 +1,57 @@
+<?php
+include "inc/process.php";
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body class="mypda">
+<form method="post">
+
+<div>
+ <div class="tabArea">
+ <a class="tab" href="pda.php">Main</a>
+ <a class="tab" href="nav.php">Nav</a>
+ <a class="tab activeTab" href="num.php">Digits</a>
+ </div>
+ <div class="tabMain">
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="1" />
+ <input type="submit" class="tiny" name="submit" value="2" />
+ <input type="submit" class="tiny" name="submit" value="3" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="4" />
+ <input type="submit" class="tiny" name="submit" value="5" />
+ <input type="submit" class="tiny" name="submit" value="6" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="7" />
+ <input type="submit" class="tiny" name="submit" value="8" />
+ <input type="submit" class="tiny" name="submit" value="9" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="*" />
+ <input type="submit" class="tiny" name="submit" value="0" />
+ <input type="submit" class="tiny" name="submit" value="#" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="Clear" />
+ <input type="submit" class="tiny" name="submit" value="Mute" />
+ <input type="submit" class="tiny" name="submit" value="Enter" />
+ </div>
+
+ </div>
+</div>
+
+</form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/pda.php b/abs/core-testing/local-website/htdocs/remote/pda.php
new file mode 100644
index 0000000..888c966
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/pda.php
@@ -0,0 +1,39 @@
+<?php
+include "inc/process.php";
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body class="mypda">
+<form method="post">
+
+<div>
+ <div class="tabArea">
+ <a class="tab activeTab" href="pda.php">Main</a>
+ <a class="tab" href="nav.php">Nav</a>
+ <a class="tab" href="num.php">Digits</a>
+ </div>
+ <div class="tabMain">
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="TV" />
+ <input type="submit" class="tiny" name="submit" value="Videos" />
+ <input type="submit" class="tiny" name="submit" value="Music" />
+ </div>
+
+ <div id="subpda">
+ <input type="submit" class="tiny" name="submit" value="Recorded" />
+ <input type="submit" class="tiny" name="submit" value="Guide" />
+ <input type="submit" class="tiny" name="submit" value="Pictures" />
+ </div>
+
+ </div>
+</div>
+
+</form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/remote-wide.html b/abs/core-testing/local-website/htdocs/remote/remote-wide.html
new file mode 100644
index 0000000..2806007
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/remote-wide.html
@@ -0,0 +1,275 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Wide Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<script language="javascript">
+ function setredirect(where,value)
+ {
+ //set the redirect location
+ document.getElementById('redirectpage').value=where;
+ //set the clicked on value
+ document.getElementById('buttonvalue').value=value;
+ return true;
+ }
+</script>
+
+</head>
+
+
+<body>
+<form method="post" action="backend.php">
+<!---
+Set this hidden field to the default page that you want all redirections to go to.
+When left unset, the default behavior is to redirect back to the original page that
+sent the request to the backend.php script.
+--->
+<input type="hidden" name="redirectpage" id="redirectpage" value="">
+
+<!---
+This hidden field is set via javascript to get around IE's problem with posting
+an imagebutton value
+--->
+<input type="hidden" name="buttonvalue" id="buttonvalue" value="">
+
+
+<table style="" align="left" border="0" cellspacing="0" width="300">
+
+ <tbody>
+
+ <tr>
+
+ <td valign="top">
+ <table border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="TV" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Music" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Video" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Recordings" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Guide" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Pictures" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+
+ <td>
+ </td>
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table style="width: 70%;" border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+
+ <td><input alt="Record" name="submit" class="record" value="Rec" src="images/blank.gif" type="image" onclick="setredirect('','Rec')" /> </td>
+
+ <td><input alt="Stop" name="submit" class="stop" value="Stop" src="images/blank.gif" type="image" onclick="setredirect('','Stop')" /> </td>
+
+ <td><input alt="Pause" name="submit" class="pause" value="Pause" src="images/blank.gif" type="image" onclick="setredirect('','Pause')" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input alt="Rewind" name="submit" class="rewind" value="&lt;&lt;" src="images/blank.gif" type="image" onclick="setredirect('','<<')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Play" name="submit" class="play" value="Play" src="images/blank.gif" type="image" onclick="setredirect('','Play')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Fast Forward" name="submit" class="ffwd" value="&gt;&gt;" src="images/blank.gif" type="image" onclick="setredirect('','>>')" /> </td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Back" name="submit" class="sback" value="|&lt;" src="images/blank.gif" type="image" onclick="setredirect('','|<')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Forward" name="submit" class="sfwd" value="&gt;|" src="images/blank.gif" type="image" onclick="setredirect('','>|')" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="60%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="1" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="2" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="3" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="4" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="5" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="6" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="7" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="8" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="9" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="*" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="0" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="#" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Back" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Info" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Menu" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Mute" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Clear" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Enter" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+ </tr>
+
+ <tr>
+
+ <td colspan="6" align="center">
+ <table border="0" cellspacing="0" width="50%">
+
+ <tbody>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Up" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Up" name="submit" class="navup" value="U" src="images/blank.gif" type="image" onclick="setredirect('','U')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Up" type="submit" /></td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Left" name="submit" class="navleft" value="L" src="images/blank.gif" type="image" onclick="setredirect('','L')" /> </td>
+
+ <td><input alt="OK" name="submit" class="navok" value="OK" src="images/blank.gif" type="image" onclick="setredirect('','OK')" /> </td>
+
+ <td><input alt="Right" name="submit" class="navright" value="R" src="images/blank.gif" type="image" onclick="setredirect('','R')" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Dn" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Down" name="submit" class="navdown" value="D" src="images/blank.gif" type="image" onclick="setredirect('','D')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Dn" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+<form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/remote-wide.php b/abs/core-testing/local-website/htdocs/remote/remote-wide.php
new file mode 100644
index 0000000..a9035df
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/remote-wide.php
@@ -0,0 +1,380 @@
+<?
+#
+# Original code (c) 2006 Mike Poublon <poublon@geeksoft.dyndns.org>
+#
+# Enhancements (c) 2006 Steven Ellis <support@openmedia.co.nz>
+#
+#change the line below that has tv.local to the address of your frontend.
+
+#echo time() . "<br>";
+$submit = $_POST['submit'];
+#echo "form submitted = $submit<br>";
+
+# We set jump when we want to perform more complex commands
+$jump="";
+
+if ($submit == "Power"){
+ #Power - not really used yet
+ $key = "";
+} else if ($submit == "TV"){
+ $jump = "livetv";
+} else if ($submit == "Music"){
+ $jump = "playmusic";
+} else if ($submit == "Video"){
+ $jump = "mythvideo";
+} else if ($submit == "Recordings"){
+ $jump = "playbackrecordings";
+} else if ($submit == "Guide"){
+ $jump = "programguide";
+} else if ($submit == "Pictures"){
+ $jump = "mythgallery";
+} else if ($submit == "Back") {
+ $key = "escape";
+} else if ($submit == "Info") {
+ $key = "i";
+} else if ($submit == "Menu") {
+ #Menu
+ $key = "m";
+} else if ($submit == "U") {
+ $key = "up";
+} else if ($submit == "L") {
+ $key = "left";
+} else if ($submit == "D") {
+ $key = "down";
+} else if ($submit == "R") {
+ $key = "right";
+} else if ($submit == "OK") {
+ $key = "enter";
+} else if ($submit == "Page Up") {
+ $key = "pageup";
+} else if ($submit == "Page Dn") {
+ $key = "pagedown";
+} else if ($submit == "Vol Up") {
+ $key = "bracketright";
+} else if ($submit == "Vol Dn") {
+ $key = "bracketleft";
+} else if ($submit == "Mute") {
+ $key = "f9";
+} else if ($submit == "Pause") {
+ $key = "p";
+} else if ($submit == "Stop") {
+ $key = "s";
+} else if ($submit == "Play") {
+ $key = "p";
+} else if ($submit == "<<") {
+ $key = "left";
+} else if ($submit == ">>") {
+ $key = "right";
+} else if ($submit == "|<") {
+ #skip commercial back
+ $key = "q";
+} else if ($submit == ">|") {
+ #skip commercial
+ $key = "z";
+# Special keys used by myPVR
+} else if ($submit == "#") {
+ # Change tuner
+ $key = "y";
+} else if ($submit == "*") {
+ #skip commercial
+ $key = "z";
+} else if ($submit == "0" ||
+ $submit == "1" ||
+ $submit == "2" ||
+ $submit == "3" ||
+ $submit == "4" ||
+ $submit == "5" ||
+ $submit == "6" ||
+ $submit == "7" ||
+ $submit == "8" ||
+ $submit == "9" ) {
+ $key = $submit;
+}
+
+set_time_limit (5);
+# change tv.local to the hostname/address of your frontend
+$fp = fsockopen("localhost", 6546, $errno, $errstr, 30);
+if (!$fp) {
+ echo "ERROR: $errstr ($errno)<br />\n";
+} else {
+ #stream_set_timeout ( $fp, 0, 100000);
+ #$banner = stream_get_contents($fp);
+
+ $banner = "";
+
+ $c = fgetc($fp);
+ while ($c !== false && $c != "#")
+ {
+ #echo "c = $c<br>\n";
+ $banner .= $c;
+ $c = fgetc($fp);
+ }
+ if ($c !== false)
+ {
+ $c = fgetc($fp); #Read in the extra space after the #
+ }
+
+ if ($jump != "") {
+ $cmd = "jump $jump\x0d\x0a";
+ $jump="";
+ } else {
+ $cmd = "key $key\x0d\x0a";
+ }
+ fwrite($fp,$cmd);
+ $res = fgets($fp);
+ #echo "result = $res<br>\n";
+
+ fclose($fp);
+}
+
+
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body>
+<form method="post">
+<table style="" align="left" border="0" cellspacing="0" width="300">
+
+ <tbody>
+
+ <tr>
+
+ <td valign="top">
+ <table border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="TV" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Music" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Video" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Recordings" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Guide" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Pictures" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+
+ <td>
+ </td>
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table style="width: 70%;" border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Record" name="submit" class="image" value="Rec" src="images/rec.png" type="image" /> </td>
+
+ <td><input alt="Stop" name="submit" class="image" value="Stop" src="images/stop.png" type="image" /> </td>
+
+ <td><input alt="Pause" name="submit" class="image" value="Pause" src="images/pause.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input alt="Rewind" name="submit" class="image" value="&lt;&lt;" src="images/fast_rewind.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Play" name="submit" class="image" value="Play" src="images/right.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Fast Forward" name="submit" class="image" value="&gt;&gt;" src="images/fast_forward.png" type="image" /> </td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Back" name="submit" class="image" value="|&lt;" src="images/skip_back.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Forward" name="submit" class="image" value="&gt;|" src="images/skip_forward.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="60%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="1" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="2" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="3" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="4" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="5" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="6" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="7" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="8" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="9" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="*" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="0" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="#" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Back" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Info" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Menu" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Mute" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Clear" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Enter" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+ </tr>
+
+ <tr>
+
+ <td colspan="6" align="center">
+ <table border="0" cellspacing="0" width="50%">
+
+ <tbody>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Up" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Up" name="submit" class="image" value="U" src="images/up.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Up" type="submit" /></td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Left" name="submit" class="image" value="L" src="images/left.png" type="image" /> </td>
+
+ <td><input alt="OK" name="submit" class="image" value="OK" src="images/ok.png" type="image" /> </td>
+
+ <td><input alt="Right" name="submit" class="image" value="R" src="images/right.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Dn" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Down" name="submit" class="image" value="D" src="images/down.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Dn" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/remote.css b/abs/core-testing/local-website/htdocs/remote/remote.css
new file mode 100644
index 0000000..0678a65
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/remote.css
@@ -0,0 +1,436 @@
+/*
+ * Style sheet (c) 2006 Steven Ellis <support@openmedia.co.nz>
+ *
+ * Enhancements by Michael Lynch <lynchmv@gmail.com>
+ *
+ * Published under http://creativecommons.org/licenses/by/2.5/
+ */
+
+body {
+ width:300px;
+ margin:10px 0 0 10px;
+ padding 3px;
+ behavior:url('csshover.htc');
+}
+
+#narrow {
+ width:300px;
+}
+
+.mypda {
+ width:285;
+ background-color:#fff;
+ color:#000;
+}
+
+#subround {
+ width:100%;
+ min-height:40px;
+ height:40px;
+ padding-top:1%;
+ padding-right:1%;
+ padding-bottom:1%;
+ padding-left:1%;
+}
+
+#subwide {
+ width:100%;
+ min-height:25px;
+ height:25px;
+ padding-top:1%;
+ padding-right:1%;
+ padding-bottom:1%;
+ padding-left:1%;
+}
+
+#subpda {
+ width:100%;
+ height:auto;
+ padding:3px 2px 3px 2px;
+}
+
+#halves {
+ float:left;
+ width:49%;
+}
+
+#thirds {
+ float:left;
+ width:32.5%;
+}
+
+#fourths {
+ float:left;
+ width:24%;
+}
+
+#fifths {
+ float:left;
+ width:19%;
+}
+
+#sixths {
+ float:left;
+ width:15%;
+ border:1px solid black;
+}
+
+input.txt {
+ background:none;
+ border-style:none;
+ width:80px;
+ height:24px;
+ text-align:center;
+ font-size:8pt;
+ font-weight:normal;
+ background:url(images/button_text.png) no-repeat;
+}
+
+input.txt:hover {
+ background:url(images/button_textg.png) no-repeat;
+}
+input.txt:active {
+ background:url(images/button_textr.png) no-repeat;
+}
+input.tiny {
+ border:1px solid #f6f6f6;
+ background-color:#2991c7;
+ width:86px;
+ color:#fff;
+ text-align:center;
+ font-size:8pt;
+ font-weight:normal;
+}
+
+input.tiny:hover {
+}
+
+input.halfleft {
+ background:none;
+ border-style:none;
+ width:80px;
+ height:24px;
+ text-align:center;
+ font-size:8pt;
+ font-weight:normal;
+ background:url(images/button_text.png) no-repeat;
+ float:right;
+}
+
+input.halfleft:hover {
+ background:url(images/button_textg.png) no-repeat;
+}
+input.halfleft:active {
+ background:url(images/button_textr.png) no-repeat;
+}
+
+input.halfright {
+ background:none;
+ border-style:none;
+ width:80px;
+ height:24px;
+ text-align:center;
+ font-size:8pt;
+ font-weight:normal;
+ background:url(images/button_text.png) no-repeat;
+ float:left;
+}
+
+input.halfright:hover {
+ background:url(images/button_textg.png) no-repeat;
+}
+input.halfright:active {
+ background:url(images/button_textr.png) no-repeat;
+}
+
+input.notxt {
+ visibility:hidden;
+ background:none;
+ border-style:none;
+ width:80px;
+ height:24px;
+ text-align:center;
+ font-size:8pt;
+ font-weight:normal;
+ background:url(images/button_text.png) no-repeat;
+}
+
+input.image {
+ background:#fff;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.record {
+ background:url(images/rec.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.record:hover {
+ background:url(images/rec_g.png) no-repeat;
+}
+
+input.record:active {
+ background:url(images/rec_r.png) no-repeat;
+}
+
+input.stop {
+ background:url(images/stop.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.stop:hover {
+ background:url(images/stop_g.png) no-repeat;
+}
+
+input.stop:active {
+ background:url(images/stop_r.png) no-repeat;
+}
+
+input.pause {
+ background:url(images/pause.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.pause:hover {
+ background:url(images/pause_g.png) no-repeat;
+}
+
+input.pause:active {
+ background:url(images/pause_r.png) no-repeat;
+}
+
+input.rewind {
+ background:url(images/fast_rewind.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.rewind:hover {
+ background:url(images/fast_rewind_g.png) no-repeat;
+}
+
+input.rewind:active {
+ background:url(images/fast_rewind_r.png) no-repeat;
+}
+
+input.play {
+ background:url(images/right.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.play:hover {
+ background:url(images/right_g.png) no-repeat;
+}
+
+input.play:active {
+ background:url(images/right_r.png) no-repeat;
+}
+
+input.ffwd {
+ background:url(images/fast_forward.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.ffwd:hover {
+ background:url(images/fast_forward_g.png) no-repeat;
+}
+
+input.ffwd:active {
+ background:url(images/fast_forward_r.png) no-repeat;
+}
+
+input.sback {
+ background:url(images/skip_back.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.sback:hover {
+ background:url(images/skip_back_g.png) no-repeat;
+}
+
+input.sback:active {
+ background:url(images/skip_back_r.png) no-repeat;
+}
+
+input.sfwd {
+ background:url(images/skip_forward.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.sfwd:hover {
+ background:url(images/skip_forward_g.png) no-repeat;
+}
+
+input.sfwd:active {
+ background:url(images/skip_forward_r.png) no-repeat;
+}
+
+input.navup {
+ background:url(images/up.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+ display:block;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+input.navup:hover {
+ background:url(images/up_g.png) no-repeat;
+}
+input.navup:active {
+ background:url(images/up_r.png) no-repeat;
+}
+
+
+input.navleft {
+ background:url(images/left.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+ float:right;
+}
+
+input.navleft:hover {
+ background:url(images/left_g.png) no-repeat;
+}
+
+input.navleft:active {
+ background:url(images/left_r.png) no-repeat;
+}
+
+input.navok {
+ background:url(images/ok.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+ display:block;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+input.navok:hover {
+ background:url(images/ok_g.png) no-repeat;
+}
+
+input.navok:active {
+ background:url(images/ok_r.png) no-repeat;
+}
+
+input.navright {
+ background:url(images/right.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+ float:left;
+}
+
+input.navright:hover {
+ background:url(images/right_g.png) no-repeat;
+}
+
+input.navright:active {
+ background:url(images/right_r.png) no-repeat;
+}
+
+input.navdown {
+ background:url(images/down.png) no-repeat;
+ width:40px;
+ height:40px;
+ padding:2px;
+ display:block;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+input.navdown:hover {
+ background:url(images/down_g.png) no-repeat;
+}
+input.navdown:active {
+ background:url(images/down_r.png) no-repeat;
+}
+
+input.noimage {
+ visibility:hidden;
+ border-radius:21px;
+ background: #fff;
+ width:40px;
+ height:40px;
+ padding:2px;
+}
+
+input.number {
+ border: none;
+ width: 30px;
+ height: 30px;
+ background: url(./images/button_30.png) no-repeat;
+ font-size: 12pt;
+ font-weight: bold;
+ padding: 0px;
+ display:block;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+input.number:hover {
+ background: url(./images/button_30g.png) no-repeat;
+}
+
+input.number:active {
+ background: url(./images/button_30r.png) no-repeat;
+}
+
+div.tabArea {
+ font-size: 80%;
+ font-weight: bold;
+}
+
+a.tab {
+ background-color: #f0f0f0;
+ border: 1px solid #000000;
+ border-bottom-width: 0px;
+ padding: 2px .3em 2px .3em;
+ position:relative;
+ text-decoration: none;
+ top:-1px;
+ z-index:100;
+}
+
+a.tab, a.tab:visited {
+ color: #808080;
+}
+
+a.tab:hover {
+ background-color: #d0d0d0;
+ color: #606060;
+}
+
+a.tab.activeTab, a.tab.activeTab:hover, a.tab.activeTab:visited {
+ background-color: #c0c0c0;
+ color: #000000;
+ z-index:102;
+}
+
+div.tabMain {
+ background-color: #c0c0c0;
+ border: 1px solid #000000;
+ position:relative;
+ z-index:101;
+}
diff --git a/abs/core-testing/local-website/htdocs/remote/remote.html b/abs/core-testing/local-website/htdocs/remote/remote.html
new file mode 100644
index 0000000..71ec374
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/remote.html
@@ -0,0 +1,307 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+
+<script language="javascript">
+ function setredirect(where,value)
+ {
+ //set the redirect location
+ document.getElementById('redirectpage').value=where;
+ //set the clicked on value
+ document.getElementById('buttonvalue').value=value;
+ return true;
+ }
+</script>
+
+</head>
+
+<body>
+<form method="post" action="backend.php">
+<!---
+Set this hidden field to the default page that you want all redirections to go to.
+When left unset, the default behavior is to redirect back to the original page that
+sent the request to the backend.php script.
+--->
+<input type="hidden" name="redirectpage" id="redirectpage" value="">
+
+<!---
+This hidden field is set via javascript to get around IE's problem with posting
+an imagebutton value
+--->
+<input type="hidden" name="buttonvalue" id="buttonvalue" value="">
+
+
+<table style="" align="left" border="0" cellspacing="0" width="300">
+
+ <tbody>
+
+ <tr>
+
+ <td valign="top">
+ <table border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="TV" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Music" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Video" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Recordings" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Guide" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Pictures" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table style="width: 70%;" border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Record" name="submit" class="record" value="Rec" src="images/blank.gif" type="image" onclick="setredirect('','Rec')" /> </td>
+
+ <td><input alt="Stop" name="submit" class="stop" value="Stop" src="images/blank.gif" type="image" onclick="setredirect('','Stop')" /> </td>
+
+ <td><input alt="Pause" name="submit" class="pause" value="Pause" src="images/blank.gif" type="image" onclick="setredirect('','Pause')" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input alt="Rewind" name="submit" class="rewind" value="&lt;&lt;" src="images/blank.gif" type="image" onclick="setredirect('','<<')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Play" name="submit" class="play" value="Play" src="images/blank.gif" type="image" onclick="setredirect('','Play')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Fast Forward" name="submit" class="ffwd" value="&gt;&gt;" src="images/blank.gif" type="image" onclick="setredirect('','>>')" /> </td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Back" name="submit" class="sback" value="|&lt;" src="images/blank.gif" type="image" onclick="setredirect('','|<')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Forward" name="submit" class="sfwd" value="&gt;|" src="images/blank.gif" type="image" onclick="setredirect('','>|')" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Mute" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Back" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Info" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Menu" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="50%">
+
+ <tbody>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Up" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Up" name="submit" class="navup" value="U" src="images/blank.gif" type="image" onclick="setredirect('','U')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Up" type="submit" /></td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Left" name="submit" class="navleft" value="L" src="images/blank.gif" type="image" onclick="setredirect('','L')" /> </td>
+
+ <td><input alt="OK" name="submit" class="navok" value="OK" src="images/blank.gif" type="image" onclick="setredirect('','OK')" /> </td>
+
+ <td><input alt="Right" name="submit" class="navright" value="R" src="images/blank.gif" type="image" onclick="setredirect('','R')" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Dn" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Down" name="submit" class="navdown" value="D" src="images/blank.gif" type="image" onclick="setredirect('','D')" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Dn" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="60%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="1" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="2" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="3" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="4" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="5" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="6" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="7" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="8" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="9" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="*" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="0" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="#" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="80%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Clear" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Enter" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+<form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/remote.php b/abs/core-testing/local-website/htdocs/remote/remote.php
new file mode 100644
index 0000000..bacf6a3
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/remote.php
@@ -0,0 +1,413 @@
+<?
+#
+# Original code (c) 2006 Mike Poublon <poublon@geeksoft.dyndns.org>
+#
+# Enhancements (c) 2006 Steven Ellis <support@openmedia.co.nz>
+#
+#change the line below that has tv.local to the address of your frontend.
+
+#echo time() . "<br>";
+$submit = $_POST['submit'];
+#echo "form submitted = $submit<br>";
+
+# We set jump when we want to perform more complex commands
+$jump="";
+
+if ($submit == "Power"){
+ #Power - not really used yet
+ $key = "";
+} else if ($submit == "TV"){
+ $jump = "livetv";
+} else if ($submit == "Music"){
+ $jump = "playmusic";
+} else if ($submit == "Video"){
+ $jump = "mythvideo";
+} else if ($submit == "Recordings"){
+ $jump = "playbackrecordings";
+} else if ($submit == "Guide"){
+ $jump = "programguide";
+} else if ($submit == "Pictures"){
+ $jump = "mythgallery";
+} else if ($submit == "Back") {
+ $key = "escape";
+} else if ($submit == "Info") {
+ $key = "i";
+} else if ($submit == "Menu") {
+ #Menu
+ $key = "m";
+} else if ($submit == "U") {
+ $key = "up";
+} else if ($submit == "L") {
+ $key = "left";
+} else if ($submit == "D") {
+ $key = "down";
+} else if ($submit == "R") {
+ $key = "right";
+} else if ($submit == "OK") {
+ $key = "enter";
+} else if ($submit == "Page Up") {
+ $key = "pageup";
+} else if ($submit == "Page Dn") {
+ $key = "pagedown";
+} else if ($submit == "Vol Up") {
+ $key = "bracketright";
+} else if ($submit == "Vol Dn") {
+ $key = "bracketleft";
+} else if ($submit == "Mute") {
+ $key = "f9";
+} else if ($submit == "Pause") {
+ $key = "p";
+} else if ($submit == "Stop") {
+ $key = "s";
+} else if ($submit == "Play") {
+ $key = "p";
+} else if ($submit == "<<") {
+ $key = "left";
+} else if ($submit == ">>") {
+ $key = "right";
+} else if ($submit == "|<") {
+ #skip commercial back
+ $key = "q";
+} else if ($submit == ">|") {
+ #skip commercial
+ $key = "z";
+# Special keys used by myPVR
+} else if ($submit == "#") {
+ # Change tuner
+ $key = "y";
+} else if ($submit == "*") {
+ #skip commercial
+ $key = "z";
+} else if ($submit == "0" ||
+ $submit == "1" ||
+ $submit == "2" ||
+ $submit == "3" ||
+ $submit == "4" ||
+ $submit == "5" ||
+ $submit == "6" ||
+ $submit == "7" ||
+ $submit == "8" ||
+ $submit == "9" ) {
+ $key = $submit;
+}
+
+set_time_limit (5);
+# change tv.local to the hostname/address of your frontend
+$fp = fsockopen("localhost", 6546, $errno, $errstr, 30);
+if (!$fp) {
+ echo "ERROR: $errstr ($errno)<br />\n";
+} else {
+ #stream_set_timeout ( $fp, 0, 100000);
+ #$banner = stream_get_contents($fp);
+
+ $banner = "";
+
+ $c = fgetc($fp);
+ while ($c !== false && $c != "#")
+ {
+ #echo "c = $c<br>\n";
+ $banner .= $c;
+ $c = fgetc($fp);
+ }
+ if ($c !== false)
+ {
+ $c = fgetc($fp); #Read in the extra space after the #
+ }
+
+ if ($jump != "") {
+ $cmd = "jump $jump\x0d\x0a";
+ $jump="";
+ } else {
+ $cmd = "key $key\x0d\x0a";
+ }
+ fwrite($fp,$cmd);
+ $res = fgets($fp);
+ #echo "result = $res<br>\n";
+
+ fclose($fp);
+}
+
+
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>MythTV Web Remote</title>
+<link rel="stylesheet" type="text/css" media="screen" href="remote.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body>
+<form method="post">
+<table style="" align="left" border="0" cellspacing="0" width="300">
+
+ <tbody>
+
+ <tr>
+
+ <td valign="top">
+ <table border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="TV" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Music" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Video" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Recordings" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Guide" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Pictures" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table style="width: 70%;" border="0" cellspacing="0">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Record" name="submit" class="image" value="Rec" src="images/rec.png" type="image" /> </td>
+
+ <td><input alt="Stop" name="submit" class="image" value="Stop" src="images/stop.png" type="image" /> </td>
+
+ <td><input alt="Pause" name="submit" class="image" value="Pause" src="images/pause.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input alt="Rewind" name="submit" class="image" value="&lt;&lt;" src="images/fast_rewind.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Play" name="submit" class="image" value="Play" src="images/right.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Fast Forward" name="submit" class="image" value="&gt;&gt;" src="images/fast_forward.png" type="image" /> </td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Back" name="submit" class="image" value="|&lt;" src="images/skip_back.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Skip Forward" name="submit" class="image" value="&gt;|" src="images/skip_forward.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Mute" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Back" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Info" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Menu" type="submit" /></td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="50%">
+
+ <tbody>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Up" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Up" name="submit" class="image" value="U" src="images/up.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Up" type="submit" /></td>
+
+ </tr>
+
+ <tr>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Left" name="submit" class="image" value="L" src="images/left.png" type="image" /> </td>
+
+ <td><input alt="OK" name="submit" class="image" value="OK" src="images/ok.png" type="image" /> </td>
+
+ <td><input alt="Right" name="submit" class="image" value="R" src="images/right.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ </tr>
+
+ <tr>
+
+ <td><input name="submit" class="txt" value="Vol Dn" type="submit" /></td>
+
+ <td>&nbsp;</td>
+
+ <td><input alt="Down" name="submit" class="image" value="D" src="images/down.png" type="image" /> </td>
+
+ <td>&nbsp;</td>
+
+ <td><input name="submit" class="txt" value="Page Dn" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr style="height: 8px;" align="center">
+ <td colspan="6"></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="60%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="1" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="2" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="3" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="4" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="5" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="6" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="7" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="8" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="9" type="submit" /></td>
+
+ </tr>
+
+ <tr align="center">
+
+ <td align="right"><input name="submit" class="number" value="*" type="submit" /></td>
+
+ <td><input name="submit" class="number" value="0" type="submit" /></td>
+
+ <td align="left"><input name="submit" class="number" value="#" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="3" align="center">
+ <table border="0" cellspacing="0" width="80%">
+
+ <tbody>
+
+ <tr align="center">
+
+ <td><input name="submit" class="txt" value="Clear" type="submit" /></td>
+
+ <td><input name="submit" class="txt" value="Enter" type="submit" /></td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+ </table>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+<form>
+</body>
+</html>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/button.svg b/abs/core-testing/local-website/htdocs/remote/svg/button.svg
new file mode 100644
index 0000000..6f34399
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/button.svg
@@ -0,0 +1,353 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Development/mypvr-web-remote/remote/svg"
+ sodipodi:docname="button.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1663">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="0.19090909"
+ x2="1.1454545"
+ xlink:href="#linearGradient832"
+ y1="0.68421054"
+ y2="-0.17105263" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="56.622445"
+ inkscape:cy="59.112624"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="803"
+ inkscape:window-width="952"
+ inkscape:window-x="77"
+ inkscape:window-y="143"
+ inkscape:zoom="2.4559706"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/button_30.xcf b/abs/core-testing/local-website/htdocs/remote/svg/button_30.xcf
new file mode 100644
index 0000000..baa07b4
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/button_30.xcf
Binary files differ
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/button_g.svg b/abs/core-testing/local-website/htdocs/remote/svg/button_g.svg
new file mode 100644
index 0000000..f219560
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/button_g.svg
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Development/mypvr-web-remote/remote/svg"
+ sodipodi:docname="button_g.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1663">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="0.19090909"
+ x2="1.1454545"
+ xlink:href="#linearGradient832"
+ y1="0.68421054"
+ y2="-0.17105263" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="66.407707"
+ inkscape:cy="87.742158"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="834"
+ inkscape:window-width="1586"
+ inkscape:window-x="38"
+ inkscape:window-y="78"
+ inkscape:zoom="7.3998677"
+ pagecolor="#ffffff"
+ inkscape:current-layer="layer1"
+ showguides="false"
+ showgrid="true" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="Green">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.54945056;fill:#7caa92;fill-opacity:1"
+ id="path4624"
+ sodipodi:cx="93.836662"
+ sodipodi:cy="78.585709"
+ sodipodi:rx="45.676094"
+ sodipodi:ry="47.013885"
+ d="M 139.51276 78.585709 A 45.676094 47.013885 0 1 1 48.160568,78.585709 A 45.676094 47.013885 0 1 1 139.51276 78.585709 z"
+ transform="matrix(1.039931,0,0,1.01034,-16.08364,-13.89829)"
+ inkscape:export-filename="/home/steve/Development/mypvr-web-remote/remote/images/button_30g.png"
+ inkscape:export-xdpi="28.42"
+ inkscape:export-ydpi="28.42" />
+ </g>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/button_r.svg b/abs/core-testing/local-website/htdocs/remote/svg/button_r.svg
new file mode 100644
index 0000000..d2cb508
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/button_r.svg
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Development/mypvr-web-remote/remote/svg"
+ sodipodi:docname="button_r.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1663">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="0.19090909"
+ x2="1.1454545"
+ xlink:href="#linearGradient832"
+ y1="0.68421054"
+ y2="-0.17105263" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="60.540922"
+ inkscape:cy="93.850029"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="917"
+ inkscape:window-width="1125"
+ inkscape:window-x="77"
+ inkscape:window-y="56"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="layer2" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Red">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.56043956;fill:#a9896a;fill-opacity:1"
+ id="path5769"
+ sodipodi:cx="86.517967"
+ sodipodi:cy="88.453529"
+ sodipodi:rx="48.513405"
+ sodipodi:ry="33.541908"
+ d="M 135.03137 88.453529 A 48.513405 33.541908 0 1 1 38.004562,88.453529 A 48.513405 33.541908 0 1 1 135.03137 88.453529 z"
+ transform="matrix(0.979229,0,0,1.414164,-2.953461,-59.73923)"
+ inkscape:export-xdpi="28.42"
+ inkscape:export-ydpi="28.42"
+ inkscape:export-filename="/home/steve/Development/mypvr-web-remote/remote/images/button_30r.png" />
+ </g>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/down.svg b/abs/core-testing/local-website/htdocs/remote/svg/down.svg
new file mode 100644
index 0000000..a321bc6
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/down.svg
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote"
+ sodipodi:docname="down.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1663">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="0.19090909"
+ x2="1.1454545"
+ xlink:href="#linearGradient832"
+ y1="0.68421054"
+ y2="-0.17105263" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="72.909285"
+ inkscape:cy="75.399464"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="575"
+ inkscape:window-width="797"
+ inkscape:window-x="76"
+ inkscape:window-y="454"
+ inkscape:zoom="2.4559706"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 55.941329,56.455672 L 107.14521,56.021852 L 82.637595,91.240215 L 55.941329,56.455672 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.1250000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728;"
+ inkscape:export-filename="/home/steve/Documents/remote/images/down.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/fast_forward.svg b/abs/core-testing/local-website/htdocs/remote/svg/fast_forward.svg
new file mode 100644
index 0000000..a19f70a
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/fast_forward.svg
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="fast_forward.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,137.4075,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="153.84141"
+ x2="153.84141"
+ xlink:href="#linearGradient836"
+ y1="521.18289"
+ y2="498.94016"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="99.330109"
+ cy="480.49422"
+ fx="101.84936"
+ fy="457.10126"
+ id="radialGradient1402"
+ r="42.108869"
+ xlink:href="#linearGradient841"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="99.330112"
+ cy="481.5739"
+ fx="101.48946"
+ fy="495.60967"
+ id="radialGradient1415"
+ r="42.108869"
+ xlink:href="#linearGradient1416"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient832"
+ id="linearGradient2532"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,161.6985,-15.09932)"
+ x1="54.705607"
+ y1="80.75058"
+ x2="100.20946"
+ y2="39.97958" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="94.389377"
+ inkscape:cy="96.874111"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="923"
+ inkscape:window-width="968"
+ inkscape:window-x="349"
+ inkscape:window-y="76"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="91.988323"
+ id="guide2428" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="121.21153"
+ id="guide2430" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="64.780509"
+ id="guide2432" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 1 125.9621,527.64008 A 29.511122 29.511122 0 1 1 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt;stroke-opacity:0.37190085"
+ transform="matrix(1.29167,0,0,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 59.325123,41.305001 L 58.891303,92.508878 L 94.109663,68.001267 L 59.325123,41.305001 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 83.616178,41.35097 L 83.182358,92.554847 L 118.40072,68.047236 L 83.616178,41.35097 z "
+ id="path2530"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient2532);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/fast_rewind.svg b/abs/core-testing/local-website/htdocs/remote/svg/fast_rewind.svg
new file mode 100644
index 0000000..fe872e4
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/fast_rewind.svg
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="fast_rewind.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,0.846293,0,27.88452,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="153.84141"
+ x2="153.84141"
+ xlink:href="#linearGradient836"
+ y1="521.18289"
+ y2="498.94016"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="99.330109"
+ cy="480.49422"
+ fx="101.84936"
+ fy="457.10126"
+ id="radialGradient1402"
+ r="42.108869"
+ xlink:href="#linearGradient841"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="99.330112"
+ cy="481.5739"
+ fx="101.48946"
+ fy="495.60967"
+ id="radialGradient1415"
+ r="42.108869"
+ xlink:href="#linearGradient1416"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient832"
+ id="linearGradient2532"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.181625,0.846293,0,3.59352,-15.09932)"
+ x1="54.705607"
+ y1="80.75058"
+ x2="100.20946"
+ y2="39.97958" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="94.389377"
+ inkscape:cy="96.874111"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="923"
+ inkscape:window-width="968"
+ inkscape:window-x="349"
+ inkscape:window-y="76"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="91.988323"
+ id="guide2428" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="121.21153"
+ id="guide2430" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="64.780509"
+ id="guide2432" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/fast_rewind.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/fast_rewind.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 1 125.9621,527.64008 A 29.511122 29.511122 0 1 1 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt;stroke-opacity:0.37190085"
+ transform="matrix(1.29167,0,0,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/fast_rewind.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 105.9669,41.305001 L 106.40072,92.508878 L 71.18236,68.001267 L 105.9669,41.305001 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/fast_rewind.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 81.675845,41.35097 L 82.109665,92.554847 L 46.891303,68.047236 L 81.675845,41.35097 z "
+ id="path2530"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient2532);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/fast_rewind.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/left.svg b/abs/core-testing/local-website/htdocs/remote/svg/left.svg
new file mode 100644
index 0000000..fdaec7e
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/left.svg
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Downloads/buttons"
+ sodipodi:docname="left.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,0.846293,0,15.14526,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="72.909285"
+ inkscape:cy="75.399464"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="575"
+ inkscape:window-width="797"
+ inkscape:window-x="447"
+ inkscape:window-y="416"
+ inkscape:zoom="2.4559706"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 93.22759,41.305001 L 93.66141,92.508878 L 58.44305,68.001267 L 93.22759,41.305001 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/ok.svg b/abs/core-testing/local-website/htdocs/remote/svg/ok.svg
new file mode 100644
index 0000000..22975ff
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/ok.svg
@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/images"
+ sodipodi:docname="ok.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="0.19090909"
+ x2="1.1454545"
+ xlink:href="#linearGradient832"
+ y1="0.68421054"
+ y2="-0.17105263" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="73.286607"
+ inkscape:cy="76.149307"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="575"
+ inkscape:window-width="797"
+ inkscape:window-x="396"
+ inkscape:window-y="218"
+ inkscape:zoom="2.4559706"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="81.027029"
+ id="guide2290" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="94.463672"
+ id="guide2292" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/ok.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/ok.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/ok.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:110.00000238%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="79.470055"
+ y="80.67337"
+ id="text2286"
+ sodipodi:linespacing="110%"
+ inkscape:export-filename="/home/steve/Documents/remote/images/ok.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan2288"
+ x="79.470055"
+ y="80.67337">OK</tspan></text>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/pause.svg b/abs/core-testing/local-website/htdocs/remote/svg/pause.svg
new file mode 100644
index 0000000..26fcc74
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/pause.svg
@@ -0,0 +1,410 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="pause.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,146.9592,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="20.644188"
+ inkscape:cy="81.910525"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="820"
+ inkscape:window-width="1110"
+ inkscape:window-x="215"
+ inkscape:window-y="166"
+ inkscape:zoom="3.4732669"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="121.13337"
+ id="guide2608" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <g
+ id="g2421"
+ transform="matrix(1.604618,0,0,1,-475.3725,-472.9867)">
+ <rect
+ rx="1.6131665"
+ ry="4.8613596"
+ y="511.93057"
+ x="335.1181"
+ height="56.442268"
+ width="8.0812206"
+ id="rect2386"
+ style="fill:#bababa;fill-opacity:1" />
+ <rect
+ ry="4.8613596"
+ rx="1.6131665"
+ y="513.82458"
+ x="337.01215"
+ height="52.906738"
+ width="4.2931485"
+ id="rect2398"
+ style="fill:#323232;fill-opacity:1" />
+ </g>
+ <g
+ id="g2596"
+ transform="matrix(1.705388,0,0,1,-484.7837,-472.9867)">
+ <rect
+ rx="1.517846"
+ ry="4.8613596"
+ y="511.93057"
+ x="335.1181"
+ height="56.442268"
+ width="8.0812206"
+ id="rect2598"
+ style="fill:#bababa;fill-opacity:1" />
+ <rect
+ ry="4.8613596"
+ rx="1.517846"
+ y="513.82458"
+ x="337.01215"
+ height="52.906738"
+ width="4.2931485"
+ id="rect2600"
+ style="fill:#323232;fill-opacity:1" />
+ </g>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/rec.svg b/abs/core-testing/local-website/htdocs/remote/svg/rec.svg
new file mode 100644
index 0000000..bc3cd54
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/rec.svg
@@ -0,0 +1,395 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="rec.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt"
+ inkscape:export-filename="/home/steve/Documents/remote/images/pause.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,146.9592,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="55.960102"
+ inkscape:cy="90.990883"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="820"
+ inkscape:window-width="1110"
+ inkscape:window-x="177"
+ inkscape:window-y="162"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="93.283933"
+ id="guide2608" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/rec.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/rec.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/rec.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#bababa;fill-opacity:1"
+ id="path2618"
+ sodipodi:cx="566.25366"
+ sodipodi:cy="540.15173"
+ sodipodi:rx="28.221136"
+ sodipodi:ry="28.221136"
+ d="M 594.4748 540.15173 A 28.221136 28.221136 0 1 1 538.03253,540.15173 A 28.221136 28.221136 0 1 1 594.4748 540.15173 z"
+ transform="translate(-485.7818,-473.5794)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/rec.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#ce401a;fill-opacity:1"
+ id="path2626"
+ sodipodi:cx="526.28949"
+ sodipodi:cy="539.96228"
+ sodipodi:rx="24.36993"
+ sodipodi:ry="24.36993"
+ d="M 550.65942 539.96228 A 24.36993 24.36993 0 1 1 501.91956,539.96228 A 24.36993 24.36993 0 1 1 550.65942 539.96228 z"
+ transform="matrix(1,0,0,1.010363,-445.7545,-479.0485)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/rec.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/right.svg b/abs/core-testing/local-website/htdocs/remote/svg/right.svg
new file mode 100644
index 0000000..5873a44
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/right.svg
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote"
+ sodipodi:docname="right.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,146.9592,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="72.909285"
+ inkscape:cy="75.399464"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="575"
+ inkscape:window-width="797"
+ inkscape:window-x="447"
+ inkscape:window-y="416"
+ inkscape:zoom="2.4559706"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 68.87687,41.305001 L 68.44305,92.508878 L 103.66141,68.001267 L 68.87687,41.305001 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/right.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/scratch.svg b/abs/core-testing/local-website/htdocs/remote/svg/scratch.svg
new file mode 100644
index 0000000..9da222b
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/scratch.svg
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2348"
+ sodipodi:version="0.32"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="scratch.svg">
+ <defs
+ id="defs2350">
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,0.846293,0,323.6894,451.8252)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient832"
+ id="linearGradient2363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.181625,0.846293,0,707.8879,925.0133)"
+ x1="54.705607"
+ y1="80.75058"
+ x2="100.20946"
+ y2="39.97958" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="7.9195959"
+ inkscape:cx="531.08711"
+ inkscape:cy="511.28536"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1312"
+ inkscape:window-height="918"
+ inkscape:window-x="5"
+ inkscape:window-y="51">
+ <sodipodi:guide
+ orientation="horizontal"
+ position="540.43161"
+ id="guide2367" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="483.98934"
+ id="guide2371" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="536.89608"
+ id="guide2622" />
+ <sodipodi:guide
+ orientation="vertical"
+ position="566.31677"
+ id="guide2624" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="512.14734"
+ id="guide3501" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2353">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ d="M 477.42612,514.49307 L 477.85994,565.69695 L 442.64158,541.18933 L 477.42612,514.49307 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient2363);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/left.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="fill:#cacaca;fill-opacity:1"
+ id="rect2369"
+ width="9.5964489"
+ height="6.8185296"
+ x="385.12067"
+ y="435.41153" />
+ <rect
+ style="fill:#bababa;fill-opacity:1"
+ id="rect2381"
+ width="48.594997"
+ height="56.449001"
+ x="366.18121"
+ y="515.08051"
+ transform="matrix(0.999968,-8.050361e-3,-7.165447e-3,0.999974,0,0)" />
+ <rect
+ style="fill:#bababa;fill-opacity:1"
+ id="rect2383"
+ width="5.177032"
+ height="56.442268"
+ x="354.43729"
+ y="511.93057" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1"
+ id="rect2610"
+ width="0.37880722"
+ height="7.5761414"
+ x="464.41763"
+ y="511.93057" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="me">
+ <path
+ sodipodi:type="arc"
+ style="fill:#bababa;fill-opacity:1"
+ id="path2392"
+ sodipodi:cx="345.78784"
+ sodipodi:cy="515.21356"
+ sodipodi:rx="2.841054"
+ sodipodi:ry="0"
+ d="M 348.6289 515.21356 A 2.841054 0 0 1 1 342.94679,515.21356 A 2.841054 0 0 1 1 348.6289 515.21356 z" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#bababa;fill-opacity:1"
+ id="path2396"
+ sodipodi:cx="326.97375"
+ sodipodi:cy="513.88776"
+ sodipodi:rx="1.8309015"
+ sodipodi:ry="1.9571706"
+ d="M 328.80466,513.88776 A 1.8309015,1.9571706 0 1 1 328.38153,512.6364 L 326.97375,513.88776 z"
+ sodipodi:start="0"
+ sodipodi:end="5.5895056" />
+ <g
+ id="g2421">
+ <rect
+ rx="2.588516"
+ ry="4.8613596"
+ y="511.93057"
+ x="335.1181"
+ height="56.442268"
+ width="8.0812206"
+ id="rect2386"
+ style="fill:#bababa;fill-opacity:1" />
+ <rect
+ ry="4.8613596"
+ rx="2.588516"
+ y="513.82458"
+ x="337.01215"
+ height="52.906738"
+ width="4.2931485"
+ id="rect2398"
+ style="fill:#323232;fill-opacity:1" />
+ </g>
+ <g
+ id="g2602"
+ transform="matrix(1.328125,0,0,1,4.186576,1.73584e-6)">
+ <rect
+ rx="1.9490002"
+ ry="4.8613596"
+ y="511.93057"
+ x="335.1181"
+ height="56.442268"
+ width="8.0812206"
+ id="rect2604"
+ style="fill:#bababa;fill-opacity:1" />
+ <rect
+ ry="4.8613596"
+ rx="1.9490002"
+ y="513.82458"
+ x="337.01215"
+ height="52.906738"
+ width="4.2931485"
+ id="rect2606"
+ style="fill:#323232;fill-opacity:1" />
+ </g>
+ <rect
+ style="fill:#323232;fill-opacity:1"
+ id="rect2612"
+ width="41.163712"
+ height="49.623737"
+ x="365.52863"
+ y="515.08734" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#bababa;fill-opacity:1"
+ id="path2618"
+ sodipodi:cx="566.25366"
+ sodipodi:cy="540.15173"
+ sodipodi:rx="28.221136"
+ sodipodi:ry="28.221136"
+ d="M 594.4748 540.15173 A 28.221136 28.221136 0 1 1 538.03253,540.15173 A 28.221136 28.221136 0 1 1 594.4748 540.15173 z"
+ transform="translate(-0.126269,-2.468811e-5)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:#ce401a;fill-opacity:1"
+ id="path2626"
+ sodipodi:cx="526.28949"
+ sodipodi:cy="539.96228"
+ sodipodi:rx="24.36993"
+ sodipodi:ry="24.36993"
+ d="M 550.65942 539.96228 A 24.36993 24.36993 0 1 1 501.91956,539.96228 A 24.36993 24.36993 0 1 1 550.65942 539.96228 z"
+ transform="matrix(1,0,0,1.010363,39.90103,-5.469173)" />
+ </g>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/skip_back.svg b/abs/core-testing/local-website/htdocs/remote/svg/skip_back.svg
new file mode 100644
index 0000000..de35870
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/skip_back.svg
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="skip_back.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,0.846293,0,21.14526,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="153.84141"
+ x2="153.84141"
+ xlink:href="#linearGradient836"
+ y1="521.18289"
+ y2="498.94016"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="99.330109"
+ cy="480.49422"
+ fx="101.84936"
+ fy="457.10126"
+ id="radialGradient1402"
+ r="42.108869"
+ xlink:href="#linearGradient841"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="99.330112"
+ cy="481.5739"
+ fx="101.48946"
+ fy="495.60967"
+ id="radialGradient1415"
+ r="42.108869"
+ xlink:href="#linearGradient1416"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="94.389377"
+ inkscape:cy="96.874111"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="923"
+ inkscape:window-width="968"
+ inkscape:window-x="349"
+ inkscape:window-y="76"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="91.988323"
+ id="guide2428" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="121.21153"
+ id="guide2430" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="64.780509"
+ id="guide2432" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/left.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/left.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 1 125.9621,527.64008 A 29.511122 29.511122 0 1 1 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt;stroke-opacity:0.37190085"
+ transform="matrix(1.29167,0,0,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/left.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 99.22759,41.305001 L 99.66141,92.508878 L 64.44305,68.001267 L 99.22759,41.305001 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/left.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <g
+ id="g2421"
+ transform="translate(-278.7893,-473.1082)">
+ <rect
+ rx="2.588516"
+ ry="4.8613596"
+ y="511.93057"
+ x="335.1181"
+ height="56.442268"
+ width="8.0812206"
+ id="rect2386"
+ style="fill:#bababa;fill-opacity:1" />
+ <rect
+ ry="4.8613596"
+ rx="2.588516"
+ y="513.82458"
+ x="337.01215"
+ height="52.906738"
+ width="4.2931485"
+ id="rect2398"
+ style="fill:#323232;fill-opacity:1" />
+ </g>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/skip_forward.svg b/abs/core-testing/local-website/htdocs/remote/svg/skip_forward.svg
new file mode 100644
index 0000000..38bdc9c
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/skip_forward.svg
@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="skip_forward.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_forward.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,137.4075,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="153.84141"
+ x2="153.84141"
+ xlink:href="#linearGradient836"
+ y1="521.18289"
+ y2="498.94016"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="99.330109"
+ cy="480.49422"
+ fx="101.84936"
+ fy="457.10126"
+ id="radialGradient1402"
+ r="42.108869"
+ xlink:href="#linearGradient841"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="99.330112"
+ cy="481.5739"
+ fx="101.48946"
+ fy="495.60967"
+ id="radialGradient1415"
+ r="42.108869"
+ xlink:href="#linearGradient1416"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="94.389377"
+ inkscape:cy="96.874111"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="923"
+ inkscape:window-width="968"
+ inkscape:window-x="349"
+ inkscape:window-y="76"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="91.988323"
+ id="guide2428" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="121.21153"
+ id="guide2430" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="64.780509"
+ id="guide2432" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_back.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.35177 27.35177 0 1 1 72.698126,483.73325 A 27.35177 27.35177 0 1 1 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.0499"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.35177"
+ sodipodi:ry="27.35177"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.08127832;stroke-dasharray:none;stroke-opacity:0.37190085"
+ transform="matrix(1.736345,0,0,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_back.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 1 125.9621,527.64008 A 29.511122 29.511122 0 1 1 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt;stroke-opacity:0.37190085"
+ transform="matrix(1.29167,0,0,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_back.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 59.325123,41.305001 L 58.891303,92.508878 L 94.109663,68.001267 L 59.325123,41.305001 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.125;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_back.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <g
+ id="g2421"
+ transform="matrix(-1,0,0,1,437.342,-473.1082)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/skip_back.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ rx="2.588516"
+ ry="4.8613596"
+ y="511.93057"
+ x="335.1181"
+ height="56.442268"
+ width="8.0812206"
+ id="rect2386"
+ style="fill:#bababa;fill-opacity:1" />
+ <rect
+ ry="4.8613596"
+ rx="2.588516"
+ y="513.82458"
+ x="337.01215"
+ height="52.906738"
+ width="4.2931485"
+ id="rect2398"
+ style="fill:#323232;fill-opacity:1" />
+ </g>
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/stop.svg b/abs/core-testing/local-website/htdocs/remote/svg/stop.svg
new file mode 100644
index 0000000..f3d082d
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/stop.svg
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Documents/remote/svg"
+ sodipodi:docname="stop.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt"
+ inkscape:export-filename="/home/steve/Documents/remote/images/pause.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="54.705607"
+ x2="100.20946"
+ xlink:href="#linearGradient832"
+ y1="80.75058"
+ y2="39.97958"
+ gradientTransform="matrix(0,1.181625,-0.846293,0,146.9592,-15.14529)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="54.232622"
+ inkscape:cy="92.070558"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="820"
+ inkscape:window-width="1110"
+ inkscape:window-x="177"
+ inkscape:window-y="162"
+ inkscape:zoom="6.9465339"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="vertical"
+ position="80.619858"
+ id="guide1772" />
+ <sodipodi:guide
+ orientation="horizontal"
+ position="93.283933"
+ id="guide2608" />
+ </sodipodi:namedview>
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/pause.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/pause.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)"
+ inkscape:export-filename="/home/steve/Documents/remote/images/pause.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <rect
+ style="fill:#bababa;fill-opacity:1"
+ id="rect2381"
+ width="48.595245"
+ height="56.448753"
+ x="56.803886"
+ y="39.146034"
+ transform="matrix(0.999968,-8.050322e-3,-7.165473e-3,0.999974,0,0)" />
+ <rect
+ style="fill:#323232;fill-opacity:1"
+ id="rect2612"
+ width="41.163712"
+ height="49.623737"
+ x="59.571178"
+ y="41.656029" />
+</svg>
diff --git a/abs/core-testing/local-website/htdocs/remote/svg/up.svg b/abs/core-testing/local-website/htdocs/remote/svg/up.svg
new file mode 100644
index 0000000..d980f23
--- /dev/null
+++ b/abs/core-testing/local-website/htdocs/remote/svg/up.svg
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="128.00000pt"
+ id="svg1"
+ inkscape:version="0.43"
+ sodipodi:docbase="/home/steve/Downloads/buttons"
+ sodipodi:docname="up.svg"
+ sodipodi:version="0.32"
+ width="128.00000pt">
+ <metadata
+ id="metadata1718">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:title>Etiquette Icons</dc:title>
+ <dc:description />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li />
+ <rdf:li>action</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>icons</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent
+ rdf:about="http://www.openclipart.org">
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andy Fitzsimon</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date />
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient1416">
+ <stop
+ id="stop1417"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1419"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ <stop
+ id="stop1418"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1397">
+ <stop
+ id="stop1398"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.53725493;" />
+ <stop
+ id="stop1400"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.26666668;" />
+ <stop
+ id="stop1401"
+ offset="0.75000000"
+ style="stop-color:#000000;stop-opacity:0.13333334;" />
+ <stop
+ id="stop1399"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient896">
+ <stop
+ id="stop897"
+ offset="0.00000000"
+ style="stop-color:#e2d9a9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop898"
+ offset="1.0000000"
+ style="stop-color:#857c4d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient893">
+ <stop
+ id="stop894"
+ offset="0.00000000"
+ style="stop-color:#000000;stop-opacity:0.27083334;" />
+ <stop
+ id="stop895"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.00000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient841">
+ <stop
+ id="stop842"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop844"
+ offset="0.50379843"
+ style="stop-color:#dadada;stop-opacity:1.0000000;" />
+ <stop
+ id="stop845"
+ offset="0.51379842"
+ style="stop-color:#bdbdbd;stop-opacity:1.0000000;" />
+ <stop
+ id="stop846"
+ offset="0.64667326"
+ style="stop-color:#dedede;stop-opacity:1.0000000;" />
+ <stop
+ id="stop843"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient836">
+ <stop
+ id="stop837"
+ offset="0.00000000"
+ style="stop-color:#ffffff;stop-opacity:0.00000000;" />
+ <stop
+ id="stop838"
+ offset="1"
+ style="stop-color:#fff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient832">
+ <stop
+ id="stop833"
+ offset="0.00000000"
+ style="stop-color:#323232;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1430"
+ offset="0.50000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ <stop
+ id="stop834"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient835"
+ x1="0.19090909"
+ x2="1.1454545"
+ xlink:href="#linearGradient832"
+ y1="0.68421054"
+ y2="-0.17105263" />
+ <linearGradient
+ id="linearGradient839"
+ x1="0.47235259"
+ x2="0.47235259"
+ xlink:href="#linearGradient836"
+ y1="0.39059740"
+ y2="0.013744113" />
+ <radialGradient
+ cx="0.50000000"
+ cy="0.50000000"
+ fx="0.51298690"
+ fy="0.092105433"
+ id="radialGradient840"
+ r="0.50000000"
+ xlink:href="#linearGradient1397" />
+ <linearGradient
+ id="linearGradient860"
+ x1="0.21710530"
+ x2="0.89436638"
+ xlink:href="#linearGradient832"
+ y1="0.74342090"
+ y2="-0.33333325" />
+ <linearGradient
+ id="linearGradient863"
+ x1="0.52739727"
+ x2="0.65068495"
+ xlink:href="#linearGradient836"
+ y1="0.48611110"
+ y2="-0.041666668" />
+ <linearGradient
+ id="linearGradient891"
+ x1="0.12500000"
+ x2="0.82894737"
+ xlink:href="#linearGradient836"
+ y1="1.0986842"
+ y2="0.13815789" />
+ <linearGradient
+ id="linearGradient892"
+ x1="-0.11404288"
+ x2="-0.061766334"
+ xlink:href="#linearGradient896"
+ y1="0.24721514"
+ y2="2.5462053" />
+ <linearGradient
+ id="linearGradient900"
+ x1="0.37142858"
+ x2="0.11428571"
+ xlink:href="#linearGradient836"
+ y1="0.63888890"
+ y2="1.0416666" />
+ <linearGradient
+ id="linearGradient905"
+ x1="1.3074018"
+ x2="1.3074018"
+ xlink:href="#linearGradient893"
+ y1="1.7768639"
+ y2="0.11690380" />
+ <linearGradient
+ id="linearGradient906"
+ x1="-0.42276084"
+ x2="-0.42276084"
+ xlink:href="#linearGradient893"
+ y1="1.8603847"
+ y2="0.20042460" />
+ <linearGradient
+ id="linearGradient908"
+ x1="0.50352114"
+ x2="0.21478873"
+ xlink:href="#linearGradient832"
+ y1="0.44615385"
+ y2="1.1615385" />
+ <linearGradient
+ id="linearGradient910"
+ x1="0.45422536"
+ x2="0.69594592"
+ xlink:href="#linearGradient836"
+ y1="0.50000000"
+ y2="-0.078947365" />
+ <linearGradient
+ id="linearGradient911"
+ x1="1.1710526"
+ x2="-2.2763157"
+ xlink:href="#linearGradient896"
+ y1="0.16447368"
+ y2="1.5986842" />
+ <linearGradient
+ id="linearGradient912"
+ x1="0.67222220"
+ x2="0.25000000"
+ xlink:href="#linearGradient832"
+ y1="0.30167598"
+ y2="0.44692737" />
+ <radialGradient
+ cx="0.48684204"
+ cy="0.44078955"
+ fx="0.53289479"
+ fy="0.013157940"
+ id="radialGradient1402"
+ r="0.76976496"
+ xlink:href="#linearGradient841" />
+ <radialGradient
+ cx="0.48684210"
+ cy="0.46052632"
+ fx="0.52631575"
+ fy="0.71710521"
+ id="radialGradient1415"
+ r="0.76976496"
+ xlink:href="#linearGradient1416" />
+ </defs>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ id="base"
+ inkscape:cx="72.909285"
+ inkscape:cy="75.399464"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="575"
+ inkscape:window-width="797"
+ inkscape:window-x="447"
+ inkscape:window-y="416"
+ inkscape:zoom="2.4559706"
+ pagecolor="#ffffff"
+ inkscape:current-layer="svg1" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path855"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1402);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-92.18625,-774.3955)" />
+ <path
+ d="M 127.40167 483.73325 A 27.351770 27.351770 0 1 0 72.698126,483.73325 A 27.351770 27.351770 0 1 0 127.40167 483.73325 z"
+ id="path1414"
+ sodipodi:cx="100.04990"
+ sodipodi:cy="483.73325"
+ sodipodi:rx="27.351770"
+ sodipodi:ry="27.351770"
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1415);fill-opacity:1;fill-rule:evenodd;stroke-width:3.0812783;stroke-opacity:0.37190083;stroke:none;stroke-dasharray:none;"
+ transform="matrix(1.736345,0.000000,0.000000,1.736345,-91.90522,-774.4678)" />
+ <path
+ d="M 184.98434 527.64008 A 29.511122 29.511122 0 1 0 125.96210,527.64008 A 29.511122 29.511122 0 1 0 184.98434 527.64008 z"
+ id="path856"
+ sodipodi:cx="155.47322"
+ sodipodi:cy="527.64008"
+ sodipodi:rx="29.511122"
+ sodipodi:ry="29.511122"
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient839);fill-opacity:1;fill-rule:evenodd;stroke-width:1.0000000pt;stroke-opacity:0.37190083;"
+ transform="matrix(1.291670,0.000000,0.000000,1.524596,-118.6605,-740.1552)" />
+ <path
+ d="M 361.33127,396.63946 C 361.33127,460.21074 309.73720,511.80481 246.16592,511.80481 C 182.59465,511.80481 131.00057,460.21074 131.00057,396.63946 C 131.00057,333.06819 182.59465,281.47411 246.16592,281.47411 C 309.73720,281.47411 361.33127,333.06819 361.33127,396.63946 z "
+ id="path862"
+ sodipodi:insensitive="true"
+ style="fill:url(#linearGradient863);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0000000pt;" />
+ <path
+ d="M 56.450293,78.082301 L 107.65417,78.516121 L 83.146559,43.297758 L 56.450293,78.082301 z "
+ id="path1440"
+ sodipodi:nodetypes="cccc"
+ style="fill:url(#linearGradient835);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:5.1250000;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.27272728;" />
+</svg>