From: Subject: Adobe - Adobe Reader download Date: Wed, 10 Sep 2008 11:27:57 -0400 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C91338.4615F430" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.adobe.com/products/acrobat/readstep2.html =EF=BB=BF Adobe - Adobe Reader = download adobe.Dwt.require("user","swf","dropdown","pod");<= /SCRIPT> Accessibility=20
  1. Home
  2. Products

Adobe Reader

=20 = =20 =20

Download the latest version of Adobe Reader

3D"Adobe

Adobe = Reader

Windows XP SP2 - SP3, English

Different=20 language or operating system?


Learn more=20 | System Requirements | License | Distribute Adobe Reader

 


 

Also install:


3D"Google

Search Google from any web page, block pop-ups

Learn more | Privacy policy | License


3D"eBay

Also install:


 

 

D= ownload=20 now

By clicking the Download button you agree to the License = Agreements and Privacy Policies for the software included.

Total file size: MB


 

Copyright =C2=A9 2008 Adobe Systems Incorporated. All rights=20 reserved.

Use of this website signifies your agreement to the Terms of Use and = Online = Privacy=20 Policy (updated 07-08-2008).

Search powered by Powered by = Google

=20 ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.adobe.com/lib/com.adobe/template/gnav/adobe-hq.png iVBORw0KGgoAAAANSUhEUgAAANIAAAD/CAMAAACzdXiYAAAAA3NCSVQICAjb4U/gAAAAY1BMVEX/ ////7+/x8fH/39/j4+P/zMzW1dX/v7/Ix8f/r6+6ubn/n5+sq6v/j4+enZ3/f3+Rj4//cHCEgYL/ YGD/UFB2c3T/QEBmZmb/MzNaV1j/ICBMSUr/EBA/Ozz/AAAxLS4jHyAxRmoMAAAACXBIWXMAAC4Y AAAuGAEqqicgAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1MzmNZGAwAABBF0RVh0 WE1MOmNvbS5hZG9iZS54bXAAPD94cGFja2V0IGJlZ2luPSIgICAiIGlkPSJXNU0wTXBDZWhpSHpy ZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0 az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6 MTE6NDEgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcv MTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFi b3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4w LyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNy ZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwOC0wMS0yNFQxODo1OTo0N1o8 L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOC0wMS0yNFQyMzo1 NDoyMVo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJk ZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9w dXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8 L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94Onht cG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAg3TLMpQAACpdJREFUeJztnQ23m6oShlNrU5t6Ups2tdbt0f//K09UPgYF MwMD3VmHd6277klV4OHjZYCYfTplZWVlZWVlZWVlZWVlZWVlZWVlZWVl/d/1r4/+oJL+xyvtz+r5 8j5O09TXSZC+oZL+EIZUj9P9Ul37qSsSIH3Epf0jBKmahnNZVafTderiI/1Apv05BGkYz82j3023 UzPR+l5Irk/12z/xy9Q8WKqyn8pi7GMj/UYn/tUfqZnOM9LpNpWn+xQb6Ss+9TdvpHaasfr+0fEe /x8Z6e0DPvXv3ki3qXig3LskSN8JqX/0Rro+PGHueP14Wv4XFQnp4Kt++iKVD+sWY6ma7nGRfpGS /+KL9GC51935dOkuw1jGRfpCSv70xxfp1E/tjFIP04WWJTVHXHinRQ709KT3mGmHbnwEEcQsqTn+ Q0z/A9XHwTxe1E3TEJvIA4ng4KuogR46NOFCwoZ3Wp/eO9Ineg6/3jcSPrzTIgZ6qZEI4Z0WzSAS I715ZfHtPSPhFuhb0QK9xEik8E6LFOilRfrpmQdpwZ4WyTs3SqCXFIka3mlRfDwpEjW806IEeimR KAv0rQiBXkokeninRfDxlEieDr4KH+glRKIt0LfCG0RCJK/wTgvt4+mQ/B18FTrQS4fkF95poQ0i HVKQOczC+ngypBAHX4UN9JIhhWeEPZlJhRRqDrOQPp4KKdDBFyEDvURIIeGdFu5kJhES5fzFLZyP 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 5XtoBjkhAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://wwwimages.adobe.com/www.adobe.com/products/acrobat/images/reader_icon_special.jpg /9j/4AAQSkZJRgABAgEASABIAAD/4Qr1RXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz ADIwMDc6MDY6MTEgMTQ6MjU6MDcAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAAAfaADAAQAAAAB AAAAaAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAm/AAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAABIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAaAB9AwEiAAIRAQMRAf/dAAQACP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A9G6v1JvTcG7LLfUNTdwZMT5SuV/8cc/9wT/24P8AyK1Prq4j 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 L/mpjL53SSS/RH/NTGS/5qYy+d0klP0R/wA1MZP/AM1MZfOySSn6J/5qYyX/ADUxl87JJKfon/mp jJN+q2OCCvnZJJT9QYeEzFZtarS+VUkkP1UkvlVJJT//2f/tECRQaG90b3Nob3AgMy4wADhCSU0E BAAAAAAABxwCAAACAAAAOEJJTQQlAAAAAAAQ6PFc8y/BGKGie2etxWTVujhCSU0ELwAAAAAASphb AQBIAAAASAAAAAAAAAAAAAAA0AIAAEACAAAAAAAAAAAAABgDAABkAgAAAAHAAwAAsAQAAAEADycB AHIAbwBcAEQAZQBzAGsAOEJJTQPtAAAAAAAQAEgAAAABAAEASAAAAAEAAThCSU0EJgAAAAAADgAA AAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkA AAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABI AC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUA AAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA /////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/ ////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklN BB4AAAAAAAQAAAAAOEJJTQQaAAAAAANhAAAABgAAAAAAAAAAAAAAaAAAAH0AAAAWAHIAZQBhAGQA ZQByAF8AaQBjAG8AbgBfAHMAbQBfAHMAcABlAGMAaQBhAGwAAAABAAAAAAAAAAAAAAAAAAAAAAAA AAEAAAAAAAAAAAAAAH0AAABoAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAA AAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBs b25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAABoAAAAAFJnaHRsb25nAAAAfQAA AAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAA AAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0 b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2Jq YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0 b21sb25nAAAAaAAAAABSZ2h0bG9uZwAAAH0AAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAA AAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNI VE1MYm9vbAEAAAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNl SG9yekFsaWduAAAAB2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24A AAAHZGVmYXVsdAAAAAtiZ0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9u ZQAAAAl0b3BPdXRzZXRsb25nAAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0 c2V0bG9uZwAAAAAAAAALcmlnaHRPdXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAABP/AAAAAA AAA4QklNBBEAAAAAAAEBADhCSU0EFAAAAAAABAAAAAE4QklNBAwAAAAACdsAAAABAAAAfQAAAGgA AAF4AACYwAAACb8AGAAB/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAv/uAA5BZG9i ZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwR DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAGgAfQMBIgACEQEDEQH/3QAEAAj/xAE/ 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 DEEy+eesv+5h/gLkqJKYlRJSSZLkqJKYlRJRYyW07qWQenjp8N9Brt4Me6ZnlUiUiVElFjNDbzfW v8W3/IlP9r/qiuzXF/4tf+Q6P7X/AFRXaKxHYeTjZv5yf96X5qSSSRY3/9TrPr5p0XI/qFeT7l6z 9e63v6NkNY0ucWGANSV5P6GQNDU8f2SocosjydT4dMRxzsger9i0ptBwn9G//Rv+4pejkf6J/wBx UdHs3vdj+8PtWlNKf0cj/RP+4pjRkf6J/wBxSo9kHJH94faxLlElT9DI/wBE/wC4qJx8n/RP/wA0 o0ey05I/vD7WBKiSiHHyf9E//NKicfJ/0L/80pUVhyR7j7UZKgSinGyv9C//ADSo/Zcs8UWf5pRp YZx7j7X1n/Fp/wAhUf2/+qK7Rcb/AIt6rauh0NtaWOG6WuEH6RXZKeOwcnL/ADk/7xUkkkisf//V 9My8RmSzY5ZDvqtjOcT4r51SSU/RH/NTGS/5qYy+d0kkv0R/zUxkv+amMvndJJT9Ef8ANTGT/wDN TGXzskkp+if+amMl/wA1MZfOySSn6J/5qYyTfqtjggr52SSU/UGHhMxWbWq0vlVJJD9VJL5VSSU/ /9kAOEJJTQQhAAAAAABVAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAA EwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAUwAzAAAAAQA4QklNBAYAAAAAAAcA CAAAAAEBAP/hD21odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i 77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0i YWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1jMDM2IDQ2LjI3Njcy MCwgTW9uIEZlYiAxOSAyMDA3IDIyOjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9 Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2Ny aXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhv dG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4YXBNTT0i aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5h ZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnRpZmY9Imh0dHA6Ly9u cy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4 aWYvMS4wLyIgeGFwOkNyZWF0ZURhdGU9IjIwMDctMDYtMTFUMTQ6MjU6MDctMDc6MDAiIHhhcDpN b2RpZnlEYXRlPSIyMDA3LTA2LTExVDE0OjI1OjA3LTA3OjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIy MDA3LTA2LTExVDE0OjI1OjA3LTA3OjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hv cCBDUzMgV2luZG93cyIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2Rl PSIzIiBwaG90b3Nob3A6SGlzdG9yeT0iIiB4YXBNTTpJbnN0YW5jZUlEPSJ1dWlkOjRDM0IxODMy NjIxOERDMTFCNDMzQkNGN0U3Q0JCRkQ2IiB4YXBNTTpEb2N1bWVudElEPSJ1dWlkOjRCM0IxODMy NjIxOERDMTFCNDMzQkNGN0U3Q0JCRkQ2IiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNv bHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlm ZjpSZXNvbHV0aW9uVW5pdD0iMiIgdGlmZjpOYXRpdmVEaWdlc3Q9IjI1NiwyNTcsMjU4LDI1OSwy NjIsMjc0LDI3NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4LDMxOSw1MjksNTMyLDMw NiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyO0I4NzQzNzE4MzFBNjYzMjEyM0YzMjQ2QjNGODg4 QUQ5IiBleGlmOlBpeGVsWERpbWVuc2lvbj0iMTI1IiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMTA0 IiBleGlmOkNvbG9yU3BhY2U9Ii0xIiBleGlmOk5hdGl2ZURpZ2VzdD0iMzY4NjQsNDA5NjAsNDA5 NjEsMzcxMjEsMzcxMjIsNDA5NjIsNDA5NjMsMzc1MTAsNDA5NjQsMzY4NjcsMzY4NjgsMzM0MzQs MzM0MzcsMzQ4NTAsMzQ4NTIsMzQ4NTUsMzQ4NTYsMzczNzcsMzczNzgsMzczNzksMzczODAsMzcz ODEsMzczODIsMzczODMsMzczODQsMzczODUsMzczODYsMzczOTYsNDE0ODMsNDE0ODQsNDE0ODYs NDE0ODcsNDE0ODgsNDE0OTIsNDE0OTMsNDE0OTUsNDE3MjgsNDE3MjksNDE3MzAsNDE5ODUsNDE5 ODYsNDE5ODcsNDE5ODgsNDE5ODksNDE5OTAsNDE5OTEsNDE5OTIsNDE5OTMsNDE5OTQsNDE5OTUs NDE5OTYsNDIwMTYsMCwyLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDIw LDIyLDIzLDI0LDI1LDI2LDI3LDI4LDMwOzJFQzc1NkYxRENGQzkwRjU3RjE1QTlCNjI4MDJGNEQy Ij4gPHhhcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6NDgzQjE4MzI2MjE4 REMxMUI0MzNCQ0Y3RTdDQkJGRDYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94 OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/uAA5BZG9iZQBkQAAAAAH/2wCEAAEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwMBAQEB AQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMDA//AABEIAGgAfQMBEQACEQEDEQH/3QAEABD/xAGiAAAABgIDAQAAAAAAAAAAAAAHCAYFBAkD CgIBAAsBAAAGAwEBAQAAAAAAAAAAAAYFBAMHAggBCQAKCxAAAgEDBAEDAwIDAwMCBgl1AQIDBBEF EgYhBxMiAAgxFEEyIxUJUUIWYSQzF1JxgRhikSVDobHwJjRyChnB0TUn4VM2gvGSokRUc0VGN0dj KFVWVxqywtLi8mSDdJOEZaOzw9PjKThm83UqOTpISUpYWVpnaGlqdnd4eXqFhoeIiYqUlZaXmJma pKWmp6ipqrS1tre4ubrExcbHyMnK1NXW19jZ2uTl5ufo6er09fb3+Pn6EQACAQMCBAQDBQQEBAYG BW0BAgMRBCESBTEGACITQVEHMmEUcQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE8aKyJjUZ VDZFZCcKc4OTRnTC0uLyVWV1VjeEhaOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2xtbm 9md3h5ent8fX5/dIWGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/2gAMAwEA AhEDEQA/AN0v5bfJGg+LfRvYncFVhm3TUbF23VZ+l2xDXpi5s9PTPTxpjkrpoqiKkacT3DlSbL/j 7K973MbJs+67u8evwIWkp60YCn5g9SJ7Q+3p91vc/kX22TcvoJN63KO0W4ZTKsQYVL6QQSR8NPPq gpv+FHVY/rT4pViAqrhX7PxxsPqQLYP6ge4cHvjCaf8AIWyf+HL/ANA9dSn/ALo291Ef6/ltX/pW Sf8AW7rC/wDwo+rVP/ZKdUf/ACpuP5/1j/A7e3B72K2Dy0QD5+MuP+M9JpP7pa9iqP8AX6tv+5ZL /wBbuosn/CkWuQXPxOrDxe3+k/HBvqOf+LHcfX3Ye88df+SC/wDzmX/oHpFJ/dQ36VA9+LZv+pZJ /wBbusB/4Ul1gF/9lOrOPwe0qAD/AG/8CH9fd/8AXnjOP3A//OZf+gekE391dfQ11e+VrT/pWSf9 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 ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://wwwimages.adobe.com/www.adobe.com/products/acrobat/images/gtb_denali.jpg /9j/4AAQSkZJRgABAgEASABIAAD/4QmLRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz ADIwMDc6MTE6MDUgMTY6MTE6NTkAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAABQqADAAQAAAAB AAAANgAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAhVAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAABIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAGwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A9NBI4QLnZgyGCtpNZcyXDaGhv+H9Xd+k3/6PYnsyqGPNbg97 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 AQAAOEJJTScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAv ZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D +AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////// //8D6AAAAAD/////////////////////////////A+gAAAAA//////////////////////////// /wPoAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAA AAADOwAAAAYAAAAAAAAAAAAAADYAAAFCAAAAAwBnAHQAYgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA AQAAAAAAAAAAAAABQgAAADYAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA AQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxv bmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAADYAAAAAUmdodGxvbmcAAAFCAAAA BnNsaWNlc1ZsTHMAAAABT2JqYwAAAAEAAAAAAAVzbGljZQAAABIAAAAHc2xpY2VJRGxvbmcAAAAA AAAAB2dyb3VwSURsb25nAAAAAAAAAAZvcmlnaW5lbnVtAAAADEVTbGljZU9yaWdpbgAAAA1hdXRv R2VuZXJhdGVkAAAAAFR5cGVlbnVtAAAACkVTbGljZVR5cGUAAAAASW1nIAAAAAZib3VuZHNPYmpj AAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRv bWxvbmcAAAA2AAAAAFJnaHRsb25nAAABQgAAAAN1cmxURVhUAAAAAQAAAAAAAG51bGxURVhUAAAA AQAAAAAAAE1zZ2VURVhUAAAAAQAAAAAABmFsdFRhZ1RFWFQAAAABAAAAAAAOY2VsbFRleHRJc0hU TUxib29sAQAAAAhjZWxsVGV4dFRFWFQAAAABAAAAAAAJaG9yekFsaWduZW51bQAAAA9FU2xpY2VI b3J6QWxpZ24AAAAHZGVmYXVsdAAAAAl2ZXJ0QWxpZ25lbnVtAAAAD0VTbGljZVZlcnRBbGlnbgAA AAdkZWZhdWx0AAAAC2JnQ29sb3JUeXBlZW51bQAAABFFU2xpY2VCR0NvbG9yVHlwZQAAAABOb25l AAAACXRvcE91dHNldGxvbmcAAAAAAAAACmxlZnRPdXRzZXRsb25nAAAAAAAAAAxib3R0b21PdXRz ZXRsb25nAAAAAAAAAAtyaWdodE91dHNldGxvbmcAAAAAADhCSU0EKAAAAAAADAAAAAE/8AAAAAAA ADhCSU0EEQAAAAAAAQEAOEJJTQQUAAAAAAAEAAAAAThCSU0EDAAAAAAIcQAAAAEAAACgAAAAGwAA AeAAADKgAAAIVQAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2Jl AGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAGwCgAwEiAAIRAQMRAf/dAAQACv/EAT8A AAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoL EAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT 8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2 xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFC I8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE 1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9NBI4QLnZgyGCtpN ZcyXDaGhv+H9Xd+k3/6PYnsyqGPNbg97mxuFdT7AJG6HOrY9rXbSgHO92mPZE8+hbxP/ABf7iRxy NaS76LSQdOKvqmYOpggOdSWgySAdxG7VvG3+a/6aP+l3OMgtI9jdsEGNd7pO/c7+Qqjc6smLKLWj Tim09xp/Nov2rC/0N3/bFv8A6TR4Jdj9ieIdwzacksePoOj2OeA6Hay7Yxzd1f8AbSvdkSPRb4bj Hx0brt+lt+n+YofasL/Q2/8AbFv/AKTS+1YX+ht/7Yt/9JpcEuxVxDuytdk+swVtPpTL3CPEe33H /OUn+v6o2ia5HgABB3F37/8AVQ/teF/obv8Ati3/ANJpfa8H/RW/9sW/+k0uCXY/ioSGuu6S114Z NTd7gT7dBOvi5El3cfFVvteD/obf+2Lf/Saf7Xg/6K3/ALYt/wDSaXBLsfsVxDu2Pd/qEvd/qFX+ 14P+it/7Yt/9Jpfa8H/RW/8AbFv/AKTS4JdiriHdsS7/AFCUu/1Cr/a8H/RW/wDbFv8A6TS+14P+ it/7Yt/9JpcEux+xXEO7Yl3+oSl3+oVf7Xg/6K3/ALYt/wDSaX2vB/0Vv/bFv/pNLgl2KuId2xLv 9QlJ/wBQqxy8GP5q3/ti3/0mq2TnMbjvNVd4s0gsx7XEDdq5u+v6WxAwkOh+xRkALt0pKHuJteDw AyB8d0rMp6hbFpbXkXjczYLMexsAt/StY702+31P31bx8uqy4tLX1Psaz2vrewbgHucxr7GNa5IR kRfCfsUJgh//0PQnGwW5Hp7fU9Q+nvkN3ehTs3x+buVaq/q24A1AsMFzrrKi8S39IGNoNVfss/m2 O/nP0v6er06qbJZXqfaLPT3xvG7ZsifSr59f3ert/wBH+h9LZ/hUL9Y/4X/wFSTgDH54RuMf3/cj p04YTWxkQT6TL5v3eH/pRWxczqt9r3X0sqxC1zXcgtLWv1qbb6dzvV3s/Svb/gvT+zV/pbE7Lcj3 ltVLrQ5wa251bMYtDw2tzLqq7sn1HYx9T+b/AJ79F+g9ic/aJ/w3/gKX6x/w3/gCQgPVU4an/Wen +7+rRxH0+k6X+76tZb+t1J6Z40f9BKemeNH/AEFl/rH/AA3/AIAl+sf8N/4AhwD9+P8A45/6qVxH 90/8z/v3QvPTvRs2GndtO2NszHt2qr63UftF7XVU+gA802b4cSNvpMc0b/5W9/7/AP1v1Qj7R/w3 /gCb9Y/4X/wFAwH+ch/45/6rSJH92X/N/wC/Y5dvWnZ1TMcbKQGPeWbPTJketXfk2+/b9L9FTV6j 2I9n7S9d5rsrFHrsLWQ3d6INQsaH/R2vb69nv/WGbP0X87+jF+sf8L/4Cl+sf8L/AOAppxx/zkf/ AB7/ANVssJyH6AOn6fs9/wC/83/PTZd2ezAzbGVsOQxtn2NuO42Pc0Aei9zbK2bcn6X6Cv1/69qB 06zqYxH7nOvs9RrqnZ4+zvFbg31KrPQZZvtxvd79n6az9F/wif8AWP8Ahf8AwFL9Y/4b/wABSOON j9bHS/8AO8J/vfqlolLhPo0sf5vj/wAH18fD/wAxL1N+YMZ32Ek2GxjXCsNdaKnbWWvxvVe2hmRV u9X1Lt9LP9GhV39bOHiWenS/IcHHLrs/RET/ADDdLLPTt2/0jZ6jPU/cS/WI/wAL/wCApfrH/C/+ AqXhHtAceH5r4vX7u3y/Jx8CziN/LL/m/wDfKOR18Ne4YmI535jPXI+G58H+1/qxEru6vv22U4u0 WNBf6rmzUTZ6tlbGst/T1V+h6dNnpMs/S/p0P9Y/4X/wFL9Y/wCF/wDAVH7cf85D/wAc/wDVaeI/ uS/5n/fIcm7rH7ZY3Ha/7GHVgklopLds5HqyN3f9D6bt/r/8UrNl/WQX+hXSSHwz1HNaCybv0m9l j3N9gxvpM+n6n/WYfrH/AA3/AICl+sf8L/4Ch7Y/zsP/ABz/ANVpMya/V1Qr08Ov9aXr+ZZ+T9YD JZjY2rfbuuktdtPbd+l9+z8+v/CVf92bL5M2Vaz+lH/nu1Uf1j/hf/AUXG9X16vU9Tb6hjd6e3ds s/0Hv37fob/0P/XPTTowAJPuROktBx38v9aC0yP7pGo/d/75/9kAOEJJTQQhAAAAAABVAAAAAQEA AAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAEwBBAGQAbwBiAGUAIABQAGgAbwB0 AG8AcwBoAG8AcAAgAEMAUwAzAAAAAQA4QklNBAYAAAAAAAcACAAAAAEBAP/hDw9odHRwOi8vbnMu YWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6 cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1w dGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1jMDM2IDQ2LjI3NjcyMCwgTW9uIEZlYiAxOSAyMDA3IDIy OjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5 OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4 bWxuczp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8v cHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRv YmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4YXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94 YXAvMS4wL21tLyIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iIHht bG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4YXA6Q3JlYXRlRGF0ZT0i MjAwNy0xMS0wNVQxNjoxMTo1OS0wODowMCIgeGFwOk1vZGlmeURhdGU9IjIwMDctMTEtMDVUMTY6 MTE6NTktMDg6MDAiIHhhcDpNZXRhZGF0YURhdGU9IjIwMDctMTEtMDVUMTY6MTE6NTktMDg6MDAi IHhhcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzIiBkYzpmb3JtYXQ9 ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpIaXN0b3J5PSIi IHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6QzI3MjdBODJGQzhCREMxMUJCQjBGOTUzRTlDREVBMjgi IHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6QzE3MjdBODJGQzhCREMxMUJCQjBGOTUzRTlDREVBMjgi IHRpZmY6T3JpZW50YXRpb249IjEiIHRpZmY6WFJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlm ZjpZUmVzb2x1dGlvbj0iNzIwMDAwLzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiB0aWZm Ok5hdGl2ZURpZ2VzdD0iMjU2LDI1NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4 MiwyODMsMjk2LDMwMSwzMTgsMzE5LDUyOSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0 MzI7NEUzMkYzQ0NFNzZBRUVDMkFFMTlCMUJGMTIzRUZEQTkiIGV4aWY6UGl4ZWxYRGltZW5zaW9u PSIzMjIiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI1NCIgZXhpZjpDb2xvclNwYWNlPSItMSIgZXhp ZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYz LDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0 ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1 LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQx NDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkw LDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgs OSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDsz OUJGRUVBOURDNkNCMDlFNzk5NTgzNEVENDBBOUE5QiI+IDx4YXBNTTpEZXJpdmVkRnJvbSByZGY6 cGFyc2VUeXBlPSJSZXNvdXJjZSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6 eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+4ADkFkb2JlAGRAAAAAAf/bAIQAAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEB AQEBAQEBAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD AwMD/8AAEQgANgFCAwERAAIRAQMRAf/dAAQAKf/EAaIAAAAGAgMBAAAAAAAAAAAAAAcIBgUECQMK AgEACwEAAAYDAQEBAAAAAAAAAAAABgUEAwcCCAEJAAoLEAACAQMEAQMDAgMDAwIGCXUBAgMEEQUS BiEHEyIACDEUQTIjFQlRQhZhJDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2Mo VVZXGrLC0uLyZIN0k4Rlo7PD0+MpOGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqk paanqKmqtLW2t7i5usTFxsfIycrU1dbX2Nna5OXm5+jp6vT19vf4+foRAAIBAwIEBAMFBAQEBgYF bQECAxEEIRIFMQYAIhNBUQcyYRRxCEKBI5EVUqFiFjMJsSTB0UNy8BfhgjQlklMYY0TxorImNRlU NkVkJwpzg5NGdMLS4vJVZXVWN4SFo7PD0+PzKRqUpLTE1OT0laW1xdXl9ShHV2Y4doaWprbG1ub2 Z3eHl6e3x9fn90hYaHiImKi4yNjo+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQAC EQMRAD8A3mPfuvdOMFXDHHHE9NDIdM+p2gjblWDAyytLFIoAlUAqfp7RzkpJ/aGh8q9bHEdJreu9 8fs7FUlYcWmRr8vl6PBYXGU1EXkr8pXsfBTRaWkd/HFFIWZSvK+yLe98t9jszOWkadnjWOMknxHk 4Lq/D0g3bcRttrDMIg00svhgU8+kMnaWYw2/cLsnee1KPHx7iqkxWHzdFRVK0EmffE/xYYISSF4K 2ojjiZJZIZnVWB0n2R2fM24x73b7Hu1iyrP/AGcq+IKP4evw2GrS1B5q46KIN9u4t0h2zcLFP1Bp Dqw/tPD8TTp+zpok+TfWtBk+x6LcdNNtrH9Z5OuxuaztXS09dRTyYvcFLtqrqIqTGiqyNMgrshC6 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 ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://wwwimages.adobe.com/www.adobe.com/products/acrobat/images/ebay_desktop_for_adobe.jpg /9j/4AAQSkZJRgABAQEASABIAAD/4gLQSUNDX1BST0ZJTEUAAQEAAALAYXBwbAIAAABtbnRyUkdC IFhZWiAH2AAGAAwAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA AADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxy WFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRjaGFkAAABZAAA ACxyVFJDAAABkAAAAA5nVFJDAAABoAAAAA5iVFJDAAABsAAAAA52Y2d0AAABwAAAADBuZGluAAAB 8AAAADhkZXNjAAACKAAAAHRjcHJ0AAACnAAAACRYWVogAAAAAAAAdEsAAD4dAAADzFhZWiAAAAAA AABacwAArKYAABcmWFlaIAAAAAAAACgYAAAVVwAAuDNYWVogAAAAAAAA81EAAQAAAAEWzHNmMzIA AAAAAAEMQgAABd7///MmAAAHkwAA/ZD///ui///9owAAA9wAAMBuY3VydgAAAAAAAAABAdEAAGN1 cnYAAAAAAAAAAQHRAABjdXJ2AAAAAAAAAAEB0QAAdmNndAAAAAAAAAABAAEAAAAAAAAAAQAAAAEA AAAAAAAAAQAAAAEAAAAAAAAAAQAAbmRpbgAAAAAAAAAwAAChSAAAVwoAAEuFAACa4QAAJ64AABO2 AABQDQAAVDkAAdF0AAHRdAAB0XRkZXNjAAAAAAAAABpDYWxpYnJhdGVkIFJHQiBDb2xvcnNwYWNl AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDA4 AP/hAIBFeGlmAABNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABS ASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAAqACAAQAAAABAAAA faADAAQAAAABAAAARQAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCABFAH0DAREAAhEB AxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9 AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJB UQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RV VldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6 wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/igAoAKA CgAoAKACgDI1TX9H0WMzarqNvZoAWJlYlsDqdiB3P4KTXNiMZhcJHnxFeFJb+8238kryfyRrSoVq 7tSpym32Wn3uy/Ek0jWdM16xi1LSLyO+sZ93l3EYdQxU4YFJUSRCD1Dop74p4bFYfGUY18NVjWpT +Gcbq/qpJST9Un1CtRq0JunWg4TW6dn+KbT+TZp10GQUAFABQAUAFABQAUAFABQB5t8Uvibo3wo8 OW/iXXYLieyudYstFUwskccNzfxXUsE15PJuFvabrUxST7JNkksW5dhZ18PP89w3D2ChjsVCc6c8 TSwq5GkozqxqSjKpOWkKf7txc7O0pRurNtejlmXVc0xEsPRnGE40p1m5JtuMHFSUYrWUveuldXSf XR+FXv7TOpzoH0fw3psUcih4ZrvUJ9QR42GVdfsqWSOD1VlkKn3r5Crx5iJK+HwFCCesZVa06yae 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 ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.adobe.com/images/globalnav/truste_seal_eu.gif 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 G29N7E8EAgA7 ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.adobe.com/images/pixel.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAEBMgA7 ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://wwwimages.adobe.com/www.adobe.com/lib/com.adobe/template/screen.css BODY { _behavior: url(/lib/com.adobe/remedy/lang.htc) } BR.clear-both { DISPLAY: block; FONT: 1px/1px monospace } DIV.clear-both { DISPLAY: block; FONT: 1px/1px monospace } BR.clear-left { DISPLAY: block; FONT: 1px/1px monospace } DIV.clear-left { DISPLAY: block; FONT: 1px/1px monospace } .clear-both { CLEAR: both } .clear-left { CLEAR: left } .clear-after:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .clear-after { MIN-HEIGHT: 1px; _height: 1em } .clip-top { MARGIN-TOP: 0px! important } .clip-bottom { MARGIN-BOTTOM: 0px! important } .clip-sides { MARGIN-LEFT: -16px; MARGIN-RIGHT: -16px } .p1 .clip-sides { MARGIN-LEFT: -8px; MARGIN-RIGHT: -8px } .p2 .clip-sides { MARGIN-LEFT: -10px; MARGIN-RIGHT: -8px } .clip-sides DIV { _position: relative } .clip-sides IMG { _position: relative } .clip-left { MARGIN-LEFT: -16px } .p1 .clip-left { MARGIN-LEFT: -8px } .p2 .clip-left { MARGIN-LEFT: -8px } .clip-right { MARGIN-RIGHT: -16px } .p1 .clip-right { MARGIN-RIGHT: -8px } .p2 .clip-right { MARGIN-RIGHT: -10px } .no-gap IMG { MARGIN-TOP: -0.85em; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px; = _margin-top: -0.9em } .no-gap EMBED { MARGIN-TOP: -0.85em; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px; = _margin-top: -0.9em } .no-gap OBJECT { MARGIN-TOP: -0.85em; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px; = _margin-top: -0.9em } * + HTML .no-gap IMG { MARGIN-TOP: -0.9em } * + HTML .no-gap EMBED { MARGIN-TOP: -0.9em } * + HTML .no-gap OBJECT { MARGIN-TOP: -0.9em } .compact > * { FLOAT: left } .compact:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .compact { MIN-HEIGHT: 1px; _height: 1em } .compact { PADDING-BOTTOM: 1px; _behavior: = url(/lib/com.adobe/remedy/compactWsFix.htc) } .compact > P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 0px; MARGIN-RIGHT: 1ex; PADDING-TOP: 0px } .compact > SPAN { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 0px; MARGIN-RIGHT: 1ex; PADDING-TOP: 0px } DL.compact > DD { MARGIN-LEFT: 0px } UL.compact LI { _display: inline; _float: left } OL.compact LI { _display: inline; _float: left } DL.compact DD { _display: inline; _float: left } DIV.compact P { _display: inline; _float: left } DL.compact * DD OL.compact * LI { _display: block; _float: none } UL.compact * LI { _display: block; _float: none } DIV.compact * P { _display: block; _float: none } DL.compact DD { _margin-left: 0 } DIV.compact P { _margin-right: 1ex; _margin-bottom: 0; _padding: 0 } H3.compact SPAN { _float: left; _margin-right: 1ex } H4.compact SPAN { _float: left; _margin-right: 1ex } H3.compact SPAN SPAN { _float: none; _margin-right: 0 } H4.compact SPAN SPAN { _float: none; _margin-right: 0 } A.max { DISPLAY: block } SPAN.max { DISPLAY: block } .max { OVERFLOW: hidden; WIDTH: 100%; TEXT-OVERFLOW: ellipsis } INPUT.max { WIDTH: 97%; _behavior: url(/lib/com.adobe/remedy/maxCalcFix.htc); = -moz-box-sizing: border-box } TEXTAREA.max { WIDTH: 97%; _behavior: url(/lib/com.adobe/remedy/maxCalcFix.htc); = -moz-box-sizing: border-box } TEXTAREA.max { OVERFLOW: auto } SELECT.max { BEHAVIOR: url(/lib/com.adobe/remedy/revealOverflowX.htc); WIDTH: 100%; = _behavior: url(/lib/com.adobe/remedy/revealOverflowX.htc) = url(/lib/com.adobe/remedy/maxCalcFix.htc) } PRE { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1.5ex; BORDER-TOP: #ccc = 1px solid; DISPLAY: block; PADDING-LEFT: 1.5ex; OVERFLOW-X: auto; = PADDING-BOTTOM: 1.5em; MARGIN: 1em 0px; BORDER-LEFT: #ccc 1px solid; = PADDING-TOP: 1em; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: pre; = BACKGROUND-COLOR: #f0f6fc; _width: 100% } blockcode { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1.5ex; BORDER-TOP: #ccc = 1px solid; DISPLAY: block; PADDING-LEFT: 1.5ex; OVERFLOW-X: auto; = PADDING-BOTTOM: 1.5em; MARGIN: 1em 0px; BORDER-LEFT: #ccc 1px solid; = PADDING-TOP: 1em; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: pre; = BACKGROUND-COLOR: #f0f6fc; _width: 100% } HTML > BODY PRE { OVERFLOW: auto } blockcode { OVERFLOW: auto } PRE STRONG { FONT-WEIGHT: normal; BACKGROUND-COLOR: #f9f9b7 } blockcode STRONG { FONT-WEIGHT: normal; BACKGROUND-COLOR: #f9f9b7 } .css-comment { COLOR: #999 } .css-import { COLOR: #099 } .css-important { COLOR: #f00 } .css-media { COLOR: #900 } .css-property { COLOR: #009 } .css-selector { COLOR: #f0f } .css-string { COLOR: #060 } .css-value { COLOR: #00f } .css-display { COLOR: #990099 } TABLE { _font-size: 100% } TABLE CAPTION { PADDING-BOTTOM: 0.5em } TABLE.data { MARGIN-BOTTOM: 1em; BORDER-COLLAPSE: separate; BACKGROUND-COLOR: #fff; = border-spacing: 1px } .data TD { PADDING-RIGHT: 2ex; PADDING-LEFT: 2ex; PADDING-BOTTOM: 0.35em; = PADDING-TOP: 0.35em } .data TH { PADDING-RIGHT: 2ex; PADDING-LEFT: 2ex; PADDING-BOTTOM: 0.35em; = PADDING-TOP: 0.35em } .data TBODY TH { TEXT-ALIGN: left } .data-bordered TBODY TH { TEXT-ALIGN: left } .data .headerBlock TH { TEXT-TRANSFORM: uppercase; BACKGROUND-COLOR: #9d9fa3 } .data-bordered .headerBlock TH { TEXT-TRANSFORM: uppercase; BACKGROUND-COLOR: #9d9fa3 } .data-downloads .headerBlock { TEXT-TRANSFORM: uppercase; BACKGROUND-COLOR: #9d9fa3 } .data-downloads .headerBlock TH { TEXT-TRANSFORM: uppercase; BACKGROUND-COLOR: #9d9fa3 } .data .headerBlock TH { COLOR: #fff } .data .headerBlock A { COLOR: #fff } .data-bordered .headerBlock TH { COLOR: #fff } .data-bordered .headerBlock A { COLOR: #fff } .data .ts { FONT-SIZE: 85% } .data-bordered .ts { FONT-SIZE: 85% } .data .headerBlock TH { PADDING-TOP: 0.5em } .data TBODY TR { BACKGROUND-COLOR: #f0f1f1 } .data TD { LINE-HEIGHT: 1.35 } .data-bordered TD { LINE-HEIGHT: 1.35 } .data-downloads TD { LINE-HEIGHT: 1.35 } TD.no { BACKGROUND-POSITION: center center; OVERFLOW: hidden; TEXT-INDENT: = -9999px; BACKGROUND-REPEAT: no-repeat } TD.yes { BACKGROUND-POSITION: center center; OVERFLOW: hidden; TEXT-INDENT: = -9999px; BACKGROUND-REPEAT: no-repeat } TD.partial { BACKGROUND-POSITION: center center; OVERFLOW: hidden; TEXT-INDENT: = -9999px; BACKGROUND-REPEAT: no-repeat } TD.full { BACKGROUND-POSITION: center center; OVERFLOW: hidden; TEXT-INDENT: = -9999px; BACKGROUND-REPEAT: no-repeat } TD.open { BACKGROUND-POSITION: center center; OVERFLOW: hidden; TEXT-INDENT: = -9999px; BACKGROUND-REPEAT: no-repeat } .tk .icon { BACKGROUND-POSITION: left center; TEXT-INDENT: 0px } .data .yes { BACKGROUND-IMAGE: url(data/yes.gif) } .data-bordered .yes { BACKGROUND-IMAGE: url(data/yes.gif) } .data .partial { BACKGROUND-IMAGE: url(data/partial.gif) } .data-bordered .partial { BACKGROUND-IMAGE: url(data/partial.gif) } .data .full { BACKGROUND-IMAGE: url(data/full.gif) } .data-bordered .full { BACKGROUND-IMAGE: url(data/full.gif) } .data .open { BACKGROUND-IMAGE: url(data/open.gif) } .data-bordered .open { BACKGROUND-IMAGE: url(data/open.gif) } .data .price { TEXT-ALIGN: right } TABLE.max { WIDTH: 100% } .linkTh TH:hover { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } .linkTh TH:hover A { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } .linkTd TD:hover { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } .linkTd TD:hover A { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } TH.link:hover { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } TH.link:hover A { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } TD.link:hover { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } TD.link:hover A { COLOR: #c00; BACKGROUND-COLOR: #fff5c0 } .linkTh TH A { DISPLAY: block } .linkTd TD A { DISPLAY: block } TH.link A { DISPLAY: block } TD.link A { DISPLAY: block } .linkTh TH:hover:unknown { BACKGROUND-COLOR: #9d9fa3 } .linkTd TD:hover:unknown { BACKGROUND-COLOR: #9d9fa3 } .linkTh TH:hover:unknown { =09 } .linkTd TD:hover:unknown { =09 } .data-meta { MARGIN-BOTTOM: 1em; TEXT-ALIGN: left; border-spacing: 0 } .data-meta CAPTION { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; = MARGIN-BOTTOM: 0.5em; PADDING-BOTTOM: 0.75em; PADDING-TOP: 0px; = BORDER-BOTTOM: #999 1px solid; TEXT-ALIGN: left; caption-side: top } .data-meta TH { PADDING-RIGHT: 1.75ex; PADDING-BOTTOM: 0.35em } .data-meta TD { PADDING-RIGHT: 1.75ex; PADDING-BOTTOM: 0.35em } TABLE.data-bordered { BORDER-RIGHT: #b4b4b4 1px solid; MARGIN-BOTTOM: 1em; BORDER-BOTTOM: = #b4b4b4 1px solid; BORDER-COLLAPSE: collapse; border-spacing: 0; = _border-collapse: collapse } .data-bordered THEAD TH { VERTICAL-ALIGN: middle } .data-bordered TH { FONT: bold 100% Arial, Helvetica, sans-serif; TEXT-TRANSFORM: none; = COLOR: #454545; BACKGROUND-COLOR: #cdcdcd } .data-bordered TD { FONT-SIZE: 0.91em } .data-bordered .alt TD { BACKGROUND-COLOR: #e5e5e5 } .data-bordered TBODY TR { BACKGROUND-COLOR: #f9f9f9 } .data-bordered TH { PADDING-RIGHT: 10px; BORDER-TOP: #b4b4b4 1px solid; PADDING-LEFT: 10px; = PADDING-BOTTOM: 0.35em; VERTICAL-ALIGN: top; BORDER-LEFT: #b4b4b4 1px = solid; PADDING-TOP: 0.35em } .data-bordered TD { PADDING-RIGHT: 10px; BORDER-TOP: #b4b4b4 1px solid; PADDING-LEFT: 10px; = PADDING-BOTTOM: 0.35em; VERTICAL-ALIGN: top; BORDER-LEFT: #b4b4b4 1px = solid; PADDING-TOP: 0.35em } TD.nodata { BORDER-TOP: #fff 1px solid; BACKGROUND: #fff; BORDER-LEFT: #fff 1px = solid } TH.nodata { BORDER-TOP: #fff 1px solid; BACKGROUND: #fff; BORDER-LEFT: #fff 1px = solid } TD.data-none { BORDER-TOP: #fff 1px solid; BACKGROUND: #fff; BORDER-LEFT: #fff 1px = solid } TABLE.data-downloads { LEFT: -16px; WIDTH: 558px; MARGIN-RIGHT: -17px; BORDER-BOTTOM: #ccc 1px = solid; BORDER-RIGHT-STYLE: none; POSITION: relative; BORDER-COLLAPSE: = collapse; _margin-left: -16px; border-spacing: 0; _left: 0 } :unknown TABLE.data-downloads { MARGIN-RIGHT: -16px } .data-downloads TH { TEXT-TRANSFORM: uppercase; COLOR: #000; BORDER-BOTTOM: #ccc 2px solid; = BACKGROUND-COLOR: transparent } .data-downloads .headerBlock { TEXT-TRANSFORM: none; COLOR: #fff; BACKGROUND-COLOR: #9d9fa3 } .data-downloads .headerBlock TH { TEXT-TRANSFORM: none; COLOR: #fff; BACKGROUND-COLOR: #9d9fa3 } .data-downloads TBODY TR { BACKGROUND-COLOR: #fdfdfd } .data-downloads TH { PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 10px; = PADDING-BOTTOM: 0.35em; VERTICAL-ALIGN: top; PADDING-TOP: 0.35em; = BORDER-LEFT-STYLE: none } .data-downloads TD { PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 10px; = PADDING-BOTTOM: 0.35em; VERTICAL-ALIGN: top; PADDING-TOP: 0.35em; = BORDER-LEFT-STYLE: none } .data-downloads .no-border-top TD { BORDER-TOP-STYLE: none } .data-downloads TBODY TD { BORDER-RIGHT: #ccc 1px solid; BORDER-BOTTOM-STYLE: none } .data-downloads .productHead { FONT-WEIGHT: normal; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: none; = PADDING-TOP: 0.85em; BACKGROUND-COLOR: #fff; TEXT-ALIGN: left } .data-downloads .treelist { MARGIN-TOP: -0.35em } .data-downloads .treelist DT { FONT-WEIGHT: bold } TH.gold { BACKGROUND-COLOR: #f8df80! important } TD.gold { BACKGROUND-COLOR: #f8df80! important } TH.silver { BACKGROUND-COLOR: #c0c0c1! important } TD.silver { BACKGROUND-COLOR: #c0c0c1! important } TH.bronze { BACKGROUND-COLOR: #ddcab8! important } TD.bronze { BACKGROUND-COLOR: #ddcab8! important } TH.platinum { BACKGROUND-COLOR: #f5f5f5! important } TD.platinum { BACKGROUND-COLOR: #f5f5f5! important } .formBlock { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 12px; PADDING-TOP: = 12px } .inputBlock { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } .inputBlock P { MARGIN-BOTTOM: 6px } .inputBlock DT { MARGIN-TOP: 0px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 6px } .inputBlock DD { MARGIN-BOTTOM: 6px; MARGIN-LEFT: 0px } .inputBlock .inputGroup { MARGIN-LEFT: 0px } .inputGroup { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 6px; = LIST-STYLE-TYPE: none } .inputGroup LI { PADDING-RIGHT: 1ex; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px } .inputGroup .left { FONT-WEIGHT: normal } .inputGroup .caption { MARGIN-TOP: 0.25em; MARGIN-BOTTOM: 0px } .pullout-left > * > .inputGroup { MARGIN-BOTTOM: 0px } .buttonBlock { DISPLAY: block } DIV.buttonBlock { MARGIN-TOP: 2em; MARGIN-BOTTOM: 0px } SPAN.buttonBlock { MARGIN-TOP: 1em } INPUT { VERTICAL-ALIGN: middle } BUTTON { VERTICAL-ALIGN: middle } SELECT { VERTICAL-ALIGN: middle } LABEL.top { DISPLAY: block; FONT-WEIGHT: bold; MARGIN-BOTTOM: 6px } LABEL.left { DISPLAY: inline-block; FONT-WEIGHT: bold; VERTICAL-ALIGN: middle; = MARGIN-RIGHT: 1ex; _height: 1em } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; PADDING-BOTTOM: = 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px; FONT-FAMILY: inherit } .disabled { FILTER: alpha(opacity=3D50); ZOOM: 100%; _height: 1em; -moz-opacity: = 0.5; -khtml-opacity: 0.5; opacity: 0.5 } .required { COLOR: #c00 } .button { BORDER-RIGHT: #acb5b5 1px solid; PADDING-RIGHT: 1.5ex; BORDER-TOP: = #c4cccc 1px solid; PADDING-LEFT: 1.5ex; FONT-WEIGHT: bold; BACKGROUND: = url(form/element_bg.gif) #fefefe repeat-x; FILTER: = progid:DXImageTransform.Microsoft.dropshadow(OffX=3D0, OffY=3D1, = Color=3D#AAAAAA); PADDING-BOTTOM: 0.2em; OVERFLOW: visible; BORDER-LEFT: = #acb5b5 1px solid; CURSOR: pointer; COLOR: #2b333c; PADDING-TOP: 0.2em; = BORDER-BOTTOM: #6f7777 1px solid; FONT-FAMILY: inherit; TEXT-ALIGN: = center; _padding: .2em 2ex; _width: 1px; -webkit-box-shadow: 0 1px 2px = rgba(0, 0, 0, 0.3); box-shadow: 0 1px 2px #AAA; _white-space: nowrap; = _cursor: hand } .button:visited { COLOR: #2b333c } .button { =09 } * + .button { MARGIN-LEFT: 1ex } :unknown INPUT.button { =09 } A.button { WHITE-SPACE: nowrap; TEXT-DECORATION: none } .inputBlock .caption { MARGIN-TOP: 0.2em; DISPLAY: block } INPUT { FONT-SIZE: 100%; FONT-FAMILY: inherit } SELECT { FONT-SIZE: 100%; FONT-FAMILY: inherit } TEXTAREA { FONT-SIZE: 100%; FONT-FAMILY: inherit } BUTTON { FONT-SIZE: 100%; FONT-FAMILY: inherit } .textfield { _height: 1.85em } .textfield { BORDER-RIGHT: #aab3b3 thin solid; BORDER-TOP: #999 thin solid; = PADDING-BOTTOM: 3px; BORDER-LEFT: #aab3b3 thin solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #d5dddd thin solid; BACKGROUND-COLOR: #f7f7f7 } TEXTAREA { BORDER-RIGHT: #aab3b3 thin solid; BORDER-TOP: #999 thin solid; = PADDING-BOTTOM: 3px; BORDER-LEFT: #aab3b3 thin solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #d5dddd thin solid; BACKGROUND-COLOR: #f7f7f7 } SELECT[size] { BORDER-RIGHT: #aab3b3 thin solid; BORDER-TOP: #999 thin solid; = PADDING-BOTTOM: 3px; BORDER-LEFT: #aab3b3 thin solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #d5dddd thin solid; BACKGROUND-COLOR: #f7f7f7 } SELECT { BORDER-RIGHT: #acb5b5 thin solid; BORDER-TOP: #c4cccc thin solid; = BORDER-LEFT: #acb5b5 thin solid; LINE-HEIGHT: 1.15em; BORDER-BOTTOM: = #6f7777 thin solid; BACKGROUND-COLOR: #fefefe } SELECT OPTION { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } SELECT[size] { BACKGROUND-COLOR: #fff! important } .textfield:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } .textfield:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } SELECT[size]:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } SELECT[size]:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } TEXTAREA:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } TEXTAREA:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } SELECT:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #459455; = BORDER-TOP-COLOR: #6d5; BORDER-RIGHT-COLOR: #5b5 } SELECT:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #459455; = BORDER-TOP-COLOR: #6d5; BORDER-RIGHT-COLOR: #5b5 } .textfield:focus { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } SELECT:focus { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } TEXTAREA:focus { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } .button:hover { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } .button:hover { TEXT-DECORATION: none; outline-width: 2px } :unknown .button > * { POSITION: relative } .error { COLOR: #cc0001 } .error-block { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 8px; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 6px; = BORDER-LEFT: #ccc 1px solid; COLOR: #f00; PADDING-TOP: 6px; = BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #ffffcb; _zoom: 100% } .error-block * { _cursor: auto } .error-block A { COLOR: #f00 } .error-block A:visited { COLOR: #f00 } .error-block A:hover { COLOR: #f00 } .error-block .alert { FONT-WEIGHT: bold } .error-block P { MARGIN: 0px } .error-block UL { MARGIN: 0px } .price { COLOR: #992222 } .price A { COLOR: #992222 } .price { MIN-HEIGHT: 1em; WHITE-SPACE: nowrap; _height: 1em } SPAN[className~=3Dprice] { DISPLAY: inline-block } A[className~=3Dprice] { DISPLAY: inline-block } .price-lrg { FONT-WEIGHT: bold; FONT-SIZE: 1.41em } .icon { BACKGROUND-POSITION: left top; PADDING-LEFT: 20px; BACKGROUND-REPEAT: = no-repeat } * =05 .icon { HEIGHT: 1em } A.icon { ZOOM: 100% } SPAN.icon { ZOOM: 100% } LI.icon { ZOOM: 100% } UNKNOWN { DISPLAY: inline-block; VERTICAL-ALIGN: bottom } LI.icon { BACKGROUND-POSITION: left top } P.icon { BACKGROUND-POSITION: left top } .icon-20 { PADDING-RIGHT: 0px! important; DISPLAY: block; PADDING-LEFT: 24px! = important; MIN-HEIGHT: 20px; PADDING-BOTTOM: 0px! important; = PADDING-TOP: 0px! important; _height: 20px } LI > SPAN.icon-20 { LINE-HEIGHT: 1.6em } LI > A.icon-20 { LINE-HEIGHT: 1.6em } BUTTON.icon-replace { PADDING-RIGHT: 0px; BACKGROUND-POSITION: center center; PADDING-LEFT: = 0px; PADDING-BOTTOM: 0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; = BACKGROUND-REPEAT: no-repeat; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: transparent; = BORDER-BOTTOM-STYLE: none; -moz-outline: none } .icon-replace { PADDING-RIGHT: 0px! important; BACKGROUND-POSITION: center center; = PADDING-LEFT: 0px! important; MIN-HEIGHT: 16px; PADDING-BOTTOM: 0px! = important; WORD-SPACING: -2ex; OVERFLOW: hidden; WIDTH: 24px; COLOR: = transparent! important; PADDING-TOP: 0px! important; BACKGROUND-REPEAT: = no-repeat; ZOOM: 100%; WHITE-SPACE: nowrap; LETTER-SPACING: -2ex; = TEXT-ALIGN: left; _height: 16px; _display: inline; _font: 1px/0 = monospace; _word-spacing: -2px; _letter-spacing: -2px } BUTTON.icon-replace { _color: #FFF } TH.icon-replace { _color: #FFF } TD.icon-replace { _color: #FFF } BUTTON[className~=3Dicon-replace] { COLOR: #fff } TH[className~=3Dicon-replace] { COLOR: #fff } TD[className~=3Dicon-replace] { COLOR: #fff } [className~=3Dicon-replace] { WORD-SPACING: -2px; FONT: 1px/0 monospace; LETTER-SPACING: -2px } A.icon-replace { VERTICAL-ALIGN: bottom } TH.icon-replace { BACKGROUND-POSITION: center center; WIDTH: auto } TD.icon-replace { BACKGROUND-POSITION: center center; WIDTH: auto } @media Unknown =20 { A.icon-replace { TEXT-INDENT: 100% } SPAN.icon-replace { TEXT-INDENT: 100% } TH.icon-replace { LETTER-SPACING: normal } TD.icon-replace { LETTER-SPACING: normal } TH.icon-replace:unknown { MARGIN-LEFT: -100%; content: =20 } TD.icon-replace:unknown { MARGIN-LEFT: -100%; content: =20 } } .zero { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; LINE-HEIGHT: 0px; PADDING-TOP: 0px; POSITION: relative } .add { BACKGROUND-IMAGE: url(icon/add.gif) } .alert { BACKGROUND-IMAGE: url(icon/alert.gif) } .buy { BACKGROUND-IMAGE: url(icon/buy.gif) } .call { BACKGROUND-IMAGE: url(icon/call.gif) } .checkout { BACKGROUND-IMAGE: url(icon/secure.gif) } .contact { BACKGROUND-IMAGE: url(icon/email.gif) } .delete { BACKGROUND-IMAGE: url(icon/delete.gif) } .download { BACKGROUND-IMAGE: url(icon/downloadFile.gif) } .edit { BACKGROUND-IMAGE: url(icon/edit.gif) } .email { BACKGROUND-IMAGE: url(icon/email.gif) } .enroll { BACKGROUND-IMAGE: url(icon/enroll.gif) } .help { BACKGROUND-IMAGE: url(icon/help.gif) } .info { BACKGROUND-IMAGE: url(icon/info.gif) } .launch { BACKGROUND-IMAGE: url(icon/launch.gif) } .listen { BACKGROUND-IMAGE: url(icon/listen.gif) } .locked { BACKGROUND-IMAGE: url(icon/secure.gif) } .nav-up { BACKGROUND-IMAGE: url(icon/ascend.gif) } .print { BACKGROUND-IMAGE: url(icon/print.gif) } .search { BACKGROUND-IMAGE: url(icon/search.gif) } .subtract { BACKGROUND-IMAGE: url(icon/subtract.gif) } .try { BACKGROUND-IMAGE: url(icon/try.gif) } .upgrade { BACKGROUND-IMAGE: url(icon/upgrade.gif) } .breeze-file { BACKGROUND-IMAGE: url(icon/breeze.gif) } .captivate-file { BACKGROUND-IMAGE: url(icon/captivate.gif) } .connect-file { BACKGROUND-IMAGE: url(icon/launch.gif) } .pdf-file { BACKGROUND-IMAGE: url(icon/pdf.gif) } .quicktime-file { BACKGROUND-IMAGE: url(icon/quicktime.gif) } .rss-file { BACKGROUND-IMAGE: url(icon/rss.gif) } .shockwave-file { BACKGROUND-IMAGE: url(icon/shockwave.gif) } .swf-file { BACKGROUND-IMAGE: url(icon/flash.gif) } .mnemonic-acrobatconnect { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/acrobat_connect_20x20.jpg) } .mnemonic-acrobat { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/acrobat_8_20x20.jpg) } .mnemonic-acrobatcapture { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/acrobat_capture_20x20.jpg) } .mnemonic-acrobatcom { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/acrobat.com_20x20.jpg) } .mnemonic-adc { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/developer_connection_20x20.gif= ) } .mnemonic-aftereffects { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/after_effects_cs3_20x20.jpg) } .mnemonic-air { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/air_20x20.jpg) } .mnemonic-amp { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/amp_20x20.jpg) } .mnemonic-audition { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/audition_20x20.jpg) } .mnemonic-authorware { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/authorware_20x20.jpg) } .mnemonic-bridge { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/bridge_20x20.jpg) } .mnemonic-captivate { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/captivate_20x20.jpg) } .mnemonic-central { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/central_20x20.jpg) } .mnemonic-coldfusion { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/coldfusion_8_20x20.jpg) } .mnemonic-contribute { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/contribute_20x20.jpg) } .mnemonic-creativesuite { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/creativesuite_20x20.jpg) } .mnemonic-designpremium { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/design_premium_20x20.jpg) } .mnemonic-devicecentral { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/devicecentral_20x20.jpg) } .mnemonic-digitaleditions { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/digitaleditions_20x20.jpg) } .mnemonic-director { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/director_20x20.jpg) } .mnemonic-distillerserver { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/distiller_20x20.jpg) } .mnemonic-dreamweaver { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/dreamweaver_cs3_20x20.jpg) } .mnemonic-encore { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/encore_20x20.jpg) } .mnemonic-fireworks { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/fireworks_20x20.jpg) } .mnemonic-flash { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flash_cs3_20x20.jpg) } .mnemonic-flashlite { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flash_lite_20x20.jpg) } .mnemonic-flashmediaencoder { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flashmediaencoder_20x20.jpg) } .mnemonic-flashmediaserver { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flashmediaserver_20x20.jpg) } .mnemonic-flashpaper { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flashpaper_20x20.jpg) } .mnemonic-flashplayer { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flash_player_20x20.jpg) } .mnemonic-flex { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/flex_cs3_20x20.jpg) } .mnemonic-fontfolio { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/fontfolio_20x20.jpg) } .mnemonic-framemaker { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/framemaker_20x20.jpg) } .mnemonic-freehand { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/freehand_20x20.jpg) } .mnemonic-golive { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/golive_20x20.jpg) } .mnemonic-homesite { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/homesite_20x20.jpg) } .mnemonic-illustrator { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/illustrator_cs3_20x20.jpg) } .mnemonic-incopy { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/incopy_20x20.jpg) } .mnemonic-indesign { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/indesign_cs3_20x20.jpg) } .mnemonic-indesignserver { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/indesignserver_20x20.jpg) } .mnemonic-jrun { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/jrun_20x20.jpg) } .mnemonic-licensemanager { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/licensemanager_20x20.jpg) } .mnemonic-lightroom { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/lightroom_cs3_20x20.jpg) } .mnemonic-livecycle { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/livecycle_20x20.jpg) } .mnemonic-mastercollection { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/master_collection_20x20.jpg) } .mnemonic-onlocation { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/onlocation_20x20.jpg) } .mnemonic-pagemaker { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/pagemaker_20x20.jpg) } .mnemonic-photoshop { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/photoshop_cs3_20x20.jpg) } .mnemonic-photoshopelements { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/photoshop_elements_7_20x20.jpg= ) } .mnemonic-photoshopexpress { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/photoshop_express_20x20.jpg) } .mnemonic-postscript { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/postscript_20x20.jpg) } .mnemonic-premiere { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/premiere_pro_cs3_20x20.jpg) } .mnemonic-premiereelements { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/premiere_elements_7_20x20.jpg)= } .mnemonic-premiereexpress { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/premiere_express_20x20.jpg) } .mnemonic-presenter { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/presenter_20x20.jpg) } .mnemonic-productionstudio { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/productionstudio_20x20.jpg) } .mnemonic-reader { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/acrobat_reader_8_20x20.jpg) } .mnemonic-robohelp { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/robohelp_20x20.jpg) } .mnemonic-roboinfo { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/roboinfo_20x20.jpg) } .mnemonic-scene7 { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/scene7_20x20.jpg) } .mnemonic-shockwaveplayer { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/shockwave_20x20.jpg) } .mnemonic-soundbooth { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/soundbooth_20x20.jpg) } .mnemonic-stockphotos { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/stockphoto_20x20.jpg) } .mnemonic-techcommsuite { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/techcommsuite_20x20.jpg) } .mnemonic-ultra { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/ultra_20x20.jpg) } .mnemonic-versioncue { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/versioncue_20x20.jpg) } .mnemonic-visualcommunicator { BACKGROUND-IMAGE: = url(/images/shared/product_mnemonics/20x20/visual_communicator_20x20.jpg)= } .star-rating { DISPLAY: block; BACKGROUND-REPEAT: repeat-x; HEIGHT: 16px } .star-rating .star { DISPLAY: block; BACKGROUND-REPEAT: repeat-x; HEIGHT: 16px } .star-rating { BACKGROUND-IMAGE: url(theme/starOff.gif) } .star { BACKGROUND-IMAGE: url(theme/star.gif) } .st0 { WIDTH: 0px } .st1 { WIDTH: 19px } .st2 { WIDTH: 38px } .st3 { WIDTH: 57px } .st4 { WIDTH: 76px } .st5 { WIDTH: 95px } P.pullout-item IMG { MARGIN-RIGHT: 0px } .pullout-left { _height: 1em } .pullout-right { _height: 1em } [className~=3Dpullout-left] { DISPLAY: inline-block; MARGIN-LEFT: 0px } .pullout-left:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .pullout-right:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .pullout-item { OVERFLOW: hidden; _height: 100% } .left-wrap .pullout-item { _height: auto } .right-wrap .pullout-item { _height: auto } .right-wrap .pullout-item { CLEAR: right } .left-wrap .pullout-item { CLEAR: left } .pullout-left .pullout-item { FLOAT: left; MARGIN-LEFT: 0px! important; _margin-right: 6px } .pullout-right .pullout-item { FLOAT: right; MARGIN-RIGHT: 0px! important; _margin-left: 6px } DIV.left-wrap > .pullout-item { MARGIN-RIGHT: 10px } .pullout-left > SPAN { DISPLAY: block } *.pullout-left SPAN { _display: block } *.pullout-left *.pullout-left SPAN { _display: block } *.pullout-left *.pullout-left * SPAN { _display: inline } *.pullout-left * SPAN { _display: inline } DIV.right-wrap > .pullout-item { MARGIN-LEFT: 10px } A.pullout-left { DISPLAY: block; _cursor: hand } A.pullout-right { DISPLAY: block; _cursor: hand } DIV.pullout-wrap > * { MARGIN-LEFT: 0px } DIV.left-wrap > .pullout-item { MARGIN-RIGHT: 10px } DIV.right-wrap > .pullout-item { MARGIN-LEFT: 10px } .left-180 .pullout-item { WIDTH: 180px } .right-180 .pullout-item { WIDTH: 180px } .left-155 .pullout-item { WIDTH: 155px } .right-155 .pullout-item { WIDTH: 155px } .left-140 .pullout-item { WIDTH: 140px } .right-140 .pullout-item { WIDTH: 140px } .left-125 .pullout-item { WIDTH: 125px } .right-125 .pullout-item { WIDTH: 125px } .left-112 .pullout-item { WIDTH: 112px } .right-112 .pullout-item { WIDTH: 112px } .left-100 .pullout-item { WIDTH: 100px } .right-100 .pullout-item { WIDTH: 100px } .left-90 .pullout-item { WIDTH: 90px } .right-90 .pullout-item { WIDTH: 90px } .left-80 .pullout-item { WIDTH: 80px } .right-80 .pullout-item { WIDTH: 80px } .left-72 .pullout-item { WIDTH: 72px } .right-72 .pullout-item { WIDTH: 72px } .left-71 .pullout-item { WIDTH: 71px } .right-71 .pullout-item { WIDTH: 71px } .left-51 .pullout-item { WIDTH: 51px } .right-51 .pullout-item { WIDTH: 51px } .left-60 .pullout-item { WIDTH: 60px } .right-60 .pullout-item { WIDTH: 60px } .left-50 .pullout-item { WIDTH: 50px } .right-50 .pullout-item { WIDTH: 50px } .left-40 .pullout-item { WIDTH: 40px } .right-40 .pullout-item { WIDTH: 40px } .left-20 .pullout-item { WIDTH: 20px } .right-20 .pullout-item { WIDTH: 20px } .left-16 .pullout-item { WIDTH: 16px } .right-16 .pullout-item { WIDTH: 16px } .left-16 .pullout-item { MARGIN-RIGHT: 0px } .right-16 .pullout-item { MARGIN-LEFT: 0px } .left-180 > * { MARGIN-LEFT: 190px! important } .right-180 > * { MARGIN-RIGHT: 190px! important } .left-155 > * { MARGIN-LEFT: 165px! important } .right-155 > * { MARGIN-RIGHT: 165px! important } .left-140 > * { MARGIN-LEFT: 150px! important } .right-140 > * { MARGIN-RIGHT: 150px! important } .left-125 > * { MARGIN-LEFT: 135px! important } .right-125 > * { MARGIN-RIGHT: 135px! important } .left-112 > * { MARGIN-LEFT: 122px! important } .right-112 > * { MARGIN-RIGHT: 122px! important } .left-100 > * { MARGIN-LEFT: 110px! important } .right-100 > * { MARGIN-RIGHT: 110px! important } .left-90 > * { MARGIN-LEFT: 100px! important } .right-90 > * { MARGIN-RIGHT: 100px! important } .left-80 > * { MARGIN-LEFT: 90px! important } .right-80 > * { MARGIN-RIGHT: 90px! important } .left-72 > * { MARGIN-LEFT: 82px! important } .right-72 > * { MARGIN-RIGHT: 82px! important } .left-71 > * { MARGIN-LEFT: 81px! important } .right-71 > * { MARGIN-RIGHT: 81px! important } .left-60 > * { MARGIN-LEFT: 70px! important } .right-60 > * { MARGIN-RIGHT: 70px! important } .left-50 > * { MARGIN-LEFT: 60px! important } .right-50 > * { MARGIN-RIGHT: 60px! important } .left-51 > * { MARGIN-LEFT: 61px! important } .right-51 > * { MARGIN-RIGHT: 61px! important } .left-40 > * { MARGIN-LEFT: 50px! important } .right-40 > * { MARGIN-RIGHT: 50px! important } .left-20 > * { MARGIN-LEFT: 28px! important } .right-20 > * { MARGIN-RIGHT: 28px! important } .left-16 > * { MARGIN-LEFT: 20px! important } .right-16 > * { MARGIN-RIGHT: 20px! important } .columns-4-ABCD-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-4-ABCD-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-4-ABCD-C { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABC-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABC-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABcc-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABcc-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBC-aa { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBC-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBcc-aa { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBcc-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-2-aaB-aa { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-2-Abb-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-2-AB-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-4-ABCD-D { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-ABC-C { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-ABcc-cc { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-aaBcc-cc { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-aaBC-C { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-Abb-bb { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-aaB-B { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-AB-B { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-AB-A { WIDTH: 48% } .columns-2-AB-B { WIDTH: 48% } .columns-2-Abb-A { WIDTH: 64% } .columns-2-aaB-B { WIDTH: 64% } .columns-2-Abb-bb { WIDTH: 32% } .columns-2-aaB-aa { WIDTH: 32% } .columns-3-ABC-A { WIDTH: 30% } .columns-3-ABC-B { WIDTH: 30% } .columns-3-ABC-C { WIDTH: 30% } .columns-3-ABC-B { MARGIN-LEFT: 5% } :unknown .columns-3-ABC-B { LEFT: 1px; POSITION: relative } :unknown .columns-3-aaBC-B { LEFT: 1px; POSITION: relative } :unknown .columns-3-ABcc-B { LEFT: 1px; POSITION: relative } :unknown .columns-3-aaBcc-B { LEFT: 1px; POSITION: relative } :unknown .columns-4-ABCD-B { LEFT: 1px; POSITION: relative } :unknown .columns-4-ABCD-C { LEFT: 1px; POSITION: relative } .columns-3-ABcc-A { WIDTH: 34% } .columns-3-ABcc-B { WIDTH: 34% } .columns-3-aaBC-B { WIDTH: 34% } .columns-3-aaBC-C { WIDTH: 34% } .columns-3-ABcc-cc { WIDTH: 26% } .columns-3-aaBC-aa { WIDTH: 26% } .columns-3-aaBcc-aa { WIDTH: 26% } .columns-3-aaBcc-cc { WIDTH: 26% } .columns-3-ABcc-B { MARGIN-LEFT: 3% } .columns-3-aaBC-B { MARGIN-LEFT: 3% } .columns-3-aaBcc-B { MARGIN-LEFT: 3% } .columns-3-aaBcc-B { WIDTH: 42% } .columns-4-ABCD-A { WIDTH: 22% } .columns-4-ABCD-B { WIDTH: 22% } .columns-4-ABCD-C { WIDTH: 22% } .columns-4-ABCD-D { WIDTH: 22% } .columns-4-ABCD-B { MARGIN-LEFT: 4% } .columns-4-ABCD-C { MARGIN-LEFT: 4% } .columns-2-Abb-A#L0C1 { MARGIN-BOTTOM: 0px; WIDTH: 526px; _width: 558px } .columns-2-Abb-A#L2C1 { MARGIN-BOTTOM: 0px; WIDTH: 526px; _width: 558px } .columns-2-Abb-A#L4C1 { MARGIN-BOTTOM: 0px; WIDTH: 526px; _width: 558px } .columns-2-Abb-A#L1C1 { WIDTH: 453px; _width: 485px } .L1 .columns-1-A-A { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; MARGIN-BOTTOM: 0px } .columns-2-Abb-A#L1C1 { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; MARGIN-BOTTOM: 0px } .columns-1-A-A#L4C1 { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; MARGIN-BOTTOM: 0px } .columns-1-A-A#L0C1 { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; MARGIN-BOTTOM: 0px } .columns-2-Abb-A#L0C1 { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; MARGIN-BOTTOM: 0px } .columns-2-Abb-A#L4C1 { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; MARGIN-BOTTOM: 0px } .columns-2-Abb-bb#L0C2 { BORDER-LEFT: #d9d9d9 1px solid; COLOR: #363636; BORDER-BOTTOM: #d9d9d9 = 1px solid; BACKGROUND-COLOR: #ededed } .columns-2-Abb-bb#L1C2 { BORDER-LEFT: #d9d9d9 1px solid; COLOR: #363636; BORDER-BOTTOM: #d9d9d9 = 1px solid; BACKGROUND-COLOR: #ededed } .columns-2-Abb-bb#L2C2 { BORDER-LEFT: #d9d9d9 1px solid; COLOR: #363636; BORDER-BOTTOM: #d9d9d9 = 1px solid; BACKGROUND-COLOR: #ededed } .columns-2-Abb-bb#L4C2 { BORDER-LEFT: #d9d9d9 1px solid; COLOR: #363636; BORDER-BOTTOM: #d9d9d9 = 1px solid; BACKGROUND-COLOR: #ededed } .columns-2-Abb-bb#L0C2 { MARGIN-BOTTOM: 0px; WIDTH: 199px; _width: 200px } .columns-2-Abb-bb#L2C2 { MARGIN-BOTTOM: 0px; WIDTH: 199px; _width: 200px } .columns-2-Abb-bb#L4C2 { MARGIN-BOTTOM: 0px; WIDTH: 199px; _width: 200px } .columns-2-Abb-bb#L1C2 { WIDTH: 266px; _width: 267px } .columns-3-ABcc-A#L2C1 { WIDTH: 276px } .columns-3-ABcc-B#L2C2 { WIDTH: 276px } .columns-3-ABcc-B#L2C2 { MARGIN-LEFT: 9px } :unknown .columns-3-ABcc-B#L2C2 { LEFT: 0px } .columns-3-ABcc-cc#L2C3 { WIDTH: 189px } .columns-3-aaBcc-aa#L1C1 { WIDTH: 189px } .columns-3-aaBcc-cc#L1C3 { WIDTH: 189px } .columns-3-aaBcc-B#L1C2 { MARGIN-LEFT: 9px; WIDTH: 362px } .columns-4-ABCD-A#L2C1 { WIDTH: 183px } .columns-4-ABCD-B#L2C2 { WIDTH: 183px } .columns-4-ABCD-C#L2C3 { WIDTH: 183px } .columns-4-ABCD-D#L2C4 { WIDTH: 183px } .columns-4-ABCD-B#L2C2 { MARGIN-LEFT: 9px } .columns-4-ABCD-C#L2C3 { MARGIN-LEFT: 9px } #L0C2 .p2 { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 5px; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px } #L1C2 .p2 { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; MARGIN-BOTTOM: 5px; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px } #L0C2 .p2-top > *:first-child { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-LEFT: 0px; MARGIN-RIGHT: = 0px } #L1C2 .p2-top > *:first-child { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-LEFT: 0px; MARGIN-RIGHT: = 0px } .L3#layoutLogic { BACKGROUND: #fff; MARGIN: 0px; WIDTH: auto } .columns-1-A-A#L3C1 { PADDING-RIGHT: 18px; PADDING-LEFT: 18px } HTML { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } HTML { BORDER-TOP: #000000 5px solid } BODY { LEFT: 0px; BACKGROUND-IMAGE: url(theme/silverswimmer.jpg); FONT: 75%/1 = Arial, Helvetica, sans-serif; WIDTH: 100%; COLOR: #333333; = BACKGROUND-REPEAT: no-repeat; POSITION: relative; TOP: 0px; HEIGHT: = 100%; BACKGROUND-COLOR: #eaeaea } BODY > DIV { Z-INDEX: 2; POSITION: relative } BODY DIV { _position: relative; _z-index: 2 } BODY DIV DIV { _position: static } #layoutLogic { PADDING-RIGHT: 6px; BACKGROUND-POSITION: right top; PADDING-LEFT: 0px; = BACKGROUND-IMAGE: url(theme/body_dropshadow.png); PADDING-BOTTOM: 1px; = MARGIN: 82px 0px 0px; WIDTH: 758px; PADDING-TOP: 0px; BACKGROUND-REPEAT: = repeat-y; _margin-top: 84px; _width: 764px; _background-image: = url(theme/body_dropshadow_8bit.png) } #layoutLogic:unknown { BORDER-TOP: #000000 1px solid; DISPLAY: block; POSITION: relative; = content: " "; -moz-opacity: .2; -khtml-opacity: .2; opacity: .2 } DIV[id=3D'layoutLogic'] { CLEAR: both; MIN-HEIGHT: 1em } BODY DIV { _height: 1em } BODY FORM { _height: 1em } BODY * DIV { _height: auto } IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } OBJECT { POSITION: relative } #flash-pixel { DISPLAY: none } #accesslink { DISPLAY: block; LEFT: -9999px; OVERFLOW: hidden; WIDTH: 1px; POSITION: = absolute; TOP: 0px; HEIGHT: 1px } .replace-text { DISPLAY: block; OVERFLOW: hidden; TEXT-INDENT: -1000% } .camel-case { WORD-SPACING: -0.5ex } P { MARGIN-TOP: 0px; FONT-SIZE: 1.08em; MARGIN-BOTTOM: 1.2em; = PADDING-BOTTOM: 1px; LINE-HEIGHT: 1.462 } H4 IMG { VERTICAL-ALIGN: middle } P IMG { VERTICAL-ALIGN: middle } H1 { FONT-WEIGHT: normal } H2 { FONT-WEIGHT: normal } H2 { LINE-HEIGHT: 1.31 } H3 { LINE-HEIGHT: 1.31 } H4 { LINE-HEIGHT: 1.31 } H5 { LINE-HEIGHT: 1.31 } H3 { FONT-SIZE: 0.91em; LINE-HEIGHT: 1.455 } H4 { FONT-SIZE: 1.08em; LINE-HEIGHT: 1.31 } H5 { FONT-SIZE: 1em } H1 { FONT-SIZE: 2.3em; LINE-HEIGHT: 1.1 } HTML[lang=3Dja] H1 { FONT-SIZE: 22px } HTML[lang=3Dko] H1 { FONT-SIZE: 22px } HTML[lang=3Dzh] H1 { FONT-SIZE: 22px } HTML.ja H1 { FONT-SIZE: 22px } HTML.ko H1 { FONT-SIZE: 22px } HTML.zh H1 { FONT-SIZE: 22px } H2 { MARGIN-TOP: 0px; FONT-SIZE: 1.66em; MARGIN-BOTTOM: 0.5em } H4 { COLOR: #111 } H4 { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } H5 { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } .txtleft { TEXT-ALIGN: left } .txtright { TEXT-ALIGN: right } .txtcenter { TEXT-ALIGN: center } HR { CLEAR: both; FONT-SIZE: 1px; BACKGROUND: #cbcbcb; MARGIN: 10px 0px; = COLOR: #ccc; BORDER-TOP-STYLE: none; LINE-HEIGHT: 1px; = BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 3px; = BORDER-BOTTOM-STYLE: none } DIV.hr { CLEAR: both; FONT-SIZE: 1px; BACKGROUND: #cbcbcb; MARGIN: 10px 0px; = COLOR: #ccc; BORDER-TOP-STYLE: none; LINE-HEIGHT: 1px; = BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 3px; = BORDER-BOTTOM-STYLE: none } .votecount { FONT-SIZE: 0.91em; COLOR: #888 } .promo-pod { MARGIN-BOTTOM: 1em } #fma { MARGIN-BOTTOM: 0px } .fma { MARGIN: 0px -16px 1em } A { COLOR: #004477; TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } A.off { COLOR: #588cb8 } A:visited { COLOR: #588cb8 } A.on { COLOR: #004477 } A:hover { COLOR: #004477 } A:hover:visited { COLOR: #004477 } A.noHover:hover { TEXT-DECORATION: none } .noHover A:hover { TEXT-DECORATION: none } A .mask-a { COLOR: #888888 } A:hover .mask-a { COLOR: #888888 } .user { COLOR: #f60 } .user A { COLOR: #f60 } .author { COLOR: #f60 } .editable A { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = MARGIN-RIGHT: 3px; PADDING-TOP: 2px; BACKGROUND-COLOR: #def } A.search-term { COLOR: #000000; BACKGROUND-COLOR: #fff } A.search-term:visited { COLOR: #000000; BACKGROUND-COLOR: #fff } A.search-term:hover { COLOR: #000000; BACKGROUND-COLOR: #fff } .nav-up { BACKGROUND: url(theme/ascend.gif) no-repeat right top; LEFT: 0px; = POSITION: relative; TOP: 0px; HEIGHT: 25px } .border { BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; = BORDER-BOTTOM: 1px solid } IMG.border { BORDER-LEFT-COLOR: #999999; BORDER-BOTTOM-COLOR: #999999; = BORDER-TOP-COLOR: #999999; BORDER-RIGHT-COLOR: #999999 } IMG.frame { BORDER-RIGHT: #424242 1px solid; BORDER-TOP: #424242 1px solid; = BORDER-LEFT: #424242 1px solid; BORDER-BOTTOM: #424242 1px solid; = outline-color: #CCC } CODE { FONT-FAMILY: "Courier New", Courier, monospace } KBD { FONT-FAMILY: "Courier New", Courier, monospace } PRE { FONT-FAMILY: "Courier New", Courier, monospace } SAMP { FONT-FAMILY: "Courier New", Courier, monospace } HTML > BODY CODE { FONT-SIZE: 12px } HTML > BODY PRE { FONT-SIZE: 12px } HTML > BODY SAMP { FONT-SIZE: 12px } HTML > BODY KBD { FONT-SIZE: 12px } CODE:unknown { FONT-FAMILY: Courier, monospace } KBD:unknown { FONT-FAMILY: Courier, monospace } PRE:unknown { FONT-FAMILY: Courier, monospace } SAMP:unknown { FONT-FAMILY: Courier, monospace } ABBR { FONT-STYLE: normal } ADDRESS { FONT-STYLE: normal } ACRONYM { FONT-STYLE: normal } CITE { FONT-STYLE: normal } ACRONYM { FONT-SIZE: 0.91em } CODE { COLOR: #000 } PRE { COLOR: #000 } PRE { LINE-HEIGHT: 1.333 } CODE { BACKGROUND-COLOR: #e6f0fa } DEL { COLOR: #000 } BLOCKQUOTE { MARGIN: 0px 0px 1.5em } BLOCKQUOTE { LINE-HEIGHT: 1.33 } ADDRESS { LINE-HEIGHT: 1.33 } BLOCKQUOTE.pullquote { PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 0px; = PADDING-BOTTOM: 1.25em; COLOR: #333333; PADDING-TOP: 1.25em; = BORDER-BOTTOM: #ccc 1px solid } BLOCKQUOTE.indent { MARGIN: 0px 32px 1.5em } ADDRESS { WIDTH: auto } ABBR { CURSOR: help } SUP { _margin-top: -.35em } *:first-child + HTML SUP { DISPLAY: inline-block } .new { FONT-WEIGHT: bold; FONT-SIZE: 0.91em; COLOR: #aa2222; POSITION: = relative; TOP: -0.5ex; _height: 1em; _display: inline } .caption { MARGIN-TOP: 0.8em; FONT-SIZE: 0.91em; COLOR: #888; LINE-HEIGHT: 1.3 } P.caption { MARGIN-TOP: 0.5em } P .caption { FONT-SIZE: 0.84em } .required { COLOR: #cc0001 } .achtung { COLOR: #aa2222! important } .call-action { FONT-WEIGHT: bold } .rating { FONT-WEIGHT: bold } .suggestion { FONT-WEIGHT: normal } .msg-promo { FONT-SIZE: 1.58em } .promoHeader { FONT-SIZE: 1.58em } .byline { FONT-SIZE: 0.91em } .footnote { COLOR: #888 } .note { COLOR: #888 } .suggestion { COLOR: #888 } .stamp-fileinfo { COLOR: #888 } SPAN.article-date { COLOR: #888 } .stamp-date { COLOR: #888 } .stamp-download { COLOR: #6c6c6c } .tag { BORDER-BOTTOM: #ddd 1px solid } .strikeout { TEXT-DECORATION: line-through } .link-more:unknown { content: ' =9B' } .link-back:unknown { MARGIN-RIGHT: 0.5ex; content: '=8B' } .link-more { BEHAVIOR: url("/lib/com.adobe/evaluateCss.htc"); htc-method: = "$addTextToNode[ =9B,after]" } .link-back { BEHAVIOR: url("/lib/com.adobe/evaluateCss.htc"); htc-method: = "$addTextToNode[=8B ,before]" } .static-messaging { BORDER-RIGHT: #d3d3d3 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #d3d3d3 1px solid; PADDING-LEFT: 5px; MIN-HEIGHT: 1em; BACKGROUND: = #f5f7f7; PADDING-BOTTOM: 10px; MARGIN: 0px auto 1em; BORDER-LEFT: = #d3d3d3 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #d3d3d3 1px solid; = TEXT-ALIGN: center; _height: 1em } .p1.static-messaging { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; = BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: transparent; TEXT-ALIGN: = left; BORDER-BOTTOM-STYLE: none } .static-messaging.p1 .pod-body * { MARGIN-BOTTOM: 0px } .static-messaging.p1 .pod-body .icon { PADDING-LEFT: 26px } .button { VERTICAL-ALIGN: middle; ZOOM: 100% } BUTTON.callout-button { PADDING-RIGHT: 1.5ex! important; PADDING-LEFT: 1.5ex! important; = BACKGROUND: url(form/calloutbutton_bg.gif); PADDING-BOTTOM: 0.2em! = important; PADDING-TOP: 0.2em! important; _padding: .2em 2ex } A.callout-button { PADDING-RIGHT: 1.5ex! important; PADDING-LEFT: 1.5ex! important; = BACKGROUND: url(form/calloutbutton_bg.gif); PADDING-BOTTOM: 0.2em! = important; PADDING-TOP: 0.2em! important; _padding: .2em 2ex } .callout-button:hover { BACKGROUND: url(form/calloutbutton_bg.gif) } .callout-button:hover:visited { BACKGROUND: url(form/calloutbutton_bg.gif) } BUTTON.callout-prominent { PADDING-RIGHT: 6.5ex! important; PADDING-LEFT: 6.5ex! important; = PADDING-BOTTOM: 0.35em! important; PADDING-TOP: 0.35em! important; = _padding: .35em 8ex } A.callout-prominent { PADDING-RIGHT: 6.5ex! important; PADDING-LEFT: 6.5ex! important; = PADDING-BOTTOM: 0.35em! important; PADDING-TOP: 0.35em! important; = _padding: .35em 8ex } .callout-button:hover { outline-width: 0 } .download-button { BORDER-RIGHT: #acb5b5 1px solid; BORDER-TOP: #c4cccc 1px solid; = FONT-WEIGHT: bold; BACKGROUND: url(form/downloadbutton_bg.gif) repeat-x; = VERTICAL-ALIGN: middle; OVERFLOW: visible; BORDER-LEFT: #acb5b5 1px = solid; CURSOR: pointer; COLOR: #2b333c; BORDER-BOTTOM: #6f7777 1px = solid; ZOOM: 1; FONT-FAMILY: Arial, Helvetica, sans-serif; _width: 1px; = box-shadow: 0 1px 2px #AAA; _white-space: nowrap; _cursor: hand } A.download-button { PADDING-RIGHT: 40px; PADDING-LEFT: 55px; PADDING-BOTTOM: 7px; = PADDING-TOP: 8px; TEXT-DECORATION: none; _padding: 7px 40px 8px 55px } BUTTON.download-button { PADDING-RIGHT: 40px; PADDING-LEFT: 55px; PADDING-BOTTOM: 9px; = PADDING-TOP: 9px; _padding: 9px 40px 8px 55px } P BUTTON.download-button { PADDING-RIGHT: 35px; PADDING-LEFT: 55px; PADDING-BOTTOM: 6px; = PADDING-TOP: 6px; _padding: 7px 35px 6px 55px } .download-button:hover { BACKGROUND: url(form/downloadbutton_bg.gif); COLOR: #2b333c; = TEXT-DECORATION: none } .download-button:visited { BACKGROUND: url(form/downloadbutton_bg.gif); COLOR: #2b333c; = TEXT-DECORATION: none } .download-button:hover:visited { BACKGROUND: url(form/downloadbutton_bg.gif); COLOR: #2b333c; = TEXT-DECORATION: none } UL.buttonList LI { FONT-SIZE: 11px; MARGIN-BOTTOM: 0.5em; _font-size: 9.25px } UL { WORD-SPACING: -2ex; LINE-HEIGHT: 0; LETTER-SPACING: -2ex } OL { WORD-SPACING: -2ex; LINE-HEIGHT: 0; LETTER-SPACING: -2ex } DL { WORD-SPACING: -2ex; LINE-HEIGHT: 0; LETTER-SPACING: -2ex } DT { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } DD { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } LI { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } OL { FONT-SIZE: 1em } LI { FONT-SIZE: 1em } LI OL { FONT-SIZE: 1em } LI UL { FONT-SIZE: 1em } UL { MARGIN-LEFT: 1ex; LIST-STYLE-TYPE: disc } UL { MARGIN-TOP: 1em; PADDING-LEFT: 2.5ex; MARGIN-BOTTOM: 1.35em } OL { MARGIN-TOP: 1em; PADDING-LEFT: 2.5ex; MARGIN-BOTTOM: 1.35em } LI { PADDING-BOTTOM: 0.5em; LINE-HEIGHT: 1.25em } OL { MARGIN-LEFT: 3ex; OVERFLOW: visible; LIST-STYLE-TYPE: decimal; = _padding-left: 6ex } OL OL { MARGIN-LEFT: 0.5ex; LIST-STYLE-TYPE: lower-alpha; _margin-left: 1.5ex } OL OL OL { LIST-STYLE-TYPE: lower-roman } LI OL { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0.3ex } LI UL { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0.3ex } LI P { MARGIN-BOTTOM: 0.5em } DT { LINE-HEIGHT: 1.5em } DD { LINE-HEIGHT: 1.5em } DT { MARGIN-TOP: 0.5em; FONT-WEIGHT: bold; MARGIN-BOTTOM: 1em } DL { MARGIN-BOTTOM: 1.5em } DD { MARGIN-BOTTOM: 1.5em } DD { MARGIN-LEFT: 16px } .link-list { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; TEXT-ALIGN: left } .link-list > * { MARGIN: 1px 1.5ex 1px 0px; LINE-HEIGHT: 1.33em } .link-list > LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .link-list > DT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .link-list > DD { PADDING-LEFT: 1.25ex } .link-list LI { _padding: 0.15em 0 0.2em } .link-list DT { _padding: 0.15em 0 0.2em } .link-list DD { _padding-left: 1.25ex } .link-list LI { _margin: 1px 1.5ex 1px 0; _line-height: 1.35em } .link-list DT { _margin: 1px 1.5ex 1px 0; _line-height: 1.35em } .link-list DD { _margin: 1px 1.5ex 1px 0; _line-height: 1.35em } .menu { DISPLAY: block; MARGIN-BOTTOM: 1em; MARGIN-LEFT: 0px; MARGIN-RIGHT: = 0px; ZOOM: 1; _height: 1em } .menu { WORD-SPACING: -1ex; LINE-HEIGHT: 0; LETTER-SPACING: -1ex } .menu * { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } .menu > * { ZOOM: 1 } .menu > * A { ZOOM: 1 } [className~=3Dmenu] > * { DISPLAY: inline } [className~=3Dmenu] > * A { DISPLAY: inline } BODY:unknown .pipe.menu > * { DISPLAY: block; FLOAT: left } BODY:unknown .pipe:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .menu LI { _display: inline; _zoom: 1 } .menu DT { _display: inline; _zoom: 1 } .menu DD { _display: inline; _zoom: 1 } .menu LI A { _display: inline; _zoom: 1 } .menu DD A { _display: inline; _zoom: 1 } .menu DT A { _display: inline; _zoom: 1 } .menu * LI { _display: inline-block } .menu * DD { _display: inline-block } .menu * DT { _display: inline-block } .menu * LI A { _display: inline-block } .menu * DD A { _display: inline-block } .menu * DT A { _display: inline-block } .menu LI { PADDING-BOTTOM: 0px; _display: inline } .menu DD { PADDING-BOTTOM: 0px; _display: inline } .menu DT { PADDING-BOTTOM: 0px; _display: inline } .menu LI A { VERTICAL-ALIGN: bottom } .menu DD A { VERTICAL-ALIGN: bottom } .menu DT A { VERTICAL-ALIGN: bottom } .menu .selected { PADDING-RIGHT: 0.8ex; PADDING-LEFT: 0.8ex; PADDING-BOTTOM: 0.1em; = MARGIN-LEFT: 0px; PADDING-TOP: 0.1em } .menu .first { PADDING-LEFT: 0px } .boxed { PADDING-RIGHT: 0px! important; BORDER-TOP: #b1b1b1 1px solid; = PADDING-LEFT: 0px! important; BACKGROUND: url(menu/boxshadow.gif) = #ebebeb repeat-x left bottom; PADDING-BOTTOM: 4px! important; MARGIN: = 0px -16px; PADDING-TOP: 0px! important; LIST-STYLE-TYPE: none; POSITION: = relative; _zoom: 1 } .boxed LI { BORDER-RIGHT: #b1b1b1 1px solid; BORDER-LEFT: #fff 1px solid; = BACKGROUND-COLOR: #efefef } .boxed LI A { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-BOTTOM: 6px; COLOR: = #000; PADDING-TOP: 6px } .boxed DD { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-BOTTOM: 6px; COLOR: = #000; PADDING-TOP: 6px } .boxed DT { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-BOTTOM: 6px; COLOR: = #000; PADDING-TOP: 6px } .boxed LI A:hover { COLOR: #000; BACKGROUND-COLOR: #def; TEXT-DECORATION: none } .boxed LI.on { BACKGROUND-COLOR: #f9f9f9 } .boxed LI A:visited { COLOR: #000 } DL.boxed { BACKGROUND-IMAGE: none; PADDING-BOTTOM: 1px; MARGIN: 0px -8px 1em; = BORDER-TOP-STYLE: none; BORDER-BOTTOM: #b1b1b1 1px solid } .boxed DD { PADDING-RIGHT: 6px; MARGIN-TOP: 0px; PADDING-LEFT: 8px; MARGIN-BOTTOM: = 0px; PADDING-BOTTOM: 1px; PADDING-TOP: 2px } .boxed DT { PADDING-RIGHT: 6px; MARGIN-TOP: 0px; PADDING-LEFT: 8px; MARGIN-BOTTOM: = 0px; PADDING-BOTTOM: 1px; PADDING-TOP: 2px } .boxed DT { _display: inline; _float: left } .boxed DD { FLOAT: right! important } .page { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 1em; PADDING-TOP: 0px; TEXT-ALIGN: right } .page UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 0px 10px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .page UL LI A { PADDING-RIGHT: 0.7ex; PADDING-LEFT: 0.7ex; PADDING-BOTTOM: 0.1em; = PADDING-TOP: 0.1em } .page DT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; = PADDING-BOTTOM: 0px; MARGIN: 0px; VERTICAL-ALIGN: middle; LINE-HEIGHT: = 1.36; PADDING-TOP: 0px; TEXT-ALIGN: left } .page DD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; = PADDING-BOTTOM: 0px; MARGIN: 0px; VERTICAL-ALIGN: middle; LINE-HEIGHT: = 1.36; PADDING-TOP: 0px; TEXT-ALIGN: left } .page .button { PADDING-RIGHT: 1ex; BACKGROUND-POSITION: 0px 0px; PADDING-LEFT: 1ex; = PADDING-BOTTOM: 0.3ex; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px; PADDING-TOP: = 0.2ex; BACKGROUND-REPEAT: repeat-y } .page .pipe .selected { FONT-WEIGHT: bold } .page DD.next { BACKGROUND-IMAGE: url(menu/next_null.gif); MARGIN-LEFT: -1px } .page DD.prev { BACKGROUND-IMAGE: url(menu/prev_null.gif); MARGIN-LEFT: 10px } .page DD.next A { BACKGROUND-IMAGE: url(menu/next.gif) } .page DD.prev A { BACKGROUND-IMAGE: url(menu/prev.gif) } .page .prev A { BACKGROUND-POSITION: 0px 0px; WORD-SPACING: -3ex; OVERFLOW: hidden; = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; LETTER-SPACING: -3ex; HEIGHT: = 17px } .page .prev { BACKGROUND-POSITION: 0px 0px; WORD-SPACING: -3ex; OVERFLOW: hidden; = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; LETTER-SPACING: -3ex; HEIGHT: = 17px } .page .next A { BACKGROUND-POSITION: 0px 0px; WORD-SPACING: -3ex; OVERFLOW: hidden; = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; LETTER-SPACING: -3ex; HEIGHT: = 17px } .page .next { BACKGROUND-POSITION: 0px 0px; WORD-SPACING: -3ex; OVERFLOW: hidden; = WIDTH: 17px; BACKGROUND-REPEAT: no-repeat; LETTER-SPACING: -3ex; HEIGHT: = 17px } .page .prev { FONT-SIZE: 0px; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px } .page .next { FONT-SIZE: 0px; MARGIN-LEFT: 2px; MARGIN-RIGHT: 2px } .page DD.prev A:hover { BACKGROUND-IMAGE: url(menu/prev_hover.gif); BACKGROUND-COLOR: = transparent } .page DD.prev A:focus { BACKGROUND-IMAGE: url(menu/prev_hover.gif); BACKGROUND-COLOR: = transparent } .page DD.next A:hover { BACKGROUND-IMAGE: url(menu/next_hover.gif); BACKGROUND-COLOR: = transparent } .page DD.next A:focus { BACKGROUND-IMAGE: url(menu/next_hover.gif); BACKGROUND-COLOR: = transparent } [class~=3Dselected].button { MARGIN-TOP: -1px; BACKGROUND-IMAGE: url(form/element_selected_bg.gif); = PADDING-BOTTOM: 0.25em; CURSOR: default; COLOR: #000 } .selected.button { BACKGROUND-IMAGE: url(form/element_selected_bg.gif); BACKGROUND-COLOR: = #eee } .page .etc { VERTICAL-ALIGN: bottom } .page .selected:hover { outline: none } .page .selected A:hover { outline: none } OL.path { LIST-STYLE-TYPE: none } .path:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .path > LI { DISPLAY: inline; FLOAT: left; _float: none } [className~=3Dpath] > LI { FLOAT: none } .path > LI:unknown { FONT-WEIGHT: normal; COLOR: #aaa; MARGIN-RIGHT: 1ex; content: "/" } OL.path LI A { BEHAVIOR: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$addTextToNode[ /,after,fontWeight normal]" } .path LI A { PADDING-RIGHT: 1ex; PADDING-LEFT: 0px; PADDING-BOTTOM: 0.1em; = PADDING-TOP: 0.1em } UL.pipe { LIST-STYLE-TYPE: none } .pipe > LI + LI { PADDING-LEFT: 1px; BACKGROUND-IMAGE: url(theme/pipe.gif) } .pipe LI { BACKGROUND-POSITION: left center; BACKGROUND-REPEAT: no-repeat } .pipe LI A { PADDING-RIGHT: 1ex; PADDING-LEFT: 1ex; PADDING-BOTTOM: 0.1em; = VERTICAL-ALIGN: baseline; PADDING-TOP: 0.1em } UL.pipe { _behavior: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$getDirectChild >$getAdjacent >$addClassToNode[pipe-adjacent]" } .pipe-adjacent { PADDING-LEFT: 1px; BACKGROUND-IMAGE: url(theme/pipe.gif) } UNKNOWN { MARGIN-RIGHT: 1ex; content: "," } .comma LI + LI:unknown { MARGIN-RIGHT: 1ex; content: "," } .comma DD:unknown { MARGIN-RIGHT: 1ex; content: "," } .comma DD:unknown { content: "" } .comma LI:unknown { content: "" } .comma LI + LI { MARGIN-RIGHT: 0px } .comma DT { MARGIN: 0px } .comma DD { MARGIN: 0px } .comma DD { DISPLAY: inline } .comma LI { DISPLAY: inline } .comma DT { MARGIN-RIGHT: 1em; _float: left } .comma A:hover { _color: #cc0000 } .comma LI A { BEHAVIOR: url(/lib/com.adobe/evaluateCss.htc); _zoom: 0; htc-method: = "$addTextToNode[u201a ,after]"; _padding-right: 0.5ex } .comma DD A { BEHAVIOR: url(/lib/com.adobe/evaluateCss.htc); _zoom: 0; htc-method: = "$addTextToNode[u201a ,after]"; _padding-right: 0.5ex } *:first-child + HTML .comma LI A { PADDING-RIGHT: 0.5ex; htc-method: "$addTextToNode[\u201a ,after]" } *:first-child + HTML .comma DD A { PADDING-RIGHT: 0.5ex; htc-method: "$addTextToNode[\u201a ,after]" } .comma { BEHAVIOR: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$getLastChild >$getDirectChild >$addStyleToNode[marginRight = -1.5ex,runtime]" } .dash { MARGIN-TOP: 0px; PADDING-LEFT: 0px } UNKNOWN { MARGIN-RIGHT: 1ex; content: "-" } BODY:unknown .dash LI { DISPLAY: inline } BODY:unknown .dash DD { DISPLAY: inline } .dash DT { MARGIN-BOTTOM: 0px; _margin-right: 0.5ex } .dash DD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .dash LI + LI:unknown { PADDING-RIGHT: 1ex; MARGIN-LEFT: 1ex; content: "-" } .dash DD:unknown { PADDING-RIGHT: 1ex; MARGIN-LEFT: 1ex; content: "-" } .dash { BEHAVIOR: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$getDirectChild >$getAdjacent >$addTextToNode[- ,before]" } .dash LI { _padding-left: 0ex; _padding-right: 1ex } .dash DD { _padding-left: 0.5ex; _padding-right: 0 } *:first-child + HTML .dash LI { PADDING-RIGHT: 1ex; PADDING-LEFT: 0px } *:first-child + HTML .dash DD { PADDING-RIGHT: 0px; PADDING-LEFT: 0.75ex } .tags LI { MARGIN-RIGHT: 10px } .tag { MARGIN-BOTTOM: 0.5em } .nomarker { LIST-STYLE-IMAGE: none; LIST-STYLE-TYPE: none } .p0 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 1em; = PADDING-BOTTOM: 10px; PADDING-TOP: 10px; ZOOM: 100%; _height: 1em } .p1 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 1em; = PADDING-BOTTOM: 10px; PADDING-TOP: 10px; ZOOM: 100%; _height: 1em } .p2 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 1em; = PADDING-BOTTOM: 10px; PADDING-TOP: 10px; ZOOM: 100%; _height: 1em } DIV.frame { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 1em; = PADDING-BOTTOM: 10px; PADDING-TOP: 10px; ZOOM: 100%; _height: 1em } .p1 { BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; = BORDER-LEFT: #dddddd 1px solid; BORDER-BOTTOM: #dddddd 1px solid; = BACKGROUND-COLOR: #eee } DIV.frame { BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; = BORDER-LEFT: #dddddd 1px solid; BORDER-BOTTOM: #dddddd 1px solid; = BACKGROUND-COLOR: #eee } .p1-top { PADDING-TOP: 0px } .p2-top { PADDING-TOP: 0px } DIV.frame { PADDING-TOP: 0px } DIV.frame { _behavior: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$getFirstChild >$addClassToNode[p1-top-first-child]" } .p1-top { _behavior: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$getFirstChild >$addClassToNode[p1-top-first-child]" } .p2-top { _behavior: url(/lib/com.adobe/evaluateCss.htc); htc-method: = "$getFirstChild >$addClassToNode[p2-top-first-child]" } .p1-top > *:first-child { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 0.91em; PADDING-BOTTOM: 6px; MARGIN: 0px -8px 0.5em; TEXT-TRANSFORM: = uppercase; COLOR: #111111; LINE-HEIGHT: normal; PADDING-TOP: 6px } .p2-top > *:first-child { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 0.91em; PADDING-BOTTOM: 6px; MARGIN: 0px -8px 0.5em; TEXT-TRANSFORM: = uppercase; COLOR: #111111; LINE-HEIGHT: normal; PADDING-TOP: 6px } DIV.frame > *:first-child { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: = 0.91em; PADDING-BOTTOM: 6px; MARGIN: 0px -8px 0.5em; TEXT-TRANSFORM: = uppercase; COLOR: #111111; LINE-HEIGHT: normal; PADDING-TOP: 6px } HTML[lang=3Dja] .p1-top > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dja] .p2-top > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dja] DIV.frame > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dzh] .p1-top > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dzh] .p2-top > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dzh] DIV.frame > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dko] .p1-top > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dko] .p2-top > *:first-child { FONT-SIZE: 100% } HTML[lang=3Dko] DIV.frame > *:first-child { FONT-SIZE: 100% } .p1-top-first-child { PADDING-RIGHT: 8px! important; PADDING-LEFT: 8px! important; = FONT-WEIGHT: bold; FONT-SIZE: 0.91em; PADDING-BOTTOM: 6px! important; = MARGIN: 0px -8px 0.5em; TEXT-TRANSFORM: uppercase; LINE-HEIGHT: normal; = PADDING-TOP: 6px! important; _height: 1em } .p2-top-first-child { PADDING-RIGHT: 8px! important; PADDING-LEFT: 8px! important; = FONT-WEIGHT: bold; FONT-SIZE: 0.91em; PADDING-BOTTOM: 6px! important; = MARGIN: 0px -8px 0.5em; TEXT-TRANSFORM: uppercase; LINE-HEIGHT: normal; = PADDING-TOP: 6px! important; _height: 1em } HTML.ja .p1-top-first-child { FONT-SIZE: 100% } HTML.ja .p2-top-first-child { FONT-SIZE: 100% } HTML.zh .p1-top-first-child { FONT-SIZE: 100% } HTML.zh .p2-top-first-child { FONT-SIZE: 100% } HTML.ko .p1-top-first-child { FONT-SIZE: 100% } HTML.ko .p2-top-first-child { FONT-SIZE: 100% } .p1-top > *:first-child { COLOR: #111111; BACKGROUND-COLOR: #dddddd } DIV.frame > *:first-child { COLOR: #111111; BACKGROUND-COLOR: #dddddd } .p1-top-first-child { COLOR: #111111; BACKGROUND-COLOR: #dddddd } *[className~=3Dframe] { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } *[className~=3Dframe] > * { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .top-acc { PADDING-RIGHT: 10px; PADDING-LEFT: 20px; PADDING-BOTTOM: 6px; = MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px; PADDING-TOP: 12px; = BACKGROUND-COLOR: #dddddd } .top-acc > *:first-child { BACKGROUND-COLOR: transparent } .pod-body { _width: 100% } LI.icon { PADDING-LEFT: 20px } .pullout-left .icon-replace { _background-position: top left } .pipe LI .icon-replace { _vertical-align: bottom } [className~=3Dpipe] > LI > .icon-replace { VERTICAL-ALIGN: bottom } .pipe LI A.icon { BACKGROUND-POSITION: 5px center; PADDING-LEFT: 25px } .tabChiclet A.icon { BACKGROUND-POSITION: 10px center; PADDING-LEFT: 30px } .boxed A.icon { BACKGROUND-POSITION: 10px center; PADDING-LEFT: 30px } TD.icon { BACKGROUND-POSITION: 13px center; PADDING-LEFT: 33px } BODY:unknown .menu LI A.icon { VERTICAL-ALIGN: baseline } #L1C1 .columns-2-Abb-bb .p1 .pod-body LI.icon { _position: relative } :unknown .L3 EMBED { MARGIN-TOP: -8px } .side-menu { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px } HTML[lang=3Dja] .side-menu { FONT-SIZE: 1em } HTML.ja .side-menu { FONT-SIZE: 1em } .side-menu DT { BORDER-TOP: #cbcbcb 1px solid; MARGIN: 10px 0px 4px; TEXT-TRANSFORM: = uppercase; COLOR: #111111; LINE-HEIGHT: 1.25; PADDING-TOP: 4px } .side-menu DD { MARGIN: 4px 0px; TEXT-TRANSFORM: none } .side-menu DL.treelist DT { BORDER-TOP-STYLE: none; PADDING-TOP: 1px } .L3#layoutLogic H1 { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 2em; = BACKGROUND: none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; = MARGIN: 1em 0px 0.5em; COLOR: #000; PADDING-TOP: 0px; POSITION: static; = TOP: 0px; HEIGHT: auto } .p0 H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; MIN-HEIGHT: = 1em; PADDING-BOTTOM: 4px; MARGIN: 0px 0px 0.85em; TEXT-TRANSFORM: = uppercase; COLOR: #222222; PADDING-TOP: 4px; BORDER-BOTTOM: #cbcbcb 3px = solid } #content-body H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; MIN-HEIGHT: = 1em; PADDING-BOTTOM: 4px; MARGIN: 0px 0px 0.85em; TEXT-TRANSFORM: = uppercase; COLOR: #222222; PADDING-TOP: 4px; BORDER-BOTTOM: #cbcbcb 3px = solid } #iframeContent H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; MIN-HEIGHT: = 1em; PADDING-BOTTOM: 4px; MARGIN: 0px 0px 0.85em; TEXT-TRANSFORM: = uppercase; COLOR: #222222; PADDING-TOP: 4px; BORDER-BOTTOM: #cbcbcb 3px = solid } HTML[lang=3Dja] .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML[lang=3Dzh] .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML[lang=3Dja] #iframeContent H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML[lang=3Dzh] .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML[lang=3Dzh] #iframeContent H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML[lang=3Dko] .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML[lang=3Dko] #iframeContent H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML.ja .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML.ja #iframeContent H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML.zh .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML.zh #iframeContent H3 HTML.ko .p0 H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } HTML.ko #iframeContent H3 { FONT-SIZE: 1em; TEXT-TRANSFORM: none } .p0 H3 A { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 4px; MARGIN: -4px 0px; PADDING-TOP: 4px } .p0 H3 A:hover { BACKGROUND-COLOR: #eeeeee; TEXT-DECORATION: none } .p1 H3 { BORDER-BOTTOM-STYLE: none } .frame H3 { BORDER-BOTTOM-STYLE: none } #iframeContent .p1-top .p1-first-child { PADDING-RIGHT: 9px; PADDING-LEFT: 9px; LEFT: 0px; PADDING-BOTTOM: = 0.2em; MARGIN: 0px -9px; COLOR: #fff; PADDING-TOP: 0.2em; = BACKGROUND-COLOR: #777 } .p1-top H3.p1-first-child { PADDING-RIGHT: 9px; PADDING-LEFT: 9px; LEFT: 0px; PADDING-BOTTOM: = 0.2em; MARGIN: 0px -9px; COLOR: #fff; PADDING-TOP: 0.2em; = BACKGROUND-COLOR: #777 } #iframeContent .p1-top .pod-body > *:first-child { PADDING-RIGHT: 9px; PADDING-LEFT: 9px; MARGIN-LEFT: -9px; COLOR: #fff; = MARGIN-RIGHT: -9px; BACKGROUND-COLOR: #777 } .p0 .portal-features H3 { FONT-SIZE: 1.2em; BACKGROUND-COLOR: transparent } .p0 .portal-features H4 { FONT-SIZE: 1.2em; BACKGROUND-COLOR: transparent } .p2 H3 { COLOR: #111111 } BLOCKQUOTE.pullquote P { FONT-SIZE: 1.4em; MARGIN-BOTTOM: 0.5em } BLOCKQUOTE ADDRESS { MARGIN-TOP: 0.25em; FONT-SIZE: 0.91em; LINE-HEIGHT: 1.35 } BLOCKQUOTE CITE { MARGIN-TOP: 0.25em; FONT-SIZE: 0.91em; LINE-HEIGHT: 1.35 } BLOCKQUOTE.pullquote CITE { FONT-WEIGHT: bold } BLOCKQUOTE CITE { FONT-WEIGHT: bold } BLOCKQUOTE.pullquote CITE { DISPLAY: block; FONT-SIZE: 0.91em; MARGIN-LEFT: 1em; COLOR: #999 } BLOCKQUOTE.pullquote SPAN.author { MARGIN-LEFT: -1em; COLOR: #333333 } .page DT { FONT-WEIGHT: normal } .tags LI A { FONT-WEIGHT: bold; FONT-SIZE: 1.15em } .tags LI A.disabled { FONT-SIZE: 1em } .ratings A { FONT-WEIGHT: bold } .rating .note { FONT-WEIGHT: normal } #fma H2 { FONT-SIZE: 1.55em } #static-messaging H2 { FONT-WEIGHT: bold; FONT-SIZE: 1.2em } .nav-up A { DISPLAY: block; RIGHT: 0px; OVERFLOW: hidden; WIDTH: 16px; TEXT-INDENT: = -1999px; POSITION: absolute; TOP: 0px; HEIGHT: 16px } .nav-up A:hover { BACKGROUND-COLOR: transparent } .meta DT { FLOAT: left; MARGIN: 0px } .meta DD { FLOAT: left; MARGIN: 0px } .meta DT { CLEAR: both; WIDTH: 30% } .meta DD { WIDTH: 68%; WHITE-SPACE: normal } DIV.h-nav P { FLOAT: right; MARGIN: 0px } DIV.h-nav H3 { PADDING-RIGHT: 0px; DISPLAY: inline-block; PADDING-LEFT: 0px; FLOAT: = left; PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: 1.35; PADDING-TOP: = 0px; BORDER-BOTTOM-STYLE: none } .h-nav .menu { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 0px; MARGIN: 0px 0px 0px 2ex; WIDTH: auto; PADDING-TOP: 0px } FORM.pod-body { MARGIN-BOTTOM: 0px } .left-wrap LI { LIST-STYLE-POSITION: inside } .left-wrap .link-list LI { LIST-STYLE-POSITION: outside } .error .caption { COLOR: #cc0001 } H1.clip-bottom { _behavior: url(/lib/com.adobe/evaluateCss.htc); htc-method: "$next = >$addStyleToNode[marginTop -10px]" } H1.clip-bottom + * { MARGIN-TOP: -10px } .p2 .hr { HEIGHT: 1px } #depthpath { PADDING-LEFT: 0px; Z-INDEX: 1; MIN-HEIGHT: 10px; LEFT: 16px; MARGIN: = 0px; POSITION: absolute; TOP: -66px; _top: -70px } #depthpath LI { FONT-SIZE: 0.91em } HTML[lang=3Dzh] #depthpath LI { FONT-SIZE: 1em } HTML.zh #depthpath LI { FONT-SIZE: 1em } #depthpath * { LINE-HEIGHT: 1.3 } #depthpath { COLOR: #999; TEXT-DECORATION: none } #depthpath A { COLOR: #999; TEXT-DECORATION: none } #depthpath A:visited { COLOR: #999; TEXT-DECORATION: none } #depthpath A:hover { COLOR: #ddd; BACKGROUND-COLOR: #000 } H1 { PADDING-RIGHT: 120px; BACKGROUND-POSITION: right top; DISPLAY: = inline-block; PADDING-LEFT: 16px; LEFT: 0px; BACKGROUND-IMAGE: = url(theme/footer_dropshadow.png); PADDING-BOTTOM: 12px; MARGIN: 0px 0px = -1em; COLOR: #ffffff; PADDING-TOP: 37px; BACKGROUND-REPEAT: repeat-y; = POSITION: absolute; TOP: -79px; HEIGHT: 30px; _height: 80px; = _background-image: url(theme/footer_dropshadow_8bit.png); _top: -80px } .h-nav { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0.1em; MARGIN: = 0px -8px 0.85em; PADDING-TOP: 0.1em; POSITION: relative; = BACKGROUND-COLOR: #ececec } #globalnav-search { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #globalnav { PADDING-RIGHT: 300px; DISPLAY: block; PADDING-LEFT: 4px; Z-INDEX: 100; = LEFT: 0px; PADDING-BOTTOM: 16px; MARGIN: 0px; PADDING-TOP: 0px; = POSITION: relative; TOP: 0px; _height: 1em } #globalnav-noscript { PADDING-RIGHT: 5px; DISPLAY: none; PADDING-LEFT: 27px; FONT-SIZE: = 0.91em; Z-INDEX: 100; LEFT: 50%; PADDING-BOTTOM: 5px; MARGIN-LEFT: = -331px; WIDTH: 350px; PADDING-TOP: 5px; POSITION: absolute; TOP: 0px } #globalnav #adobe-logo { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 9; LEFT: 100%; = PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px -43px; PADDING-TOP: 0px; = POSITION: absolute; TOP: 0px } #adobe-logo { WIDTH: 43px; HEIGHT: 52px } #adobe-logo IMG { WIDTH: 43px } BODY:unknown [id=3Dadobe-logo] IMG { WIDTH: 0px; HEIGHT: 0px } BODY:unknown #adobe-logo A:unknown { content: url(gnav/adobe-lq.png) } #adobe-logo IMG { FILTER: Blur(Add =3D 1, Strength =3D 2) Blur(Add =3D 1, Direction =3D = 90, Strength =3D 5); WIDTH: auto; ZOOM: 20%; HEIGHT: auto; _height: = auto; _width: auto } #globalnav-cart .cart { BACKGROUND-POSITION: center 0px; MIN-HEIGHT: 11px; BACKGROUND-IMAGE: = url(gnav/cart_dark.gif); COLOR: transparent; HEIGHT: 11px; _display: = inline } #globalnav-cart > A.cart { DISPLAY: block } #globalnav-cart .cart:hover { BACKGROUND-POSITION: center -11px; COLOR: transparent } #globalnav #user-menu { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.91em; LEFT: 0px; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative; = TOP: 0px } #user-menu UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; COLOR: #000; PADDING-TOP: 5px } #user-menu LI { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 3px; MARGIN: = 0px; PADDING-TOP: 3px } #user-menu A { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-WEIGHT: = bold; PADDING-BOTTOM: 0px; COLOR: #000; PADDING-TOP: 0px; -moz-opacity: = .5; -khtml-opacity: .5; opacity: .5; _font-weight: normal } #user-menu A:hover { COLOR: #047; TEXT-DECORATION: underline; -moz-opacity: 1; = -khtml-opacity: 1; opacity: 100% } #user-menu [className~=3Dpipe] A { FONT-WEIGHT: normal } #site-menu { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 2; PADDING-BOTTOM: 0px; = MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 3px; POSITION: relative } #globalnav #site-menu-dropdown { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; Z-INDEX: 3; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative; = _behavior: url(/lib/com.adobe/hover.htc) } #site-menu-dropdown LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 4; PADDING-BOTTOM: 0px; = MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative } #site-menu-dropdown LI:hover { Z-INDEX: 5 } #site-menu-dropdown LI.hover { Z-INDEX: 5 } #site-menu-dropdown .dropdown-tab { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; FONT-WEIGHT: bold; Z-INDEX: 6; = PADDING-BOTTOM: 5px; COLOR: #333; PADDING-TOP: 5px; FONT-FAMILY: Arial, = Helvetica, sans-serif; WHITE-SPACE: nowrap; POSITION: relative; = _white-space: nowrap } #site-menu-dropdown > LI:hover .dropdown-tab { COLOR: #ffffff; BACKGROUND-COLOR: #222222 } #site-menu LI.hover .dropdown-tab { COLOR: #fff } #site-menu LI.hover .dropdown-tab:hover { COLOR: #fff } #site-menu LI.hover .dropdown-tab { BACKGROUND-COLOR: #222 } #site-menu LI .dropdown-pane { DISPLAY: none } #site-menu-dropdown > LI:hover .dropdown-pane { DISPLAY: block } #site-menu LI.hover .dropdown-pane { DISPLAY: block } #site-menu-dropdown .dropdown-pane { FONT-SIZE: 0.91em; Z-INDEX: 7; MARGIN-LEFT: -6px; TOP: 21px; _top: 24px } #globalnav #site-menu-dropdown .dropdown-pane { PADDING-RIGHT: 16px; BACKGROUND-POSITION: left bottom; MARGIN-TOP: = 12px; PADDING-LEFT: 16px; BACKGROUND-IMAGE: url(gnav/dropdown_pane.png); = PADDING-BOTTOM: 14px; WIDTH: 140px; BORDER-TOP-STYLE: none; PADDING-TOP: = 5px; BACKGROUND-REPEAT: no-repeat; _margin-top: 0; _width: 170px; = _background-image: url(gnav/dropdown_pane_8bit.png) } #adcnav #site-menu-dropdown .dropdown-pane { PADDING-RIGHT: 16px; BACKGROUND-POSITION: left bottom; MARGIN-TOP: = 12px; PADDING-LEFT: 16px; BACKGROUND-IMAGE: url(gnav/dropdown_pane.png); = PADDING-BOTTOM: 14px; WIDTH: 140px; BORDER-TOP-STYLE: none; PADDING-TOP: = 5px; BACKGROUND-REPEAT: no-repeat; _margin-top: 0; _width: 170px; = _background-image: url(gnav/dropdown_pane_8bit.png) } #globalnav #site-menu-dropdown [className~=3Ddropdown-pane] { MARGIN-TOP: 4px; PADDING-TOP: 8px } #site-menu-dropdown .dropdown-pane:unknown { MARGIN-TOP: -18px; DISPLAY: block; MARGIN-LEFT: -16px; content: = url(gnav/dropdown_pane_cap.png) } #site-menu-dropdown .dropdown-pane LI { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 2px 0px 6px; PADDING-TOP: 0px } #site-menu-dropdown .dropdown-pane DT { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 2px 0px 6px; PADDING-TOP: 0px } #site-menu-dropdown .dropdown-pane DD { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 2px 0px 6px; PADDING-TOP: 0px } #site-menu-dropdown .dropdown-pane DT { TEXT-TRANSFORM: uppercase; COLOR: #000000 } #site-menu-dropdown .dropdown-pane .divide { PADDING-TOP: 8px } #site-menu-dropdown .dropdown-pane .last-title { FONT-WEIGHT: normal; TEXT-TRANSFORM: none } #site-menu-dropdown .dropdown-pane A { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; COLOR: #333; LINE-HEIGHT: 14px; PADDING-TOP: 0px; = _width: 100% } #site-menu-dropdown .dropdown-pane A:hover { COLOR: #047; TEXT-DECORATION: underline } #globalnav #site-search { PADDING-RIGHT: 0px; BACKGROUND-POSITION: right bottom; PADDING-LEFT: = 0px; Z-INDEX: 1; LEFT: 100%; BACKGROUND-IMAGE: url(gnav/search_box.png); = PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px -300px; WIDTH: 300px; = PADDING-TOP: 0px; BACKGROUND-REPEAT: no-repeat; POSITION: absolute; TOP: = 0px; HEIGHT: 63px; _background-image: url(gnav/search_box_8bit.png) } #adcnav { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; Z-INDEX: 100; = LEFT: 0px; PADDING-BOTTOM: 25px; MARGIN: 0px; PADDING-TOP: 0px; = POSITION: relative; TOP: 0px; _height: 1em } #adcnav #adc-search { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 1; LEFT: 100%; = PADDING-BOTTOM: 0px; MARGIN: -25px 0px 0px -225px; WIDTH: 300px; = PADDING-TOP: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 63px; _margin: = -25px 0 0 -226px } #globalnav .devnet-site-search#site-search { _margin: 0 0 0 -256px } #search-input { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: = #cccccc 1px solid; MARGIN-TOP: 16px; PADDING-LEFT: 2px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN-LEFT: 16px; BORDER-LEFT: #cccccc 1px solid; = WIDTH: 198px; LINE-HEIGHT: 1; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc = 1px solid; HEIGHT: 14px; BACKGROUND-COLOR: transparent; _height: 18px; = -moz-box-sizing: content-box; _width: 204px; _padding-right: 18px } #devnet-search-input { BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: = #cccccc 1px solid; MARGIN-TOP: 16px; PADDING-LEFT: 2px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN-LEFT: 16px; BORDER-LEFT: #cccccc 1px solid; = WIDTH: 172px; LINE-HEIGHT: 1; PADDING-TOP: 2px; BORDER-BOTTOM: #cccccc = 1px solid; HEIGHT: 14px; BACKGROUND-COLOR: transparent; _height: 18px; = -moz-box-sizing: content-box; _width: 177px } #search-input:focus { BORDER-LEFT-COLOR: #adadad; BORDER-BOTTOM-COLOR: #adadad; = BORDER-TOP-COLOR: #adadad; BORDER-RIGHT-COLOR: #adadad } #devnet-search-input:focus { BORDER-LEFT-COLOR: #adadad; BORDER-BOTTOM-COLOR: #adadad; = BORDER-TOP-COLOR: #adadad; BORDER-RIGHT-COLOR: #adadad } #search-input:hover { BORDER-LEFT-COLOR: #adadad; BORDER-BOTTOM-COLOR: #adadad; = BORDER-TOP-COLOR: #adadad; BORDER-RIGHT-COLOR: #adadad } #devnet-search-input:hover { BORDER-LEFT-COLOR: #adadad; BORDER-BOTTOM-COLOR: #adadad; = BORDER-TOP-COLOR: #adadad; BORDER-RIGHT-COLOR: #adadad } BODY:unknown #search-input { PADDING-RIGHT: 16px; WIDTH: 188px } #site-search .search { LEFT: 219px; BACKGROUND-IMAGE: url(gnav/search_button_18x18.png); = WIDTH: 18px; CURSOR: pointer; POSITION: absolute; TOP: 16px; HEIGHT: = 18px; _cursor: hand } #adc-search .search { LEFT: 192px; BACKGROUND-IMAGE: url(gnav/search_button_18x18.png); = WIDTH: 18px; CURSOR: pointer; POSITION: absolute; TOP: 16px; HEIGHT: = 18px; _cursor: hand } BODY:unknown #site-search .search { LEFT: 208px; WIDTH: 16px; TOP: 17px; HEIGHT: 16px } #globalfooter { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 22px; BACKGROUND-POSITION: right = top; PADDING-LEFT: 16px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 0.91em; = LEFT: 0px; BACKGROUND-IMAGE: url(theme/footer_dropshadow.png); = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 10px; MARGIN: 0px; WIDTH: = 727px; COLOR: #999; PADDING-TOP: 10px; BACKGROUND-REPEAT: repeat-y; = POSITION: relative; TOP: 0px; BORDER-RIGHT-WIDTH: 0px; _margin-bottom: = -15px; _width: 764px; _background-image: = url(theme/footer_dropshadow_8bit.png) } HTML[lang=3Dzh] #globalfooter { FONT-SIZE: 100% } HTML.zh #globalfooter { FONT-SIZE: 100% } #privacy { FONT-SIZE: 1em; LINE-HEIGHT: 1.3 } #copyright { FONT-SIZE: 1em; LINE-HEIGHT: 1.3 } #terms { FONT-SIZE: 1em; LINE-HEIGHT: 1.3 } #searchengine { FONT-SIZE: 1em; LINE-HEIGHT: 1.3 } #privacy { MARGIN-BOTTOM: 0.5em } #terms { MARGIN-BOTTOM: 0.5em } #terms { MARGIN-TOP: 0px } #copyright { MARGIN-BOTTOM: 0px } #globalfooter .menu { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 10px; PADDING-TOP: 0px } #globalfooter .menu LI { LINE-HEIGHT: 1.3 } #globalfooter .menu A { LINE-HEIGHT: 1.3 } #globalfooter .menu A { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 4px; = PADDING-TOP: 4px } .googlelogo { BACKGROUND-IMAGE: url(gnav/google.gif); WIDTH: 37px; POSITION: = relative; TOP: 0.5ex; HEIGHT: 12px } #globalfooter A { COLOR: #bbb; TEXT-DECORATION: none } #globalfooter A:hover { COLOR: #bbb; TEXT-DECORATION: none } #globalfooter A:visited { COLOR: #bbb; TEXT-DECORATION: none } #globalfooter A:hover { COLOR: #ddd; BACKGROUND-COLOR: #000000 } .d-dropdown { Z-INDEX: 2; POSITION: relative; _behavior: = url("/lib/com.adobe/hover.htc") } .d-dropdown > LI { Z-INDEX: 2; LEFT: 0px; POSITION: relative; TOP: 0px } .d-dropdown LI { LIST-STYLE-TYPE: none; _position: relative; _left: 0; _top: 0 } .d-dropdown LI LI { _position: static } .d-dropdown .dropdown-pane { MARGIN-TOP: 0px; DISPLAY: none; Z-INDEX: 2; LEFT: 0px; POSITION: = absolute; TOP: 16px } .d-dropdown LI.hover .dropdown-pane { DISPLAY: block } .d-dropdown LI.focus .dropdown-pane { DISPLAY: block } .d-dropdown > LI:hover .dropdown-pane { DISPLAY: block } .d-dropdown .dropdown-tab { DISPLAY: block; _display: inline; _zoom: 1 } .d-dropdown .dropdown-pane > * { MARGIN: 0px } .d-dropdown .dropdown-pane DT { _margin: 0 } .d-dropdown .dropdown-pane DD { _margin: 0 } .d-dropdown .dropdown-pane LI { _margin: 0 } .d-dropdown .dropdown-pane A { MARGIN: 0px 1px; -moz-outline: none } .d-dropdown .dropdown-tab { MIN-HEIGHT: 16px; _height: 16px } ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://wwwimages.adobe.com/www.adobe.com/lib/com.adobe/template/print.css * { BEHAVIOR: none } HTML { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } OL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } DL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } DT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } DD { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } H3 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } H4 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } H5 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } H6 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; POSITION: static } HTML { COLOR: #000000; BACKGROUND-COLOR: #ffffff } TABLE { BORDER-COLLAPSE: collapse; border-spacing: 0 } A { COLOR: #000000; TEXT-DECORATION: none; _color: #000000 } A IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } UL { LIST-STYLE-TYPE: none } OL { LIST-STYLE-TYPE: none } BR.clear-both { DISPLAY: block; FONT: 1px/1px monospace } DIV.clear-both { DISPLAY: block; FONT: 1px/1px monospace } BR.clear-left { DISPLAY: block; FONT: 1px/1px monospace } DIV.clear-left { DISPLAY: block; FONT: 1px/1px monospace } .clear-both { CLEAR: both } .clear-left { CLEAR: left } .clear-after:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .clear-after { MIN-HEIGHT: 1px; _height: 1em } PRE { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1.5ex; BORDER-TOP: #ccc = 1px solid; DISPLAY: block; PADDING-LEFT: 1.5ex; OVERFLOW-X: auto; = PADDING-BOTTOM: 1.5em; MARGIN: 1em 0px; BORDER-LEFT: #ccc 1px solid; = PADDING-TOP: 1em; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: pre; = BACKGROUND-COLOR: #f0f6fc; _width: 100% } blockcode { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1.5ex; BORDER-TOP: #ccc = 1px solid; DISPLAY: block; PADDING-LEFT: 1.5ex; OVERFLOW-X: auto; = PADDING-BOTTOM: 1.5em; MARGIN: 1em 0px; BORDER-LEFT: #ccc 1px solid; = PADDING-TOP: 1em; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: pre; = BACKGROUND-COLOR: #f0f6fc; _width: 100% } HTML > BODY PRE { OVERFLOW: auto } blockcode { OVERFLOW: auto } PRE STRONG { FONT-WEIGHT: normal; BACKGROUND-COLOR: #f9f9b7 } blockcode STRONG { FONT-WEIGHT: normal; BACKGROUND-COLOR: #f9f9b7 } .css-comment { COLOR: #999 } .css-import { COLOR: #099 } .css-important { COLOR: #f00 } .css-media { COLOR: #900 } .css-property { COLOR: #009 } .css-selector { COLOR: #f0f } .css-string { COLOR: #060 } .css-value { COLOR: #00f } .css-display { COLOR: #990099 } .compact > * { FLOAT: left } .compact:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .compact { MIN-HEIGHT: 1px; _height: 1em } .compact { PADDING-BOTTOM: 1px; _behavior: = url(/lib/com.adobe/remedy/compactWsFix.htc) } .compact > P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 0px; MARGIN-RIGHT: 1ex; PADDING-TOP: 0px } .compact > SPAN { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; = PADDING-BOTTOM: 0px; MARGIN-RIGHT: 1ex; PADDING-TOP: 0px } DL.compact > DD { MARGIN-LEFT: 0px } UL.compact LI { _display: inline; _float: left } OL.compact LI { _display: inline; _float: left } DL.compact DD { _display: inline; _float: left } DIV.compact P { _display: inline; _float: left } DL.compact * DD OL.compact * LI { _display: block; _float: none } UL.compact * LI { _display: block; _float: none } DIV.compact * P { _display: block; _float: none } DL.compact DD { _margin-left: 0 } DIV.compact P { _margin-right: 1ex; _margin-bottom: 0; _padding: 0 } H3.compact SPAN { _float: left; _margin-right: 1ex } H4.compact SPAN { _float: left; _margin-right: 1ex } H3.compact SPAN SPAN { _float: none; _margin-right: 0 } H4.compact SPAN SPAN { _float: none; _margin-right: 0 } .formBlock { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 12px; PADDING-TOP: = 12px } .inputBlock { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } .inputBlock P { MARGIN-BOTTOM: 6px } .inputBlock DT { MARGIN-TOP: 0px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 6px } .inputBlock DD { MARGIN-BOTTOM: 6px; MARGIN-LEFT: 0px } .inputBlock .inputGroup { MARGIN-LEFT: 0px } .inputGroup { MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 6px; = LIST-STYLE-TYPE: none } .inputGroup LI { PADDING-RIGHT: 1ex; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px } .inputGroup .left { FONT-WEIGHT: normal } .inputGroup .caption { MARGIN-TOP: 0.25em; MARGIN-BOTTOM: 0px } .pullout-left > * > .inputGroup { MARGIN-BOTTOM: 0px } .buttonBlock { DISPLAY: block } DIV.buttonBlock { MARGIN-TOP: 2em; MARGIN-BOTTOM: 0px } SPAN.buttonBlock { MARGIN-TOP: 1em } INPUT { VERTICAL-ALIGN: middle } BUTTON { VERTICAL-ALIGN: middle } SELECT { VERTICAL-ALIGN: middle } LABEL.top { DISPLAY: block; FONT-WEIGHT: bold; MARGIN-BOTTOM: 6px } LABEL.left { DISPLAY: inline-block; FONT-WEIGHT: bold; VERTICAL-ALIGN: middle; = MARGIN-RIGHT: 1ex; _height: 1em } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; PADDING-BOTTOM: = 0px; MARGIN: 0px 0px 1em; PADDING-TOP: 0px; FONT-FAMILY: inherit } .disabled { FILTER: alpha(opacity=3D50); ZOOM: 100%; _height: 1em; -moz-opacity: = 0.5; -khtml-opacity: 0.5; opacity: 0.5 } .required { COLOR: #c00 } .button { BORDER-RIGHT: #acb5b5 1px solid; PADDING-RIGHT: 1.5ex; BORDER-TOP: = #c4cccc 1px solid; PADDING-LEFT: 1.5ex; FONT-WEIGHT: bold; BACKGROUND: = url(form/element_bg.gif) #fefefe repeat-x; FILTER: = progid:DXImageTransform.Microsoft.dropshadow(OffX=3D0, OffY=3D1, = Color=3D#AAAAAA); PADDING-BOTTOM: 0.2em; OVERFLOW: visible; BORDER-LEFT: = #acb5b5 1px solid; CURSOR: pointer; COLOR: #2b333c; PADDING-TOP: 0.2em; = BORDER-BOTTOM: #6f7777 1px solid; FONT-FAMILY: inherit; TEXT-ALIGN: = center; _padding: .2em 2ex; _width: 1px; -webkit-box-shadow: 0 1px 2px = rgba(0, 0, 0, 0.3); box-shadow: 0 1px 2px #AAA; _white-space: nowrap; = _cursor: hand } .button:visited { COLOR: #2b333c } .button { =09 } * + .button { MARGIN-LEFT: 1ex } :unknown INPUT.button { =09 } A.button { WHITE-SPACE: nowrap; TEXT-DECORATION: none } .inputBlock .caption { MARGIN-TOP: 0.2em; DISPLAY: block } INPUT { FONT-SIZE: 100%; FONT-FAMILY: inherit } SELECT { FONT-SIZE: 100%; FONT-FAMILY: inherit } TEXTAREA { FONT-SIZE: 100%; FONT-FAMILY: inherit } BUTTON { FONT-SIZE: 100%; FONT-FAMILY: inherit } .textfield { _height: 1.85em } .textfield { BORDER-RIGHT: #aab3b3 thin solid; BORDER-TOP: #999 thin solid; = PADDING-BOTTOM: 3px; BORDER-LEFT: #aab3b3 thin solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #d5dddd thin solid; BACKGROUND-COLOR: #f7f7f7 } TEXTAREA { BORDER-RIGHT: #aab3b3 thin solid; BORDER-TOP: #999 thin solid; = PADDING-BOTTOM: 3px; BORDER-LEFT: #aab3b3 thin solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #d5dddd thin solid; BACKGROUND-COLOR: #f7f7f7 } SELECT[size] { BORDER-RIGHT: #aab3b3 thin solid; BORDER-TOP: #999 thin solid; = PADDING-BOTTOM: 3px; BORDER-LEFT: #aab3b3 thin solid; PADDING-TOP: 2px; = BORDER-BOTTOM: #d5dddd thin solid; BACKGROUND-COLOR: #f7f7f7 } SELECT { BORDER-RIGHT: #acb5b5 thin solid; BORDER-TOP: #c4cccc thin solid; = BORDER-LEFT: #acb5b5 thin solid; LINE-HEIGHT: 1.15em; BORDER-BOTTOM: = #6f7777 thin solid; BACKGROUND-COLOR: #fefefe } SELECT OPTION { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } SELECT[size] { BACKGROUND-COLOR: #fff! important } .textfield:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } .textfield:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } SELECT[size]:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } SELECT[size]:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } TEXTAREA:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } TEXTAREA:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #6d5; BORDER-TOP-COLOR: = #459455; BORDER-RIGHT-COLOR: #5b5 } SELECT:hover { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #459455; = BORDER-TOP-COLOR: #6d5; BORDER-RIGHT-COLOR: #5b5 } SELECT:focus { BORDER-LEFT-COLOR: #5b5; BORDER-BOTTOM-COLOR: #459455; = BORDER-TOP-COLOR: #6d5; BORDER-RIGHT-COLOR: #5b5 } .textfield:focus { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } SELECT:focus { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } TEXTAREA:focus { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } .button:hover { BACKGROUND-COLOR: #fff; outline: #D6FFC9 solid 1px } .button:hover { TEXT-DECORATION: none; outline-width: 2px } :unknown .button > * { POSITION: relative } P.pullout-item IMG { MARGIN-RIGHT: 0px } .pullout-left { _height: 1em } .pullout-right { _height: 1em } [className~=3Dpullout-left] { DISPLAY: inline-block; MARGIN-LEFT: 0px } .pullout-left:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .pullout-right:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .pullout-item { OVERFLOW: hidden; _height: 100% } .left-wrap .pullout-item { _height: auto } .right-wrap .pullout-item { _height: auto } .right-wrap .pullout-item { CLEAR: right } .left-wrap .pullout-item { CLEAR: left } .pullout-left .pullout-item { FLOAT: left; MARGIN-LEFT: 0px! important; _margin-right: 6px } .pullout-right .pullout-item { FLOAT: right; MARGIN-RIGHT: 0px! important; _margin-left: 6px } DIV.left-wrap > .pullout-item { MARGIN-RIGHT: 10px } .pullout-left > SPAN { DISPLAY: block } *.pullout-left SPAN { _display: block } *.pullout-left *.pullout-left SPAN { _display: block } *.pullout-left *.pullout-left * SPAN { _display: inline } *.pullout-left * SPAN { _display: inline } DIV.right-wrap > .pullout-item { MARGIN-LEFT: 10px } A.pullout-left { DISPLAY: block; _cursor: hand } A.pullout-right { DISPLAY: block; _cursor: hand } DIV.pullout-wrap > * { MARGIN-LEFT: 0px } DIV.left-wrap > .pullout-item { MARGIN-RIGHT: 10px } DIV.right-wrap > .pullout-item { MARGIN-LEFT: 10px } .left-180 .pullout-item { WIDTH: 180px } .right-180 .pullout-item { WIDTH: 180px } .left-155 .pullout-item { WIDTH: 155px } .right-155 .pullout-item { WIDTH: 155px } .left-140 .pullout-item { WIDTH: 140px } .right-140 .pullout-item { WIDTH: 140px } .left-125 .pullout-item { WIDTH: 125px } .right-125 .pullout-item { WIDTH: 125px } .left-112 .pullout-item { WIDTH: 112px } .right-112 .pullout-item { WIDTH: 112px } .left-100 .pullout-item { WIDTH: 100px } .right-100 .pullout-item { WIDTH: 100px } .left-90 .pullout-item { WIDTH: 90px } .right-90 .pullout-item { WIDTH: 90px } .left-80 .pullout-item { WIDTH: 80px } .right-80 .pullout-item { WIDTH: 80px } .left-72 .pullout-item { WIDTH: 72px } .right-72 .pullout-item { WIDTH: 72px } .left-71 .pullout-item { WIDTH: 71px } .right-71 .pullout-item { WIDTH: 71px } .left-51 .pullout-item { WIDTH: 51px } .right-51 .pullout-item { WIDTH: 51px } .left-60 .pullout-item { WIDTH: 60px } .right-60 .pullout-item { WIDTH: 60px } .left-50 .pullout-item { WIDTH: 50px } .right-50 .pullout-item { WIDTH: 50px } .left-40 .pullout-item { WIDTH: 40px } .right-40 .pullout-item { WIDTH: 40px } .left-20 .pullout-item { WIDTH: 20px } .right-20 .pullout-item { WIDTH: 20px } .left-16 .pullout-item { WIDTH: 16px } .right-16 .pullout-item { WIDTH: 16px } .left-16 .pullout-item { MARGIN-RIGHT: 0px } .right-16 .pullout-item { MARGIN-LEFT: 0px } .left-180 > * { MARGIN-LEFT: 190px! important } .right-180 > * { MARGIN-RIGHT: 190px! important } .left-155 > * { MARGIN-LEFT: 165px! important } .right-155 > * { MARGIN-RIGHT: 165px! important } .left-140 > * { MARGIN-LEFT: 150px! important } .right-140 > * { MARGIN-RIGHT: 150px! important } .left-125 > * { MARGIN-LEFT: 135px! important } .right-125 > * { MARGIN-RIGHT: 135px! important } .left-112 > * { MARGIN-LEFT: 122px! important } .right-112 > * { MARGIN-RIGHT: 122px! important } .left-100 > * { MARGIN-LEFT: 110px! important } .right-100 > * { MARGIN-RIGHT: 110px! important } .left-90 > * { MARGIN-LEFT: 100px! important } .right-90 > * { MARGIN-RIGHT: 100px! important } .left-80 > * { MARGIN-LEFT: 90px! important } .right-80 > * { MARGIN-RIGHT: 90px! important } .left-72 > * { MARGIN-LEFT: 82px! important } .right-72 > * { MARGIN-RIGHT: 82px! important } .left-71 > * { MARGIN-LEFT: 81px! important } .right-71 > * { MARGIN-RIGHT: 81px! important } .left-60 > * { MARGIN-LEFT: 70px! important } .right-60 > * { MARGIN-RIGHT: 70px! important } .left-50 > * { MARGIN-LEFT: 60px! important } .right-50 > * { MARGIN-RIGHT: 60px! important } .left-51 > * { MARGIN-LEFT: 61px! important } .right-51 > * { MARGIN-RIGHT: 61px! important } .left-40 > * { MARGIN-LEFT: 50px! important } .right-40 > * { MARGIN-RIGHT: 50px! important } .left-20 > * { MARGIN-LEFT: 28px! important } .right-20 > * { MARGIN-RIGHT: 28px! important } .left-16 > * { MARGIN-LEFT: 20px! important } .right-16 > * { MARGIN-RIGHT: 20px! important } .columns-4-ABCD-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-4-ABCD-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-4-ABCD-C { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABC-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABC-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABcc-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-ABcc-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBC-aa { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBC-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBcc-aa { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-3-aaBcc-B { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-2-aaB-aa { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-2-Abb-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-2-AB-A { FLOAT: left; MARGIN-BOTTOM: 0.5em } .columns-4-ABCD-D { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-ABC-C { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-ABcc-cc { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-aaBcc-cc { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-3-aaBC-C { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-Abb-bb { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-aaB-B { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-AB-B { FLOAT: right; MARGIN-BOTTOM: 0.5em } .columns-2-AB-A { WIDTH: 48% } .columns-2-AB-B { WIDTH: 48% } .columns-2-Abb-A { WIDTH: 64% } .columns-2-aaB-B { WIDTH: 64% } .columns-2-Abb-bb { WIDTH: 32% } .columns-2-aaB-aa { WIDTH: 32% } .columns-3-ABC-A { WIDTH: 30% } .columns-3-ABC-B { WIDTH: 30% } .columns-3-ABC-C { WIDTH: 30% } .columns-3-ABC-B { MARGIN-LEFT: 5% } :unknown .columns-3-ABC-B { LEFT: 1px; POSITION: relative } :unknown .columns-3-aaBC-B { LEFT: 1px; POSITION: relative } :unknown .columns-3-ABcc-B { LEFT: 1px; POSITION: relative } :unknown .columns-3-aaBcc-B { LEFT: 1px; POSITION: relative } :unknown .columns-4-ABCD-B { LEFT: 1px; POSITION: relative } :unknown .columns-4-ABCD-C { LEFT: 1px; POSITION: relative } .columns-3-ABcc-A { WIDTH: 34% } .columns-3-ABcc-B { WIDTH: 34% } .columns-3-aaBC-B { WIDTH: 34% } .columns-3-aaBC-C { WIDTH: 34% } .columns-3-ABcc-cc { WIDTH: 26% } .columns-3-aaBC-aa { WIDTH: 26% } .columns-3-aaBcc-aa { WIDTH: 26% } .columns-3-aaBcc-cc { WIDTH: 26% } .columns-3-ABcc-B { MARGIN-LEFT: 3% } .columns-3-aaBC-B { MARGIN-LEFT: 3% } .columns-3-aaBcc-B { MARGIN-LEFT: 3% } .columns-3-aaBcc-B { WIDTH: 42% } .columns-4-ABCD-A { WIDTH: 22% } .columns-4-ABCD-B { WIDTH: 22% } .columns-4-ABCD-C { WIDTH: 22% } .columns-4-ABCD-D { WIDTH: 22% } .columns-4-ABCD-B { MARGIN-LEFT: 4% } .columns-4-ABCD-C { MARGIN-LEFT: 4% } UL { WORD-SPACING: -2ex; LINE-HEIGHT: 0; LETTER-SPACING: -2ex } OL { WORD-SPACING: -2ex; LINE-HEIGHT: 0; LETTER-SPACING: -2ex } DL { WORD-SPACING: -2ex; LINE-HEIGHT: 0; LETTER-SPACING: -2ex } DT { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } DD { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } LI { WORD-SPACING: normal; LINE-HEIGHT: 1.25; LETTER-SPACING: normal } OL { FONT-SIZE: 1em } LI { FONT-SIZE: 1em } LI OL { FONT-SIZE: 1em } LI UL { FONT-SIZE: 1em } UL { MARGIN-LEFT: 1ex; LIST-STYLE-TYPE: disc } UL { MARGIN-TOP: 1em; PADDING-LEFT: 2.5ex; MARGIN-BOTTOM: 1.35em } OL { MARGIN-TOP: 1em; PADDING-LEFT: 2.5ex; MARGIN-BOTTOM: 1.35em } LI { PADDING-BOTTOM: 0.5em; LINE-HEIGHT: 1.25em } OL { MARGIN-LEFT: 3ex; OVERFLOW: visible; LIST-STYLE-TYPE: decimal; = _padding-left: 6ex } OL OL { MARGIN-LEFT: 0.5ex; LIST-STYLE-TYPE: lower-alpha; _margin-left: 1.5ex } OL OL OL { LIST-STYLE-TYPE: lower-roman } LI OL { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0.3ex } LI UL { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0.3ex } LI P { MARGIN-BOTTOM: 0.5em } DT { LINE-HEIGHT: 1.5em } DD { LINE-HEIGHT: 1.5em } DT { MARGIN-TOP: 0.5em; FONT-WEIGHT: bold; MARGIN-BOTTOM: 1em } DL { MARGIN-BOTTOM: 1.5em } DD { MARGIN-BOTTOM: 1.5em } DD { MARGIN-LEFT: 16px } .link-list { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; TEXT-ALIGN: left } .link-list > * { MARGIN: 1px 1.5ex 1px 0px; LINE-HEIGHT: 1.33em } .link-list > LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .link-list > DT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .link-list > DD { PADDING-LEFT: 1.25ex } .link-list LI { _padding: 0.15em 0 0.2em } .link-list DT { _padding: 0.15em 0 0.2em } .link-list DD { _padding-left: 1.25ex } .link-list LI { _margin: 1px 1.5ex 1px 0; _line-height: 1.35em } .link-list DT { _margin: 1px 1.5ex 1px 0; _line-height: 1.35em } .link-list DD { _margin: 1px 1.5ex 1px 0; _line-height: 1.35em } .data { FONT-SIZE: 8pt; MIN-HEIGHT: 1pt; MARGIN: 12pt 0px; LINE-HEIGHT: 11pt } .data TABLE { BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 3pt; BORDER-TOP: 1pt solid; = PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; VERTICAL-ALIGN: top; = BORDER-LEFT: 1pt solid; PADDING-TOP: 3pt; BORDER-BOTTOM: 1pt solid; = TEXT-ALIGN: left } .data TH { BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 3pt; BORDER-TOP: 1pt solid; = PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; VERTICAL-ALIGN: top; = BORDER-LEFT: 1pt solid; PADDING-TOP: 3pt; BORDER-BOTTOM: 1pt solid; = TEXT-ALIGN: left } .data TD { BORDER-RIGHT: 1pt solid; PADDING-RIGHT: 3pt; BORDER-TOP: 1pt solid; = PADDING-LEFT: 3pt; PADDING-BOTTOM: 3pt; VERTICAL-ALIGN: top; = BORDER-LEFT: 1pt solid; PADDING-TOP: 3pt; BORDER-BOTTOM: 1pt solid; = TEXT-ALIGN: left } .data TBODY.headerBlock TH { TEXT-ALIGN: center } #site-search { DISPLAY: none } #user-menu { DISPLAY: none } #site-menu { DISPLAY: none } #adobe-logo A:unknown { content: inherit } #globalnav #adobe-logo { TEXT-ALIGN: right } #adobe-logo IMG { WIDTH: 55pt } #adobe-logo IMG { FILTER: Blur(Add =3D 1, Strength =3D 2) Blur(Add =3D 1, Direction =3D = 90, Strength =3D 5); MARGIN-LEFT: -80px; WIDTH: auto; ZOOM: 33%; _width: = auto } #globalfooter { CLEAR: both; MARGIN-TOP: 72pt } #searchengine { DISPLAY: none } #terms { DISPLAY: none } #privacy { DISPLAY: none } #copyright { FONT-SIZE: 6pt; LINE-HEIGHT: 7pt } #copyright A:unknown { content: inherit } .carousel-component UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: = static } .carousel-component LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: = static } .carousel-component LI { BORDER-RIGHT: #c2c2c2 1px solid; PADDING-RIGHT: 16px; BORDER-TOP: = #c2c2c2 1px solid; DISPLAY: block; PADDING-LEFT: 16px; PADDING-BOTTOM: = 16px; BORDER-LEFT: #c2c2c2 1px solid; WIDTH: auto! important; = PADDING-TOP: 16px; BORDER-BOTTOM: #c2c2c2 1px solid; HEIGHT: auto! = important } .carousel-next { DISPLAY: none } .carousel-prev { DISPLAY: none } .carousel-component:unknown { CLEAR: both; DISPLAY: block; HEIGHT: 0px; content: " " } .carousel-component { MARGIN-BOTTOM: 1em; ZOOM: 1; HEIGHT: auto! important } PRE SPAN { WHITE-SPACE: pre } HTML { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } BODY { FONT-SIZE: 10pt; LINE-HEIGHT: 13pt; FONT-FAMILY: Helvetica, Arial, = sans-serif } #layoutLogic { BACKGROUND: none transparent scroll repeat 0% 0%; WIDTH: 100% } #layoutLogic:unknown { content: inherit } #content-body { FLOAT: none; WIDTH: auto! important } #content-pocket { FLOAT: none; WIDTH: auto! important } .menu { DISPLAY: none } .nav-up { DISPLAY: none } .d-dropdown { DISPLAY: none } .no-print { DISPLAY: none } A { FONT-STYLE: italic } H1 A { FONT-STYLE: normal } H2 A { FONT-STYLE: normal } H3 A { FONT-STYLE: normal } H4 A { FONT-STYLE: normal } H5 A { FONT-STYLE: normal } H6 A { FONT-STYLE: normal } DT A { FONT-STYLE: normal } A:unknown { content: " (www.adobe.com"attr(href)") " } A[target]:unknown { content: inherit } A[rel]:unknown { content: inherit } A[name]:unknown { content: inherit } A.button:unknown { content: inherit } DT A:unknown { content: inherit } H1 A:unknown { content: inherit } H2 A:unknown { content: inherit } H3 A:unknown { content: inherit } H4 A:unknown { content: inherit } H5 A:unknown { content: inherit } H6 A:unknown { content: inherit } icon-replace:unknown { content: inherit } .pullout-item A:unknown { content: inherit } .menu { DISPLAY: none } #creative-license { DISPLAY: none } #sc-util { DISPLAY: none } #accesslink { DISPLAY: none } #xnav-content { DISPLAY: none } .nav-up { DISPLAY: none } .nav { DISPLAY: none } OBJECT { DISPLAY: none } EMBED { DISPLAY: none } * HTML .show .fma { MARGIN: 0px 0px 0px -16px; POSITION: relative } * HTML .fma#featuretour { MARGIN: 0px 0px 0px -16px; POSITION: relative } .p0 { PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; = PADDING-BOTTOM: 0px! important; MARGIN: 0px; PADDING-TOP: 0px! important } .p0 .pod-body { PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; = PADDING-BOTTOM: 0px! important; MARGIN: 0px; PADDING-TOP: 0px! important } .article-date { WHITE-SPACE: nowrap } .stamp-fileinfo { WHITE-SPACE: nowrap } DIV.mnemonic H1 { BACKGROUND: none transparent scroll repeat 0% 0%; TEXT-TRANSFORM: = uppercase } DIV.suite H1 { BACKGROUND: none transparent scroll repeat 0% 0%; TEXT-TRANSFORM: = uppercase } DIV.mnemonic { MARGIN-BOTTOM: 0px! important } HTML > BODY .image-border { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 1px; BACKGROUND: #424242; PADDING-BOTTOM: 1px; = BORDER-LEFT: #fff 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: #fff 1px = solid; outline: 2px solid #424242 } * HTML .image-border { BORDER-RIGHT: #424242 4px double; BORDER-TOP: #424242 4px double; = MARGIN-BOTTOM: 1px; BORDER-LEFT: #424242 4px double; BORDER-BOTTOM: = #424242 4px double } .discover UL { DISPLAY: block } UL.minimal LI { MARGIN-BOTTOM: -1px; LINE-HEIGHT: 1em } HR.fullwidth { MARGIN: -8px -17px 0px; WIDTH: 756px; POSITION: relative; _position: = relative; _width: 756px; _margin: -8px -17px 0 } .sidemessage { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 0.83em; = PADDING-BOTTOM: 4px; PADDING-TOP: 4px; BACKGROUND-COLOR: #ddd } .sidemessage LI { MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px; FONT-FAMILY: Verdana, Arial, = Helvetica, sans-serif } H4.product { FONT-WEIGHT: normal; FONT-SIZE: 1.25em; MARGIN-BOTTOM: 0.25em; = LINE-HEIGHT: 1.15em } DIV.messaging { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; COLOR: = #fff; PADDING-TOP: 7px; BACKGROUND-COLOR: #424242 } #foryou P { MARGIN-BOTTOM: 0px; _margin-bottom: 1px } #foryou A { FONT-SIZE: 1.2em; LINE-HEIGHT: 1.25em } #foryou H2 { FONT-SIZE: 1.7em } .columns-2-aaB-aa#contentNav { WIDTH: 18% } .columns-2-aaB-B#contentFrame { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 80%; = PADDING-TOP: 0px } .columns-2-aaB-B#contentFrame IFRAME { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; WIDTH: 100%; PADDING-TOP: 0px } IFRAME#cs3-messaging { HEIGHT: 369px; _height: 370px } .columns-2-aaB-aa#contentNav { MARGIN-BOTTOM: 0px; _padding-bottom: 0 } .columns-2-aaB-B#contentFrame { MARGIN-BOTTOM: 0px; _padding-bottom: 0 } #contentNav P { MARGIN-BOTTOM: 0px; _padding-bottom: 0 } #contentNav P { MARGIN-TOP: 0px } #productfamily { FONT-WEIGHT: bold; PADDING-TOP: 0px } #productfamily P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #productfamily P A { DISPLAY: block; PADDING-BOTTOM: 7px; PADDING-TOP: 6px } #iframeContent { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: -16px; WIDTH: 510px! important; COLOR: #424242; = PADDING-TOP: 0px } #iframeContent H2 { MARGIN-BOTTOM: 0.35em! important; TEXT-TRANSFORM: uppercase } #iframeContent UL { MARGIN-TOP: 0px } #iframeContent #featuretour { MARGIN: -16px } #iframeContent .fma { MARGIN: -16px } :unknown #iframeContent EMBED { MARGIN-TOP: -8px } :unknown #iframeContent { PADDING-RIGHT: 0px } #iframeContent .fullwidth { MARGIN-LEFT: -17px } TABLE { MARGIN-LEFT: 1px } PRE { WHITE-SPACE: normal } #nextsteps { DISPLAY: none } #sideNav { DISPLAY: none } #sidemenu { DISPLAY: none } #xnav-content { DISPLAY: none } #L0C2 { DISPLAY: none } #L1C2 { DISPLAY: none } #L4C2 { DISPLAY: none } #L0C1 { FLOAT: none; WIDTH: auto } #L1C1 { FLOAT: none; WIDTH: auto } #L2C1 { FLOAT: none; WIDTH: auto } #L4C1 { FLOAT: none; WIDTH: auto } #contentBody { PADDING-RIGHT: 0px; MARGIN-TOP: 20pt; DISPLAY: block; PADDING-LEFT: = 0px; LEFT: 0px; FLOAT: none; MARGIN-BOTTOM: 50pt; PADDING-BOTTOM: 0px; = WIDTH: 100%! important; PADDING-TOP: 0px; POSITION: relative; TOP: 0px } .clip-sides IMG { WIDTH: 100%! important; HEIGHT: auto! important } H1 { FONT-FAMILY: inherit } H2 { FONT-FAMILY: inherit } H3 { FONT-FAMILY: inherit } H4 { FONT-FAMILY: inherit } H5 { FONT-FAMILY: inherit } H6 { FONT-FAMILY: inherit } H1 { FONT-WEIGHT: normal; FONT-SIZE: 22pt; MARGIN-BOTTOM: 3pt! important; = TEXT-TRANSFORM: none; LINE-HEIGHT: 23pt } H2 { FONT-WEIGHT: normal; MARGIN-BOTTOM: 6pt } H3 { MARGIN-TOP: 30pt; FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 6pt; PADDING-BOTTOM: 2pt; LINE-HEIGHT: 11pt; BORDER-BOTTOM: = rgb(127,127,127) 1pt solid } H4 { FONT-SIZE: 10pt; LINE-HEIGHT: 13pt } P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 6pt; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px } UL { PADDING-LEFT: 3ex; LIST-STYLE-TYPE: disc } #productName { FONT-WEIGHT: bold; FONT-SIZE: 12pt; MARGIN-BOTTOM: 9pt; TEXT-TRANSFORM: = uppercase; LINE-HEIGHT: 15pt } ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://wwwimages.adobe.com/www.adobe.com/lib/reader/reader.css #reader-left { WIDTH: 80% } #reader-right { WIDTH: 16% } #width-20 { WIDTH: 20% } #width-76 { WIDTH: 76% } .opt-install { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-TOP: 8px; ZOOM: 1; = BACKGROUND-COLOR: #fff; _zoom: 1 } .thick_border.clip-sides.hr { LINE-HEIGHT: 3px; HEIGHT: 3px } DIV.thick_border { LINE-HEIGHT: 3px; HEIGHT: 3px } #download_btn { DISPLAY: none } H2.noReader { COLOR: #f00 } #rightInfoDiv { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-BOTTOM: 8px; WIDTH: = 318px; PADDING-TOP: 8px } #latestVerString { DISPLAY: none } #gtbcheckbox { DISPLAY: none } #ampcheckbox { DISPLAY: none } #alt_offercheckbox { DISPLAY: none } H2.noReader { COLOR: #f00 } ------=_NextPart_000_0000_01C91338.4615F430 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://wwwimages.adobe.com/www.adobe.com/lib/com.adobe/_all.js /* ALL JS $Revision: 1.22 $=0A= Copyright 2007 Adobe Systems Incorporated=0A= */=0A= /* REMEDIAL JAVASCRIPT $Revision: 1.4 $=0A= for more information visit = "http://javascript.crockford.com/remedial.html"=0A= added support for "call" and "apply" methods=0A= added "isTag" method=0A= */=0A= =0A= Function.prototype.method =3D function (name, func) {=0A= this.prototype[name] =3D func;=0A= return this;=0A= };=0A= =0A= function isAlien(a) {=0A= return isObject(a) && typeof a.constructor !=3D 'function';=0A= }=0A= function isArray(a) {=0A= return isObject(a) && a.constructor =3D=3D Array;=0A= }=0A= function isBoolean(a) {=0A= return typeof a =3D=3D 'boolean';=0A= }=0A= function isEmpty(o) {=0A= var i, v;=0A= if (isObject(o)) {=0A= for (i in o) {=0A= v =3D o[i];=0A= if (isUndefined(v) && isFunction(v)) {=0A= return false;=0A= }=0A= }=0A= }=0A= return true;=0A= }=0A= function isFunction(a) {=0A= return typeof a =3D=3D 'function';=0A= }=0A= function isNull(a) {=0A= return typeof a =3D=3D 'object' && !a;=0A= }=0A= function isNumber(a) {=0A= return typeof a =3D=3D 'number' && isFinite(a);=0A= }=0A= function isObject(a) {=0A= return (a && typeof a =3D=3D 'object') || isFunction(a);=0A= }=0A= function isString(a) {=0A= return typeof a =3D=3D 'string';=0A= }=0A= function isTag(a) {=0A= return a.nodeType && a.nodeType =3D=3D1;=0A= } =0A= function isUndefined(a) {=0A= return typeof a =3D=3D 'undefined';=0A= } =0A= =0A= /* Array Prototyping */=0A= if (!isFunction(Function.apply)) {=0A= Function.method('apply', function (o, a) {=0A= var s =3D [];=0A= var r, call;=0A= =0A= if (!o) { o =3D window; }=0A= if (!a) { a =3D []; }=0A= =0A= for (var i =3D 0; i < a.length; i++) {=0A= s[i] =3D "a["+i+"]";=0A= }=0A= =0A= call =3D "o.__applyTemp__(" + s.join(",") + ");";=0A= =0A= o.__applyTemp__ =3D this;=0A= r =3D eval(call);=0A= o.__applyTemp__ =3D null;=0A= return r;=0A= });=0A= }=0A= if (!isFunction(Array.prototype.pop)) {=0A= Array.method('pop', function () {=0A= return this.splice(this.length - 1, 1)[0];=0A= });=0A= }=0A= if (!isFunction(Array.prototype.push)) {=0A= Array.method('push', function () {=0A= this.splice.apply(this,=0A= [this.length, = 0].concat(Array.prototype.slice.apply(arguments)));=0A= return this.length;=0A= });=0A= }=0A= if (!isFunction(Array.prototype.shift)) {=0A= Array.method('shift', function () {=0A= return this.splice(0, 1)[0];=0A= });=0A= }=0A= if (!isFunction(Array.prototype.splice)) {=0A= Array.method('splice', function (s, d) {=0A= var max =3D Math.max,=0A= min =3D Math.min,=0A= a =3D [], // The return value array=0A= e, // element=0A= i =3D max(arguments.length - 2, 0), // insert count=0A= k =3D 0,=0A= l =3D this.length,=0A= n, // new length=0A= v, // delta=0A= x; // shift count=0A= =0A= s =3D s || 0;=0A= if (s < 0) {=0A= s +=3D l;=0A= }=0A= s =3D max(min(s, l), 0); // start point=0A= d =3D max(min(isNumber(d) ? d : l, l - s), 0); // delete count=0A= v =3D i - d;=0A= n =3D l + v;=0A= while (k < d) {=0A= e =3D this[s + k];=0A= if (!isUndefined(e)) {=0A= a[k] =3D e;=0A= }=0A= k +=3D 1;=0A= }=0A= x =3D l - s - d;=0A= if (v < 0) {=0A= k =3D s + i;=0A= while (x) {=0A= this[k] =3D this[k - v];=0A= k +=3D 1;=0A= x -=3D 1;=0A= }=0A= this.length =3D n;=0A= } else if (v > 0) {=0A= k =3D 1;=0A= while (x) {=0A= this[n - k] =3D this[l - k];=0A= k +=3D 1;=0A= x -=3D 1;=0A= }=0A= }=0A= for (k =3D 0; k < i; ++k) {=0A= this[s + k] =3D arguments[k + 2];=0A= }=0A= return a;=0A= });=0A= }=0A= if (!isFunction(Array.prototype.unshift)) {=0A= Array.method('unshift', function () {=0A= this.splice.apply(this,=0A= [0, 0].concat(Array.prototype.slice.apply(arguments)));=0A= return this.length;=0A= });=0A= }=0A= if (!isFunction(Function.call)) {=0A= Function.method('call', function () {=0A= var o =3D arguments[0], s =3D [];=0A= =0A= for (var i=3D1, len=3Darguments.length; i adobe.setLibraryPath("outside.app.com/lib/");=0A= > adobe.setLibraryPath(adobe.getMyPath() + "../../lib/");=0A= =0A= Parameters:=0A= myPath - String=0A= =0A= Returned Value:=0A= None=0A= =0A= See also:=0A= =0A= =0A= ////////////////////////////////////////////////////////////////*/=0A= setLibraryPath: function(myPath) {=0A= _libraryPath =3D myPath || this.getMyPath();=0A= this.srcPath =3D _libraryPath; // backward compatible public property=0A= },=0A= /*//////////////////////////////////////////////////////////////// =0A= =0A= Method: getLibraryPath=0A= =0A= Function: =0A= Get the root path for dynamically loaded assets=0A= =0A= Returned Value:=0A= String=0A= =0A= ////////////////////////////////////////////////////////////////*/=0A= getLibraryPath: function(myPath) {=0A= return _libraryPath;=0A= },=0A= /*//////////////////////////////////////////////////////////////// =0A= =0A= Method: doJsCompress=0A= =0A= Function: =0A= Append ".compressed" to end of all dynamically loaded assets=0A= =0A= Returned Value:=0A= None=0A= =0A= ////////////////////////////////////////////////////////////////*/=0A= doJsCompress: function() {=0A= this.jscompress =3D 1;=0A= this.jscompress_path=3D"compressed";=0A= }=0A= };=0A= =0A= return new singl3ton();=0A= =0A= })();=0A= /*//////////////////////////////////////////////////////////////// =0A= @author btapley=0A= @author mhurdka=0A= =0A= $Id: hostEnv.js,v 1.1 2008/01/11 07:52:06 btapley Exp $=0A= =0A= Method: hostEnv=0A= =0A= Function: =0A= Simple host profile. Be warned, I've tried to avoid user-agent detection = as much as possible but there is some here.=0A= =0A= Properties:=0A= name - hostname=0A= isSecure - boolean for https protocal=0A= appN - application name=0A= appV - application version number=0A= ua - user-agent id as string=0A= plt - platform id as string=0A= lang - browser langauge=0A= hasActiveX - boolean for ActiveX support=0A= ieV - like appV but more general eg. 5, 5.5, 6, 7=0A= isSafari - boolean for apple web kit=0A= kitV - webkit version number=0A= =0A= ////////////////////////////////////////////////////////////////*/=0A= =0A= /*@cc_on; @*/=0A= adobe.hostEnv =3D (function() {=0A= var ua =3D new String(navigator.userAgent.toLowerCase()), //using new = to speed up the many method calls below=0A= appV =3D parseInt(navigator.appVersion, 0),=0A= isSafari =3D ua.indexOf('safari') !=3D -1,=0A= kitV =3D 0;=0A= =0A= if(isSafari) {=0A= var wk =3D 'applewebkit/',=0A= kitpos =3D ua.indexOf(wk);=0A= =0A= if(kitpos > -1) {=0A= var kit =3D ua.substring(kitpos+wk.length);=0A= kit =3D kit.substring(0,kit.indexOf(" "));=0A= kitV =3D parseInt(kit, 0);=0A= }=0A= }=0A= =0A= if(ua.indexOf('opera/7') !=3D -1 || ua.indexOf('opera 7') !=3D -1) { = appV =3D 7; }=0A= =0A= var env =3D {=0A= "name": window.location.hostname,=0A= "isSecure": window.location.protocal =3D=3D "https:",=0A= "appN": navigator.appName.toLowerCase(),=0A= "appV": appV,=0A= "ua": ua, =0A= "plt": navigator.platform.toLowerCase(),=0A= "lang": (navigator.language || navigator.userLanguage).substring(0,2),=0A= "ax": typeof window.ActiveXObject !=3D "undefined",=0A= "ieV": (function() {=0A= /*@=0A= @if (@_jscript_version >=3D 5 && @_jscript_version < 5.5) { return = 5; } @end;=0A= @if (@_jscript_version >=3D 5.5 && @_jscript_version < 5.6) { = return 5.5; } @end;=0A= @if (@_jscript_version >=3D 5.6 && @_jscript_version < 5.7) { = return 6; } @end;=0A= @if (@_jscript_version >=3D 5.7 && @_jscript_version < 5.8) { = return 7; } @end;=0A= @*/=0A= return 0;=0A= })(),=0A= "isSafari": isSafari,=0A= "kitV": kitV=0A= };=0A= =0A= return env;=0A= })();=0A= /* Prototype JavaScript framework, version 1.6.0.2=0A= * (c) 2005-2008 Sam Stephenson=0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://www.prototypejs.org/=0A= *=0A= = *------------------------------------------------------------------------= --*/=0A= =0A= var Prototype =3D {=0A= Version: '1.6.0.2',=0A= =0A= Browser: {=0A= IE: !!(window.attachEvent && !window.opera),=0A= Opera: !!window.opera,=0A= WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A= Gecko: navigator.userAgent.indexOf('Gecko') > -1 && = navigator.userAgent.indexOf('KHTML') =3D=3D -1,=0A= MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A= },=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= ElementExtensions: !!window.HTMLElement,=0A= SpecificElementExtensions:=0A= document.createElement('div').__proto__ &&=0A= document.createElement('div').__proto__ !=3D=3D=0A= document.createElement('form').__proto__=0A= },=0A= =0A= ScriptFragment: ']*>([\\S\\s]*?)<\/script>',=0A= JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A= =0A= emptyFunction: function() { },=0A= K: function(x) { return x }=0A= };=0A= =0A= if (Prototype.Browser.MobileSafari)=0A= Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A= =0A= =0A= /* Based on Alex Arnell's inheritance implementation. */=0A= var Class =3D {=0A= create: function() {=0A= var parent =3D null, properties =3D $A(arguments);=0A= if (Object.isFunction(properties[0]))=0A= parent =3D properties.shift();=0A= =0A= function klass() {=0A= this.initialize.apply(this, arguments);=0A= }=0A= =0A= Object.extend(klass, Class.Methods);=0A= klass.superclass =3D parent;=0A= klass.subclasses =3D [];=0A= =0A= if (parent) {=0A= var subclass =3D function() { };=0A= subclass.prototype =3D parent.prototype;=0A= klass.prototype =3D new subclass;=0A= parent.subclasses.push(klass);=0A= }=0A= =0A= for (var i =3D 0; i < properties.length; i++)=0A= klass.addMethods(properties[i]);=0A= =0A= if (!klass.prototype.initialize)=0A= klass.prototype.initialize =3D Prototype.emptyFunction;=0A= =0A= klass.prototype.constructor =3D klass;=0A= =0A= return klass;=0A= }=0A= };=0A= =0A= Class.Methods =3D {=0A= addMethods: function(source) {=0A= var ancestor =3D this.superclass && this.superclass.prototype;=0A= var properties =3D Object.keys(source);=0A= =0A= if (!Object.keys({ toString: true }).length)=0A= properties.push("toString", "valueOf");=0A= =0A= for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A= var property =3D properties[i], value =3D source[property];=0A= if (ancestor && Object.isFunction(value) &&=0A= value.argumentNames().first() =3D=3D "$super") {=0A= var method =3D value, value =3D Object.extend((function(m) {=0A= return function() { return ancestor[m].apply(this, arguments) = };=0A= })(property).wrap(method), {=0A= valueOf: function() { return method },=0A= toString: function() { return method.toString() }=0A= });=0A= }=0A= this.prototype[property] =3D value;=0A= }=0A= =0A= return this;=0A= }=0A= };=0A= =0A= var Abstract =3D { };=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= };=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (Object.isUndefined(object)) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : String(object);=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= toJSON: function(object) {=0A= var type =3D typeof object;=0A= switch (type) {=0A= case 'undefined':=0A= case 'function':=0A= case 'unknown': return;=0A= case 'boolean': return object.toString();=0A= }=0A= =0A= if (object =3D=3D=3D null) return 'null';=0A= if (object.toJSON) return object.toJSON();=0A= if (Object.isElement(object)) return;=0A= =0A= var results =3D [];=0A= for (var property in object) {=0A= var value =3D Object.toJSON(object[property]);=0A= if (!Object.isUndefined(value))=0A= results.push(property.toJSON() + ': ' + value);=0A= }=0A= =0A= return '{' + results.join(', ') + '}';=0A= },=0A= =0A= toQueryString: function(object) {=0A= return $H(object).toQueryString();=0A= },=0A= =0A= toHTML: function(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({ }, object);=0A= },=0A= =0A= isElement: function(object) {=0A= return object && object.nodeType =3D=3D 1;=0A= },=0A= =0A= isArray: function(object) {=0A= return object !=3D null && typeof object =3D=3D "object" &&=0A= 'splice' in object && 'join' in object;=0A= },=0A= =0A= isHash: function(object) {=0A= return object instanceof Hash;=0A= },=0A= =0A= isFunction: function(object) {=0A= return typeof object =3D=3D "function";=0A= },=0A= =0A= isString: function(object) {=0A= return typeof object =3D=3D "string";=0A= },=0A= =0A= isNumber: function(object) {=0A= return typeof object =3D=3D "number";=0A= },=0A= =0A= isUndefined: function(object) {=0A= return typeof object =3D=3D "undefined";=0A= }=0A= });=0A= =0A= Object.extend(Function.prototype, {=0A= argumentNames: function() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").inv= oke("strip");=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= },=0A= =0A= bind: function() {=0A= if (arguments.length < 2 && Object.isUndefined(arguments[0])) return = this;=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= bindAsEventListener: function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function(event) {=0A= return __method.apply(object, [event || = window.event].concat(args));=0A= }=0A= },=0A= =0A= curry: function() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D $A(arguments);=0A= return function() {=0A= return __method.apply(this, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= delay: function() {=0A= var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= },=0A= =0A= wrap: function(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments)));=0A= }=0A= },=0A= =0A= methodize: function() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= return __method.apply(null, [this].concat($A(arguments)));=0A= };=0A= }=0A= });=0A= =0A= if(Object.isUndefined(Function.prototype.defer)) = Function.prototype.defer =3D Function.prototype.delay.curry(0.01);=0A= =0A= Date.prototype.toJSON =3D function() {=0A= return '"' + this.getUTCFullYear() + '-' +=0A= (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A= this.getUTCDate().toPaddedString(2) + 'T' +=0A= this.getUTCHours().toPaddedString(2) + ':' +=0A= this.getUTCMinutes().toPaddedString(2) + ':' +=0A= this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A= };=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) { }=0A= }=0A= =0A= return returnValue;=0A= }=0A= };=0A= =0A= RegExp.prototype.match =3D RegExp.prototype.test;=0A= =0A= RegExp.escape =3D function(str) {=0A= return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create({=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= execute: function() {=0A= this.callback(this);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.execute();=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= });=0A= Object.extend(String, {=0A= interpret: function(value) {=0A= return value =3D=3D null ? '' : String(value);=0A= },=0A= specialChar: {=0A= '\b': '\\b',=0A= '\t': '\\t',=0A= '\n': '\\n',=0A= '\f': '\\f',=0A= '\r': '\\r',=0A= '\\': '\\\\'=0A= }=0A= });=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D Object.isUndefined(count) ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : = String(this);=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= },=0A= =0A= escapeHTML: function() {=0A= var self =3D arguments.callee;=0A= self.text.data =3D this;=0A= return self.div.innerHTML;=0A= },=0A= =0A= unescapeHTML: function() {=0A= var div =3D new Element('div');=0A= div.innerHTML =3D this.stripTags();=0A= return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A= $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) :=0A= div.childNodes[0].nodeValue) : '';=0A= },=0A= =0A= toQueryParams: function(separator) {=0A= var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A= if (!match) return { };=0A= =0A= return match[1].split(separator || '&').inject({ }, function(hash, = pair) {=0A= if ((pair =3D pair.split('=3D'))[0]) {=0A= var key =3D decodeURIComponent(pair.shift());=0A= var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A= if (value !=3D undefined) value =3D decodeURIComponent(value);=0A= =0A= if (key in hash) {=0A= if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A= hash[key].push(value);=0A= }=0A= else hash[key] =3D value;=0A= }=0A= return hash;=0A= });=0A= },=0A= =0A= toArray: function() {=0A= return this.split('');=0A= },=0A= =0A= succ: function() {=0A= return this.slice(0, this.length - 1) +=0A= String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A= },=0A= =0A= times: function(count) {=0A= return count < 1 ? '' : new Array(count + 1).join(this);=0A= },=0A= =0A= camelize: function() {=0A= var parts =3D this.split('-'), len =3D parts.length;=0A= if (len =3D=3D 1) return parts[0];=0A= =0A= var camelized =3D this.charAt(0) =3D=3D '-'=0A= ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A= : parts[0];=0A= =0A= for (var i =3D 1; i < len; i++)=0A= camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1);=0A= =0A= return camelized;=0A= },=0A= =0A= capitalize: function() {=0A= return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase();=0A= },=0A= =0A= underscore: function() {=0A= return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase();=0A= },=0A= =0A= dasherize: function() {=0A= return this.gsub(/_/,'-');=0A= },=0A= =0A= inspect: function(useDoubleQuotes) {=0A= var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A= var character =3D String.specialChar[match[0]];=0A= return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16);=0A= });=0A= if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"';=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= },=0A= =0A= toJSON: function() {=0A= return this.inspect(true);=0A= },=0A= =0A= unfilterJSON: function(filter) {=0A= return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A= },=0A= =0A= isJSON: function() {=0A= var str =3D this;=0A= if (str.blank()) return false;=0A= str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A= return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A= },=0A= =0A= evalJSON: function(sanitize) {=0A= var json =3D this.unfilterJSON();=0A= try {=0A= if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A= } catch (e) { }=0A= throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A= },=0A= =0A= include: function(pattern) {=0A= return this.indexOf(pattern) > -1;=0A= },=0A= =0A= startsWith: function(pattern) {=0A= return this.indexOf(pattern) =3D=3D=3D 0;=0A= },=0A= =0A= endsWith: function(pattern) {=0A= var d =3D this.length - pattern.length;=0A= return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A= },=0A= =0A= empty: function() {=0A= return this =3D=3D '';=0A= },=0A= =0A= blank: function() {=0A= return /^\s*$/.test(this);=0A= },=0A= =0A= interpolate: function(object, pattern) {=0A= return new Template(this, pattern).evaluate(object);=0A= }=0A= });=0A= =0A= if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, {=0A= escapeHTML: function() {=0A= return = this.replace(/&/g,'&').replace(//g,'>');=0A= },=0A= unescapeHTML: function() {=0A= return = this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');=0A= }=0A= });=0A= =0A= String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A= if (Object.isFunction(replacement)) return replacement;=0A= var template =3D new Template(replacement);=0A= return function(match) { return template.evaluate(match) };=0A= };=0A= =0A= String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A= =0A= Object.extend(String.prototype.escapeHTML, {=0A= div: document.createElement('div'),=0A= text: document.createTextNode('')=0A= });=0A= =0A= with (String.prototype.escapeHTML) div.appendChild(text);=0A= =0A= var Template =3D Class.create({=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= if (Object.isFunction(object.toTemplateReplacements))=0A= object =3D object.toTemplateReplacements();=0A= =0A= return this.template.gsub(this.pattern, function(match) {=0A= if (object =3D=3D null) return '';=0A= =0A= var before =3D match[1] || '';=0A= if (before =3D=3D '\\') return match[2];=0A= =0A= var ctx =3D object, expr =3D match[3];=0A= var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A= match =3D pattern.exec(expr);=0A= if (match =3D=3D null) return before;=0A= =0A= while (match !=3D null) {=0A= var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1];=0A= ctx =3D ctx[comp];=0A= if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A= expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length);=0A= match =3D pattern.exec(expr);=0A= }=0A= =0A= return before + String.interpret(ctx);=0A= });=0A= }=0A= });=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= =0A= var $break =3D { };=0A= =0A= var Enumerable =3D {=0A= each: function(iterator, context) {=0A= var index =3D 0;=0A= iterator =3D iterator.bind(context);=0A= try {=0A= this._each(function(value) {=0A= iterator(value, index++);=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator, context);=0A= },=0A= =0A= all: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!iterator(value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!iterator(value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator(value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(filter, iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(filter);=0A= =0A= this.each(function(value, index) {=0A= if (filter.match(value))=0A= results.push(iterator(value, index));=0A= });=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= if (Object.isFunction(this.indexOf))=0A= if (this.indexOf(object) !=3D -1) return true;=0A= =0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= this.each(function(value, index) {=0A= memo =3D iterator(memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator(value, index);=0A= if (result =3D=3D null || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator(value, index);=0A= if (result =3D=3D null || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator, context) {=0A= iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= (iterator(value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator(value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator, context) {=0A= iterator =3D iterator.bind(context);=0A= return this.map(function(value, index) {=0A= return {value: value, criteria: iterator(value, index)};=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (Object.isFunction(args.last()))=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= }=0A= };=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= filter: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray,=0A= every: Enumerable.all,=0A= some: Enumerable.any=0A= });=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= =0A= if (Prototype.Browser.WebKit) {=0A= $A =3D function(iterable) {=0A= if (!iterable) return [];=0A= if (!(Object.isFunction(iterable) && iterable =3D=3D '[object = NodeList]') &&=0A= iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= };=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(Object.isArray(value) ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function(sorted) {=0A= return this.inject([], function(array, value, index) {=0A= if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value)))=0A= array.push(value);=0A= return array;=0A= });=0A= },=0A= =0A= intersect: function(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { return item =3D=3D=3D value = });=0A= });=0A= },=0A= =0A= clone: function() {=0A= return [].concat(this);=0A= },=0A= =0A= size: function() {=0A= return this.length;=0A= },=0A= =0A= inspect: function() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= },=0A= =0A= toJSON: function() {=0A= var results =3D [];=0A= this.each(function(object) {=0A= var value =3D Object.toJSON(object);=0A= if (!Object.isUndefined(value)) results.push(value);=0A= });=0A= return '[' + results.join(', ') + ']';=0A= }=0A= });=0A= =0A= // use native browser JS 1.6 implementation if available=0A= if (Object.isFunction(Array.prototype.forEach))=0A= Array.prototype._each =3D Array.prototype.forEach;=0A= =0A= if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) {=0A= i || (i =3D 0);=0A= var length =3D this.length;=0A= if (i < 0) i =3D length + i;=0A= for (; i < length; i++)=0A= if (this[i] =3D=3D=3D item) return i;=0A= return -1;=0A= };=0A= =0A= if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) {=0A= i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A= var n =3D this.slice(0, i).reverse().indexOf(item);=0A= return (n < 0) ? n : i - n - 1;=0A= };=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if (Prototype.Browser.Opera){=0A= Array.prototype.concat =3D function() {=0A= var array =3D [];=0A= for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if (Object.isArray(arguments[i])) {=0A= for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= };=0A= }=0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= return this.toPaddedString(2, 16);=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator) {=0A= $R(0, this, true).each(iterator);=0A= return this;=0A= },=0A= =0A= toPaddedString: function(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= },=0A= =0A= toJSON: function() {=0A= return isFinite(this) ? this.toString() : 'null';=0A= }=0A= });=0A= =0A= $w('abs round ceil floor').each(function(method){=0A= Number.prototype[method] =3D Math[method].methodize();=0A= });=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= =0A= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= return {=0A= initialize: function(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= },=0A= =0A= _each: function(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= },=0A= =0A= set: function(key, value) {=0A= return this._object[key] =3D value;=0A= },=0A= =0A= get: function(key) {=0A= return this._object[key];=0A= },=0A= =0A= unset: function(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= },=0A= =0A= toObject: function() {=0A= return Object.clone(this._object);=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= index: function(value) {=0A= var match =3D this.detect(function(pair) {=0A= return pair.value =3D=3D=3D value;=0A= });=0A= return match && match.key;=0A= },=0A= =0A= merge: function(object) {=0A= return this.clone().update(object);=0A= },=0A= =0A= update: function(object) {=0A= return new Hash(object).inject(this, function(result, pair) {=0A= result.set(pair.key, pair.value);=0A= return result;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.map(function(pair) {=0A= var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A= =0A= if (values && typeof values =3D=3D 'object') {=0A= if (Object.isArray(values))=0A= return values.map(toQueryPair.curry(key)).join('&');=0A= }=0A= return toQueryPair(key, values);=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#';=0A= },=0A= =0A= toJSON: function() {=0A= return Object.toJSON(this.toObject());=0A= },=0A= =0A= clone: function() {=0A= return new Hash(this);=0A= }=0A= }=0A= })());=0A= =0A= Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject;=0A= Hash.from =3D $H;=0A= var ObjectRange =3D Class.create(Enumerable, {=0A= initialize: function(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= },=0A= =0A= _each: function(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= },=0A= =0A= include: function(value) {=0A= if (value < this.start)=0A= return false;=0A= if (this.exclusive)=0A= return value < this.end;=0A= return value <=3D this.end;=0A= }=0A= });=0A= =0A= var $R =3D function(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= };=0A= =0A= var Ajax =3D {=0A= getTransport: function() {=0A= return Try.these(=0A= function() {return new XMLHttpRequest()},=0A= function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A= function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A= ) || false;=0A= },=0A= =0A= activeRequestCount: 0=0A= };=0A= =0A= Ajax.Responders =3D {=0A= responders: [],=0A= =0A= _each: function(iterator) {=0A= this.responders._each(iterator);=0A= },=0A= =0A= register: function(responder) {=0A= if (!this.include(responder))=0A= this.responders.push(responder);=0A= },=0A= =0A= unregister: function(responder) {=0A= this.responders =3D this.responders.without(responder);=0A= },=0A= =0A= dispatch: function(callback, request, transport, json) {=0A= this.each(function(responder) {=0A= if (Object.isFunction(responder[callback])) {=0A= try {=0A= responder[callback].apply(responder, [request, transport, = json]);=0A= } catch (e) { }=0A= }=0A= });=0A= }=0A= };=0A= =0A= Object.extend(Ajax.Responders, Enumerable);=0A= =0A= Ajax.Responders.register({=0A= onCreate: function() { Ajax.activeRequestCount++ },=0A= onComplete: function() { Ajax.activeRequestCount-- }=0A= });=0A= =0A= Ajax.Base =3D Class.create({=0A= initialize: function(options) {=0A= this.options =3D {=0A= method: 'post',=0A= asynchronous: true,=0A= contentType: 'application/x-www-form-urlencoded',=0A= encoding: 'UTF-8',=0A= parameters: '',=0A= evalJSON: true,=0A= evalJS: true=0A= };=0A= Object.extend(this.options, options || { });=0A= =0A= this.options.method =3D this.options.method.toLowerCase();=0A= =0A= if (Object.isString(this.options.parameters))=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= else if (Object.isHash(this.options.parameters))=0A= this.options.parameters =3D this.options.parameters.toObject();=0A= }=0A= });=0A= =0A= Ajax.Request =3D Class.create(Ajax.Base, {=0A= _complete: false,=0A= =0A= initialize: function($super, url, options) {=0A= $super(options);=0A= this.transport =3D Ajax.getTransport();=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D Object.clone(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= this.parameters =3D params;=0A= =0A= if (params =3D Object.toQueryString(params)) {=0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get')=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= params +=3D '&_=3D';=0A= }=0A= =0A= try {=0A= var response =3D new Ajax.Response(this);=0A= if (this.options.onCreate) this.options.onCreate(response);=0A= Ajax.Responders.dispatch('onCreate', this, response);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null;=0A= this.transport.send(this.body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (Object.isFunction(extras.push))=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value });=0A= }=0A= =0A= for (var name in headers)=0A= this.transport.setRequestHeader(name, headers[name]);=0A= },=0A= =0A= success: function() {=0A= var status =3D this.getStatus();=0A= return !status || (status >=3D 200 && status < 300);=0A= },=0A= =0A= getStatus: function() {=0A= try {=0A= return this.transport.status || 0;=0A= } catch (e) { return 0 }=0A= },=0A= =0A= respondToReadyState: function(readyState) {=0A= var state =3D Ajax.Request.Events[readyState], response =3D new = Ajax.Response(this);=0A= =0A= if (state =3D=3D 'Complete') {=0A= try {=0A= this._complete =3D true;=0A= (this.options['on' + response.status]=0A= || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A= || Prototype.emptyFunction)(response, response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= var contentType =3D response.getHeader('Content-type');=0A= if (this.options.evalJS =3D=3D 'force'=0A= || (this.options.evalJS && this.isSameOrigin() && contentType=0A= && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i)))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON);=0A= Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= isSameOrigin: function() {=0A= var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A= return !m || (m[0] =3D=3D = '#{protocol}//#{domain}#{port}'.interpolate({=0A= protocol: location.protocol,=0A= domain: document.domain,=0A= port: location.port ? ':' + location.port : ''=0A= }));=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name) || null;=0A= } catch (e) { return null }=0A= },=0A= =0A= evalResponse: function() {=0A= try {=0A= return eval((this.transport.responseText || '').unfilterJSON());=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= dispatchException: function(exception) {=0A= (this.options.onException || Prototype.emptyFunction)(this, = exception);=0A= Ajax.Responders.dispatch('onException', this, exception);=0A= }=0A= });=0A= =0A= Ajax.Request.Events =3D=0A= ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A= =0A= Ajax.Response =3D Class.create({=0A= initialize: function(request){=0A= this.request =3D request;=0A= var transport =3D this.transport =3D request.transport,=0A= readyState =3D this.readyState =3D transport.readyState;=0A= =0A= if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) = {=0A= this.status =3D this.getStatus();=0A= this.statusText =3D this.getStatusText();=0A= this.responseText =3D String.interpret(transport.responseText);=0A= this.headerJSON =3D this._getHeaderJSON();=0A= }=0A= =0A= if(readyState =3D=3D 4) {=0A= var xml =3D transport.responseXML;=0A= this.responseXML =3D Object.isUndefined(xml) ? null : xml;=0A= this.responseJSON =3D this._getResponseJSON();=0A= }=0A= },=0A= =0A= status: 0,=0A= statusText: '',=0A= =0A= getStatus: Ajax.Request.prototype.getStatus,=0A= =0A= getStatusText: function() {=0A= try {=0A= return this.transport.statusText || '';=0A= } catch (e) { return '' }=0A= },=0A= =0A= getHeader: Ajax.Request.prototype.getHeader,=0A= =0A= getAllHeaders: function() {=0A= try {=0A= return this.getAllResponseHeaders();=0A= } catch (e) { return null }=0A= },=0A= =0A= getResponseHeader: function(name) {=0A= return this.transport.getResponseHeader(name);=0A= },=0A= =0A= getAllResponseHeaders: function() {=0A= return this.transport.getAllResponseHeaders();=0A= },=0A= =0A= _getHeaderJSON: function() {=0A= var json =3D this.getHeader('X-JSON');=0A= if (!json) return null;=0A= json =3D decodeURIComponent(escape(json));=0A= try {=0A= return json.evalJSON(this.request.options.sanitizeJSON ||=0A= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= },=0A= =0A= _getResponseJSON: function() {=0A= var options =3D this.request.options;=0A= if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A= !(this.getHeader('Content-type') || = '').include('application/json')) ||=0A= this.responseText.blank())=0A= return null;=0A= try {=0A= return this.responseText.evalJSON(options.sanitizeJSON ||=0A= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create(Ajax.Request, {=0A= initialize: function($super, container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= };=0A= =0A= options =3D Object.clone(options);=0A= var onComplete =3D options.onComplete;=0A= options.onComplete =3D (function(response, json) {=0A= this.updateContent(response.responseText);=0A= if (Object.isFunction(onComplete)) onComplete(response, json);=0A= }).bind(this);=0A= =0A= $super(url, options);=0A= },=0A= =0A= updateContent: function(responseText) {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'],=0A= options =3D this.options;=0A= =0A= if (!options.evalScripts) responseText =3D = responseText.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (options.insertion) {=0A= if (Object.isString(options.insertion)) {=0A= var insertion =3D { }; insertion[options.insertion] =3D = responseText;=0A= receiver.insert(insertion);=0A= }=0A= else options.insertion(receiver, responseText);=0A= }=0A= else receiver.update(responseText);=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A= initialize: function($super, container, url, options) {=0A= $super(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D { };=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(response) {=0A= if (this.options.decay) {=0A= this.decay =3D (response.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D response.responseText;=0A= }=0A= this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (Object.isString(element))=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(Element.extend(query.snapshotItem(i)));=0A= return results;=0A= };=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=0A= // DOM level 2 ECMAScript Language Binding=0A= Object.extend(Node, {=0A= ELEMENT_NODE: 1,=0A= ATTRIBUTE_NODE: 2,=0A= TEXT_NODE: 3,=0A= CDATA_SECTION_NODE: 4,=0A= ENTITY_REFERENCE_NODE: 5,=0A= ENTITY_NODE: 6,=0A= PROCESSING_INSTRUCTION_NODE: 7,=0A= COMMENT_NODE: 8,=0A= DOCUMENT_NODE: 9,=0A= DOCUMENT_TYPE_NODE: 10,=0A= DOCUMENT_FRAGMENT_NODE: 11,=0A= NOTATION_NODE: 12=0A= });=0A= }=0A= =0A= (function() {=0A= var element =3D this.Element;=0A= this.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= if (Prototype.Browser.IE && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes);=0A= };=0A= Object.extend(this.Element, element || { });=0A= }).call(window);=0A= =0A= Element.cache =3D { };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= $(element).style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= $(element).style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= content =3D Object.toHTML(content);=0A= element.innerHTML =3D content.stripScripts();=0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= },=0A= =0A= replace: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= else if (!Object.isElement(content)) {=0A= content =3D Object.toHTML(content);=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNode(element);=0A= content.evalScripts.bind(content).defer();=0A= content =3D range.createContextualFragment(content.stripScripts());=0A= }=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= },=0A= =0A= insert: function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D {bottom:insertions};=0A= =0A= var content, insert, tagName, childNodes;=0A= =0A= for (var position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= insert =3D Element._insertionTranslations[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A= ? element.parentNode : element).tagName.toUpperCase();=0A= =0A= childNodes =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= =0A= if (position =3D=3D 'top' || position =3D=3D 'after') = childNodes.reverse();=0A= childNodes.each(insert.curry(element));=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= },=0A= =0A= wrap: function(element, wrapper, attributes) {=0A= element =3D $(element);=0A= if (Object.isElement(wrapper))=0A= $(wrapper).writeAttribute(attributes || { });=0A= else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes);=0A= else wrapper =3D new Element('div', wrapper);=0A= if (element.parentNode)=0A= element.parentNode.replaceChild(wrapper, element);=0A= wrapper.appendChild(element);=0A= return wrapper;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $(element).select("*");=0A= },=0A= =0A= firstDescendant: function(element) {=0A= element =3D $(element).firstChild;=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= return $(element);=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (Object.isString(selector))=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return $(element.parentNode);=0A= var ancestors =3D element.ancestors();=0A= return Object.isNumber(expression) ? ancestors[expression] :=0A= Selector.findElement(ancestors, expression, index);=0A= },=0A= =0A= down: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= return Object.isNumber(expression) ? = element.descendants()[expression] :=0A= element.select(expression)[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element));=0A= var previousSiblings =3D element.previousSiblings();=0A= return Object.isNumber(expression) ? previousSiblings[expression] :=0A= Selector.findElement(previousSiblings, expression, index);=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element));=0A= var nextSiblings =3D element.nextSiblings();=0A= return Object.isNumber(expression) ? nextSiblings[expression] :=0A= Selector.findElement(nextSiblings, expression, index);=0A= },=0A= =0A= select: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= adjacent: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element.parentNode, = args).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D element.readAttribute('id'), self =3D arguments.callee;=0A= if (id) return id;=0A= do { id =3D 'anonymous_element_' + self.counter++ } while ($(id));=0A= element.writeAttribute('id', id);=0A= return id;=0A= },=0A= =0A= readAttribute: function(element, name) {=0A= element =3D $(element);=0A= if (Prototype.Browser.IE) {=0A= var t =3D Element._attributeTranslations.read;=0A= if (t.values[name]) return t.values[name](element, name);=0A= if (t.names[name]) name =3D t.names[name];=0A= if (name.include(':')) {=0A= return (!element.attributes || !element.attributes[name]) ? null = :=0A= element.attributes[name].value;=0A= }=0A= }=0A= return element.getAttribute(name);=0A= },=0A= =0A= writeAttribute: function(element, name, value) {=0A= element =3D $(element);=0A= var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A= =0A= if (typeof name =3D=3D 'object') attributes =3D name;=0A= else attributes[name] =3D Object.isUndefined(value) ? true : value;=0A= =0A= for (var attr in attributes) {=0A= name =3D t.names[attr] || attr;=0A= value =3D attributes[attr];=0A= if (t.values[attr]) name =3D t.values[attr](element, value);=0A= if (value =3D=3D=3D false || value =3D=3D=3D null)=0A= element.removeAttribute(name);=0A= else if (value =3D=3D=3D true)=0A= element.setAttribute(name, name);=0A= else element.setAttribute(name, value);=0A= }=0A= return element;=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= return (elementClassName.length > 0 && (elementClassName =3D=3D = className ||=0A= new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName)));=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= if (!element.hasClassName(className))=0A= element.className +=3D (element.className ? ' ' : '') + className;=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= element.className =3D element.className.replace(=0A= new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= return element[element.hasClassName(className) ?=0A= 'removeClassName' : 'addClassName'](className);=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.blank();=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= var originalAncestor =3D ancestor;=0A= =0A= if (element.compareDocumentPosition)=0A= return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A= =0A= if (element.sourceIndex && !Prototype.Browser.Opera) {=0A= var e =3D element.sourceIndex, a =3D ancestor.sourceIndex,=0A= nextAncestor =3D ancestor.nextSibling;=0A= if (!nextAncestor) {=0A= do { ancestor =3D ancestor.parentNode; }=0A= while (!(nextAncestor =3D ancestor.nextSibling) && = ancestor.parentNode);=0A= }=0A= if (nextAncestor && nextAncestor.sourceIndex)=0A= return (e > a && e < nextAncestor.sourceIndex);=0A= }=0A= =0A= while (element =3D element.parentNode)=0A= if (element =3D=3D originalAncestor) return true;=0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D element.cumulativeOffset();=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value) {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= }=0A= if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= getOpacity: function(element) {=0A= return $(element).getStyle('opacity');=0A= },=0A= =0A= setStyle: function(element, styles) {=0A= element =3D $(element);=0A= var elementStyle =3D element.style, match;=0A= if (Object.isString(styles)) {=0A= element.style.cssText +=3D ';' + styles;=0A= return styles.include('opacity') ?=0A= element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element;=0A= }=0A= for (var property in styles)=0A= if (property =3D=3D 'opacity') = element.setOpacity(styles[property]);=0A= else=0A= elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ?=0A= (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : = 'styleFloat') :=0A= property] =3D styles[property];=0A= =0A= return element;=0A= },=0A= =0A= setOpacity: function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D $(element).getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (window.opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto';=0A= if (element._overflow !=3D=3D 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if (element.tagName =3D=3D 'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p !=3D=3D 'static') break;=0A= }=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'absolute') return;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= var offsets =3D element.positionedOffset();=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= return element;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'relative') return;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= return element;=0A= },=0A= =0A= cumulativeScrollOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= getOffsetParent: function(element) {=0A= if (element.offsetParent) return $(element.offsetParent);=0A= if (element =3D=3D document.body) return $(element);=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return $(element);=0A= =0A= return $(document.body);=0A= },=0A= =0A= viewportOffset: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent =3D=3D document.body &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!Prototype.Browser.Opera || element.tagName =3D=3D 'BODY') {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= clonePosition: function(element, source) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || { });=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D source.viewportOffset();=0A= =0A= // find coordinate system to use=0A= element =3D $(element);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D element.getOffsetParent();=0A= delta =3D parent.viewportOffset();=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px';=0A= if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px';=0A= return element;=0A= }=0A= };=0A= =0A= Element.Methods.identify.counter =3D 1;=0A= =0A= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= childElements: Element.Methods.immediateDescendants=0A= });=0A= =0A= Element._attributeTranslations =3D {=0A= write: {=0A= names: {=0A= className: 'class',=0A= htmlFor: 'for'=0A= },=0A= values: { }=0A= }=0A= };=0A= =0A= if (Prototype.Browser.Opera) {=0A= Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A= function(proceed, element, style) {=0A= switch (style) {=0A= case 'left': case 'top': case 'right': case 'bottom':=0A= if (proceed(element, 'position') =3D=3D=3D 'static') return = null;=0A= case 'height': case 'width':=0A= // returns '0px' for hidden elements; we want it to return null=0A= if (!Element.visible(element)) return null;=0A= =0A= // returns the border-box dimensions rather than the = content-box=0A= // dimensions, so we subtract padding and borders from the = value=0A= var dim =3D parseInt(proceed(element, style), 10);=0A= =0A= if (dim !=3D=3D element['offset' + style.capitalize()])=0A= return dim + 'px';=0A= =0A= var properties;=0A= if (style =3D=3D=3D 'height') {=0A= properties =3D ['border-top-width', 'padding-top',=0A= 'padding-bottom', 'border-bottom-width'];=0A= }=0A= else {=0A= properties =3D ['border-left-width', 'padding-left',=0A= 'padding-right', 'border-right-width'];=0A= }=0A= return properties.inject(dim, function(memo, property) {=0A= var val =3D proceed(element, property);=0A= return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A= }) + 'px';=0A= default: return proceed(element, style);=0A= }=0A= }=0A= );=0A= =0A= Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A= function(proceed, element, attribute) {=0A= if (attribute =3D=3D=3D 'title') return element.title;=0A= return proceed(element, attribute);=0A= }=0A= );=0A= }=0A= =0A= else if (Prototype.Browser.IE) {=0A= // IE doesn't report offsets correctly for static elements, so we = change them=0A= // to "relative" to get the values, then change them back.=0A= Element.Methods.getOffsetParent =3D = Element.Methods.getOffsetParent.wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= =0A= $w('positionedOffset viewportOffset').each(function(method) {=0A= Element.Methods[method] =3D Element.Methods[method].wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= // Trigger hasLayout on the offset parent so that IE6 reports=0A= // accurate offsetTop and offsetLeft values for position: fixed.=0A= var offsetParent =3D element.getOffsetParent();=0A= if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D = 'fixed')=0A= offsetParent.setStyle({ zoom: 1 });=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= });=0A= =0A= Element.Methods.getStyle =3D function(element, style) {=0A= element =3D $(element);=0A= style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value && element.currentStyle) value =3D = element.currentStyle[style];=0A= =0A= if (style =3D=3D 'opacity') {=0A= if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if (value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= =0A= if (value =3D=3D 'auto') {=0A= if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none'))=0A= return element['offset' + style.capitalize()] + 'px';=0A= return null;=0A= }=0A= return value;=0A= };=0A= =0A= Element.Methods.setOpacity =3D function(element, value) {=0A= function stripAlpha(filter){=0A= return filter.replace(/alpha\([^\)]*\)/gi,'');=0A= }=0A= element =3D $(element);=0A= var currentStyle =3D element.currentStyle;=0A= if ((currentStyle && !currentStyle.hasLayout) ||=0A= (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A= element.style.zoom =3D 1;=0A= =0A= var filter =3D element.getStyle('filter'), style =3D element.style;=0A= if (value =3D=3D 1 || value =3D=3D=3D '') {=0A= (filter =3D stripAlpha(filter)) ?=0A= style.filter =3D filter : style.removeAttribute('filter');=0A= return element;=0A= } else if (value < 0.00001) value =3D 0;=0A= style.filter =3D stripAlpha(filter) +=0A= 'alpha(opacity=3D' + (value * 100) + ')';=0A= return element;=0A= };=0A= =0A= Element._attributeTranslations =3D {=0A= read: {=0A= names: {=0A= 'class': 'className',=0A= 'for': 'htmlFor'=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= _getAttrNode: function(element, attribute) {=0A= var node =3D element.getAttributeNode(attribute);=0A= return node ? node.value : "";=0A= },=0A= _getEv: function(element, attribute) {=0A= attribute =3D element.getAttribute(attribute);=0A= return attribute ? attribute.toString().slice(23, -2) : null;=0A= },=0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= title: function(element) {=0A= return element.title;=0A= }=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.write =3D {=0A= names: Object.extend({=0A= cellpadding: 'cellPadding',=0A= cellspacing: 'cellSpacing'=0A= }, Element._attributeTranslations.read.names),=0A= values: {=0A= checked: function(element, value) {=0A= element.checked =3D !!value;=0A= },=0A= =0A= style: function(element, value) {=0A= element.style.cssText =3D value ? value : '';=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.has =3D {};=0A= =0A= $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A= 'encType maxLength readOnly longDesc').each(function(attr) {=0A= Element._attributeTranslations.write.names[attr.toLowerCase()] =3D = attr;=0A= Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A= });=0A= =0A= (function(v) {=0A= Object.extend(v, {=0A= href: v._getAttr,=0A= src: v._getAttr,=0A= type: v._getAttr,=0A= action: v._getAttrNode,=0A= disabled: v._flag,=0A= checked: v._flag,=0A= readonly: v._flag,=0A= multiple: v._flag,=0A= onload: v._getEv,=0A= onunload: v._getEv,=0A= onclick: v._getEv,=0A= ondblclick: v._getEv,=0A= onmousedown: v._getEv,=0A= onmouseup: v._getEv,=0A= onmouseover: v._getEv,=0A= onmousemove: v._getEv,=0A= onmouseout: v._getEv,=0A= onfocus: v._getEv,=0A= onblur: v._getEv,=0A= onkeypress: v._getEv,=0A= onkeydown: v._getEv,=0A= onkeyup: v._getEv,=0A= onsubmit: v._getEv,=0A= onreset: v._getEv,=0A= onselect: v._getEv,=0A= onchange: v._getEv=0A= });=0A= })(Element._attributeTranslations.read.values);=0A= }=0A= =0A= else if (Prototype.Browser.Gecko && = /rv:1\.8\.0/.test(navigator.userAgent)) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A= (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A= return element;=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.WebKit) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= =0A= if (value =3D=3D 1)=0A= if(element.tagName =3D=3D 'IMG' && element.width) {=0A= element.width++; element.width--;=0A= } else try {=0A= var n =3D document.createTextNode(' ');=0A= element.appendChild(n);=0A= element.removeChild(n);=0A= } catch (e) { }=0A= =0A= return element;=0A= };=0A= =0A= // Safari returns margins on body which is incorrect if the child is = absolutely=0A= // positioned. For performance reasons, redefine = Element#cumulativeOffset for=0A= // KHTML/WebKit only.=0A= Element.Methods.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= };=0A= }=0A= =0A= if (Prototype.Browser.IE || Prototype.Browser.Opera) {=0A= // IE and Opera are missing .innerHTML support for TABLE-related and = SELECT elements=0A= Element.Methods.update =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= =0A= content =3D Object.toHTML(content);=0A= var tagName =3D element.tagName.toUpperCase();=0A= =0A= if (tagName in Element._insertionTranslations.tags) {=0A= $A(element.childNodes).each(function(node) { = element.removeChild(node) });=0A= Element._getContentFromAnonymousElement(tagName, = content.stripScripts())=0A= .each(function(node) { element.appendChild(node) });=0A= }=0A= else element.innerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= if ('outerHTML' in document.createElement('div')) {=0A= Element.Methods.replace =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= var parent =3D element.parentNode, tagName =3D = parent.tagName.toUpperCase();=0A= =0A= if (Element._insertionTranslations.tags[tagName]) {=0A= var nextSibling =3D element.next();=0A= var fragments =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= parent.removeChild(element);=0A= if (nextSibling)=0A= fragments.each(function(node) { parent.insertBefore(node, = nextSibling) });=0A= else=0A= fragments.each(function(node) { parent.appendChild(node) });=0A= }=0A= else element.outerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= Element._returnOffset =3D function(l, t) {=0A= var result =3D [l, t];=0A= result.left =3D l;=0A= result.top =3D t;=0A= return result;=0A= };=0A= =0A= Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A= var div =3D new Element('div'), t =3D = Element._insertionTranslations.tags[tagName];=0A= if (t) {=0A= div.innerHTML =3D t[0] + html + t[1];=0A= t[2].times(function() { div =3D div.firstChild });=0A= } else div.innerHTML =3D html;=0A= return $A(div.childNodes);=0A= };=0A= =0A= Element._insertionTranslations =3D {=0A= before: function(element, node) {=0A= element.parentNode.insertBefore(node, element);=0A= },=0A= top: function(element, node) {=0A= element.insertBefore(node, element.firstChild);=0A= },=0A= bottom: function(element, node) {=0A= element.appendChild(node);=0A= },=0A= after: function(element, node) {=0A= element.parentNode.insertBefore(node, element.nextSibling);=0A= },=0A= tags: {=0A= TABLE: ['', '
', 1],=0A= TBODY: ['', '
', 2],=0A= TR: ['', '
', 3],=0A= TD: ['
', '
', 4],=0A= SELECT: ['', 1]=0A= }=0A= };=0A= =0A= (function() {=0A= Object.extend(this.tags, {=0A= THEAD: this.tags.TBODY,=0A= TFOOT: this.tags.TBODY,=0A= TH: this.tags.TD=0A= });=0A= }).call(Element._insertionTranslations);=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= attribute =3D Element._attributeTranslations.has[attribute] || = attribute;=0A= var node =3D $(element).getAttributeNode(attribute);=0A= return node && node.specified;=0A= }=0A= };=0A= =0A= Element.Methods.ByTag =3D { };=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= if (!Prototype.BrowserFeatures.ElementExtensions &&=0A= document.createElement('div').__proto__) {=0A= window.HTMLElement =3D { };=0A= window.HTMLElement.prototype =3D = document.createElement('div').__proto__;=0A= Prototype.BrowserFeatures.ElementExtensions =3D true;=0A= }=0A= =0A= Element.extend =3D (function() {=0A= if (Prototype.BrowserFeatures.SpecificElementExtensions)=0A= return Prototype.K;=0A= =0A= var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A= =0A= var extend =3D Object.extend(function(element) {=0A= if (!element || element._extendedByPrototype ||=0A= element.nodeType !=3D 1 || element =3D=3D window) return element;=0A= =0A= var methods =3D Object.clone(Methods),=0A= tagName =3D element.tagName, property, value;=0A= =0A= // extend methods for specific tags=0A= if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A= =0A= for (property in methods) {=0A= value =3D methods[property];=0A= if (Object.isFunction(value) && !(property in element))=0A= element[property] =3D value.methodize();=0A= }=0A= =0A= element._extendedByPrototype =3D Prototype.emptyFunction;=0A= return element;=0A= =0A= }, {=0A= refresh: function() {=0A= // extend methods for all tags (Safari doesn't need this)=0A= if (!Prototype.BrowserFeatures.ElementExtensions) {=0A= Object.extend(Methods, Element.Methods);=0A= Object.extend(Methods, Element.Methods.Simulated);=0A= }=0A= }=0A= });=0A= =0A= extend.refresh();=0A= return extend;=0A= })();=0A= =0A= Element.hasAttribute =3D function(element, attribute) {=0A= if (element.hasAttribute) return element.hasAttribute(attribute);=0A= return Element.Methods.Simulated.hasAttribute(element, attribute);=0A= };=0A= =0A= Element.addMethods =3D function(methods) {=0A= var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A= =0A= if (!methods) {=0A= Object.extend(Form, Form.Methods);=0A= Object.extend(Form.Element, Form.Element.Methods);=0A= Object.extend(Element.Methods.ByTag, {=0A= "FORM": Object.clone(Form.Methods),=0A= "INPUT": Object.clone(Form.Element.Methods),=0A= "SELECT": Object.clone(Form.Element.Methods),=0A= "TEXTAREA": Object.clone(Form.Element.Methods)=0A= });=0A= }=0A= =0A= if (arguments.length =3D=3D 2) {=0A= var tagName =3D methods;=0A= methods =3D arguments[1];=0A= }=0A= =0A= if (!tagName) Object.extend(Element.Methods, methods || { });=0A= else {=0A= if (Object.isArray(tagName)) tagName.each(extend);=0A= else extend(tagName);=0A= }=0A= =0A= function extend(tagName) {=0A= tagName =3D tagName.toUpperCase();=0A= if (!Element.Methods.ByTag[tagName])=0A= Element.Methods.ByTag[tagName] =3D { };=0A= Object.extend(Element.Methods.ByTag[tagName], methods);=0A= }=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!Object.isFunction(value)) continue;=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D value.methodize();=0A= }=0A= }=0A= =0A= function findDOMClass(tagName) {=0A= var klass;=0A= var trans =3D {=0A= "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A= "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList",=0A= "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading",=0A= "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A= "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION":=0A= "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A= "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR":=0A= "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A= "FrameSet", "IFRAME": "IFrame"=0A= };=0A= if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A= if (window[klass]) return window[klass];=0A= =0A= window[klass] =3D { };=0A= window[klass].prototype =3D = document.createElement(tagName).__proto__;=0A= return window[klass];=0A= }=0A= =0A= if (F.ElementExtensions) {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= }=0A= =0A= if (F.SpecificElementExtensions) {=0A= for (var tag in Element.Methods.ByTag) {=0A= var klass =3D findDOMClass(tag);=0A= if (Object.isUndefined(klass)) continue;=0A= copy(T[tag], klass.prototype);=0A= }=0A= }=0A= =0A= Object.extend(Element, Element.Methods);=0A= delete Element.ByTag;=0A= =0A= if (Element.extend.refresh) Element.extend.refresh();=0A= Element.cache =3D { };=0A= };=0A= =0A= document.viewport =3D {=0A= getDimensions: function() {=0A= var dimensions =3D { };=0A= var B =3D Prototype.Browser;=0A= $w('width height').each(function(d) {=0A= var D =3D d.capitalize();=0A= dimensions[d] =3D (B.WebKit && !document.evaluate) ? self['inner' = + D] :=0A= (B.Opera) ? document.body['client' + D] : = document.documentElement['client' + D];=0A= });=0A= return dimensions;=0A= },=0A= =0A= getWidth: function() {=0A= return this.getDimensions().width;=0A= },=0A= =0A= getHeight: function() {=0A= return this.getDimensions().height;=0A= },=0A= =0A= getScrollOffsets: function() {=0A= return Element._returnOffset(=0A= window.pageXOffset || document.documentElement.scrollLeft || = document.body.scrollLeft,=0A= window.pageYOffset || document.documentElement.scrollTop || = document.body.scrollTop);=0A= }=0A= };=0A= /* Portions of the Selector class are derived from Jack Slocum=E2=80=99s = DomQuery,=0A= * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style=0A= * license. Please see http://www.yui-ext.com/ for more information. */=0A= =0A= var Selector =3D Class.create({=0A= initialize: function(expression) {=0A= this.expression =3D expression.strip();=0A= this.compileMatcher();=0A= },=0A= =0A= shouldUseXPath: function() {=0A= if (!Prototype.BrowserFeatures.XPath) return false;=0A= =0A= var e =3D this.expression;=0A= =0A= // Safari 3 chokes on :*-of-type and :empty=0A= if (Prototype.Browser.WebKit &&=0A= (e.include("-of-type") || e.include(":empty")))=0A= return false;=0A= =0A= // XPath can't do namespaced attributes, nor can it read=0A= // the "checked" property from DOM nodes=0A= if ((/(\[[\w-]*?:|:checked)/).test(this.expression))=0A= return false;=0A= =0A= return true;=0A= },=0A= =0A= compileMatcher: function() {=0A= if (this.shouldUseXPath())=0A= return this.compileXPathMatcher();=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers,=0A= c =3D Selector.criteria, le, p, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.matcher =3D Selector._cache[e];=0A= return;=0A= }=0A= =0A= this.matcher =3D ["this.matcher =3D function(root) {",=0A= "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"];=0A= =0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :=0A= new Template(c[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.matcher.push("return h.unique(n);\n}");=0A= eval(this.matcher.join('\n'));=0A= Selector._cache[this.expression] =3D this.matcher;=0A= },=0A= =0A= compileXPathMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.xpath =3D Selector._cache[e]; return;=0A= }=0A= =0A= this.matcher =3D ['.//*'];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= if (m =3D e.match(ps[i])) {=0A= this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :=0A= new Template(x[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.xpath =3D this.matcher.join('');=0A= Selector._cache[this.expression] =3D this.xpath;=0A= },=0A= =0A= findElements: function(root) {=0A= root =3D root || document;=0A= if (this.xpath) return document._getElementsByXPath(this.xpath, = root);=0A= return this.matcher(root);=0A= },=0A= =0A= match: function(element) {=0A= this.tokens =3D [];=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, as =3D = Selector.assertions;=0A= var le, p, m;=0A= =0A= while (e && le !=3D=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= // use the Selector.assertions methods unless the selector=0A= // is too complex.=0A= if (as[i]) {=0A= this.tokens.push([i, Object.clone(m)]);=0A= e =3D e.replace(m[0], '');=0A= } else {=0A= // reluctantly do a document-wide search=0A= // and look for a match in the array=0A= return this.findElements(document).include(element);=0A= }=0A= }=0A= }=0A= }=0A= =0A= var match =3D true, name, matches;=0A= for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A= name =3D token[0], matches =3D token[1];=0A= if (!Selector.assertions[name](element, matches)) {=0A= match =3D false; break;=0A= }=0A= }=0A= =0A= return match;=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= },=0A= =0A= inspect: function() {=0A= return "#";=0A= }=0A= });=0A= =0A= Object.extend(Selector, {=0A= _cache: { },=0A= =0A= xpath: {=0A= descendant: "//*",=0A= child: "/*",=0A= adjacent: "/following-sibling::*[1]",=0A= laterSibling: '/following-sibling::*',=0A= tagName: function(m) {=0A= if (m[1] =3D=3D '*') return '';=0A= return "[local-name()=3D'" + m[1].toLowerCase() +=0A= "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A= },=0A= className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A= id: "[@id=3D'#{1}']",=0A= attrPresence: function(m) {=0A= m[1] =3D m[1].toLowerCase();=0A= return new Template("[@#{1}]").evaluate(m);=0A= },=0A= attr: function(m) {=0A= m[1] =3D m[1].toLowerCase();=0A= m[3] =3D m[5] || m[6];=0A= return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= var h =3D Selector.xpath.pseudos[m[1]];=0A= if (!h) return '';=0A= if (Object.isFunction(h)) return h(m);=0A= return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A= },=0A= operators: {=0A= '=3D': "[@#{1}=3D'#{3}']",=0A= '!=3D': "[@#{1}!=3D'#{3}']",=0A= '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A= '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']",=0A= '*=3D': "[contains(@#{1}, '#{3}')]",=0A= '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A= '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A= },=0A= pseudos: {=0A= 'first-child': '[not(preceding-sibling::*)]',=0A= 'last-child': '[not(following-sibling::*)]',=0A= 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]',=0A= 'empty': "[count(*) =3D 0 and (count(text()) =3D 0 or = translate(text(), ' \t\r\n', '') =3D '')]",=0A= 'checked': "[@checked]",=0A= 'disabled': "[@disabled]",=0A= 'enabled': "[not(@disabled)]",=0A= 'not': function(m) {=0A= var e =3D m[6], p =3D Selector.patterns,=0A= x =3D Selector.xpath, le, v;=0A= =0A= var exclusion =3D [];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in p) {=0A= if (m =3D e.match(p[i])) {=0A= v =3D Object.isFunction(x[i]) ? x[i](m) : new = Template(x[i]).evaluate(m);=0A= exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= return "[not(" + exclusion.join(" and ") + ")]";=0A= },=0A= 'nth-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A= },=0A= 'nth-last-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A= },=0A= 'nth-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("position() ", m);=0A= },=0A= 'nth-last-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m);=0A= },=0A= 'first-of-type': function(m) {=0A= m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A= },=0A= 'last-of-type': function(m) {=0A= m[6] =3D "1"; return = Selector.xpath.pseudos['nth-last-of-type'](m);=0A= },=0A= 'only-of-type': function(m) {=0A= var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + = p['last-of-type'](m);=0A= },=0A= nth: function(fragment, m) {=0A= var mm, formula =3D m[6], predicate;=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A= return '[' + fragment + "=3D " + mm[1] + ']';=0A= if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A= if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A= var a =3D mm[1] ? Number(mm[1]) : 1;=0A= var b =3D mm[2] ? Number(mm[2]) : 0;=0A= predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A= "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A= return new Template(predicate).evaluate({=0A= fragment: fragment, a: a, b: b });=0A= }=0A= }=0A= }=0A= },=0A= =0A= criteria: {=0A= tagName: 'n =3D h.tagName(n, r, "#{1}", c); c =3D false;',=0A= className: 'n =3D h.className(n, r, "#{1}", c); c =3D false;',=0A= id: 'n =3D h.id(n, r, "#{1}", c); c =3D false;',=0A= attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D false;',=0A= attr: function(m) {=0A= m[3] =3D (m[5] || m[6]);=0A= return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", = c); c =3D false;').evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A= return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m);=0A= },=0A= descendant: 'c =3D "descendant";',=0A= child: 'c =3D "child";',=0A= adjacent: 'c =3D "adjacent";',=0A= laterSibling: 'c =3D "laterSibling";'=0A= },=0A= =0A= patterns: {=0A= // combinators must be listed first=0A= // (and descendant needs to be last combinator)=0A= laterSibling: /^\s*~\s*/,=0A= child: /^\s*>\s*/,=0A= adjacent: /^\s*\+\s*/,=0A= descendant: /^\s/,=0A= =0A= // selectors follow=0A= tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,=0A= id: /^#([\w\-\*]+)(\b|$)/,=0A= className: /^\.([\w\-\*]+)(\b|$)/,=0A= pseudo:=0A= /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/,=0A= attrPresence: /^\[([\w]+)\]/,=0A= attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^= \]]*?)))?\]/=0A= },=0A= =0A= // for Selector.match and Element#match=0A= assertions: {=0A= tagName: function(element, matches) {=0A= return matches[1].toUpperCase() =3D=3D = element.tagName.toUpperCase();=0A= },=0A= =0A= className: function(element, matches) {=0A= return Element.hasClassName(element, matches[1]);=0A= },=0A= =0A= id: function(element, matches) {=0A= return element.id =3D=3D=3D matches[1];=0A= },=0A= =0A= attrPresence: function(element, matches) {=0A= return Element.hasAttribute(element, matches[1]);=0A= },=0A= =0A= attr: function(element, matches) {=0A= var nodeValue =3D Element.readAttribute(element, matches[1]);=0A= return nodeValue && Selector.operators[matches[2]](nodeValue, = matches[5] || matches[6]);=0A= }=0A= },=0A= =0A= handlers: {=0A= // UTILITY FUNCTIONS=0A= // joins two collections=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= a.push(node);=0A= return a;=0A= },=0A= =0A= // marks an array of nodes for counting=0A= mark: function(nodes) {=0A= var _true =3D Prototype.emptyFunction;=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._countedByPrototype =3D _true;=0A= return nodes;=0A= },=0A= =0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._countedByPrototype =3D undefined;=0A= return nodes;=0A= },=0A= =0A= // mark each child node with its position (for nth calls)=0A= // "ofType" flag indicates whether we're indexing for nth-of-type=0A= // rather than nth-child=0A= index: function(parentNode, reverse, ofType) {=0A= parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A= if (reverse) {=0A= for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) {=0A= var node =3D nodes[i];=0A= if (node.nodeType =3D=3D 1 && (!ofType || = node._countedByPrototype)) node.nodeIndex =3D j++;=0A= }=0A= } else {=0A= for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++)=0A= if (node.nodeType =3D=3D 1 && (!ofType || = node._countedByPrototype)) node.nodeIndex =3D j++;=0A= }=0A= },=0A= =0A= // filters out duplicates and extends all nodes=0A= unique: function(nodes) {=0A= if (nodes.length =3D=3D 0) return nodes;=0A= var results =3D [], n;=0A= for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A= if (!(n =3D nodes[i])._countedByPrototype) {=0A= n._countedByPrototype =3D Prototype.emptyFunction;=0A= results.push(Element.extend(n));=0A= }=0A= return Selector.handlers.unmark(results);=0A= },=0A= =0A= // COMBINATOR FUNCTIONS=0A= descendant: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName('*'));=0A= return results;=0A= },=0A= =0A= child: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= for (var j =3D 0, child; child =3D node.childNodes[j]; j++)=0A= if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child);=0A= }=0A= return results;=0A= },=0A= =0A= adjacent: function(nodes) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= var next =3D this.nextElementSibling(node);=0A= if (next) results.push(next);=0A= }=0A= return results;=0A= },=0A= =0A= laterSibling: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, Element.nextSiblings(node));=0A= return results;=0A= },=0A= =0A= nextElementSibling: function(node) {=0A= while (node =3D node.nextSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= previousElementSibling: function(node) {=0A= while (node =3D node.previousSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= // TOKEN FUNCTIONS=0A= tagName: function(nodes, root, tagName, combinator) {=0A= var uTagName =3D tagName.toUpperCase();=0A= var results =3D [], h =3D Selector.handlers;=0A= if (nodes) {=0A= if (combinator) {=0A= // fastlane for ordinary descendant combinators=0A= if (combinator =3D=3D "descendant") {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName(tagName));=0A= return results;=0A= } else nodes =3D this[combinator](nodes);=0A= if (tagName =3D=3D "*") return nodes;=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.tagName.toUpperCase() =3D=3D=3D uTagName) = results.push(node);=0A= return results;=0A= } else return root.getElementsByTagName(tagName);=0A= },=0A= =0A= id: function(nodes, root, id, combinator) {=0A= var targetNode =3D $(id), h =3D Selector.handlers;=0A= if (!targetNode) return [];=0A= if (!nodes && root =3D=3D document) return [targetNode];=0A= if (nodes) {=0A= if (combinator) {=0A= if (combinator =3D=3D 'child') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (targetNode.parentNode =3D=3D node) return [targetNode];=0A= } else if (combinator =3D=3D 'descendant') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.descendantOf(targetNode, node)) return = [targetNode];=0A= } else if (combinator =3D=3D 'adjacent') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node)=0A= return [targetNode];=0A= } else nodes =3D h[combinator](nodes);=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node =3D=3D targetNode) return [targetNode];=0A= return [];=0A= }=0A= return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : [];=0A= },=0A= =0A= className: function(nodes, root, className, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= return Selector.handlers.byClassName(nodes, root, className);=0A= },=0A= =0A= byClassName: function(nodes, root, className) {=0A= if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A= var needle =3D ' ' + className + ' ';=0A= for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) {=0A= nodeClassName =3D node.className;=0A= if (nodeClassName.length =3D=3D 0) continue;=0A= if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle))=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= attrPresence: function(nodes, root, attr, combinator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= var results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.hasAttribute(node, attr)) results.push(node);=0A= return results;=0A= },=0A= =0A= attr: function(nodes, root, attr, value, operator, combinator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= var handler =3D Selector.operators[operator], results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= var nodeValue =3D Element.readAttribute(node, attr);=0A= if (nodeValue =3D=3D=3D null) continue;=0A= if (handler(nodeValue, value)) results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= pseudo: function(nodes, name, value, root, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= return Selector.pseudos[name](nodes, value, root);=0A= }=0A= },=0A= =0A= pseudos: {=0A= 'first-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.previousElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'last-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.nextElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'only-child': function(nodes, value, root) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!h.previousElementSibling(node) && = !h.nextElementSibling(node))=0A= results.push(node);=0A= return results;=0A= },=0A= 'nth-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root);=0A= },=0A= 'nth-last-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true);=0A= },=0A= 'nth-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, false, true);=0A= },=0A= 'nth-last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true, true);=0A= },=0A= 'first-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, false, true);=0A= },=0A= 'last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, true, true);=0A= },=0A= 'only-of-type': function(nodes, formula, root) {=0A= var p =3D Selector.pseudos;=0A= return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root);=0A= },=0A= =0A= // handles the an+b logic=0A= getIndices: function(a, b, total) {=0A= if (a =3D=3D 0) return b > 0 ? [b] : [];=0A= return $R(1, total).inject([], function(memo, i) {=0A= if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A= return memo;=0A= });=0A= },=0A= =0A= // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type=0A= nth: function(nodes, formula, root, reverse, ofType) {=0A= if (nodes.length =3D=3D 0) return [];=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A= h.mark(nodes);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= if (!node.parentNode._countedByPrototype) {=0A= h.index(node.parentNode, reverse, ofType);=0A= indexed.push(node.parentNode);=0A= }=0A= }=0A= if (formula.match(/^\d+$/)) { // just a number=0A= formula =3D Number(formula);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.nodeIndex =3D=3D formula) results.push(node);=0A= } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b=0A= if (m[1] =3D=3D "-") m[1] =3D -1;=0A= var a =3D m[1] ? Number(m[1]) : 1;=0A= var b =3D m[2] ? Number(m[2]) : 0;=0A= var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A= for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) {=0A= for (var j =3D 0; j < l; j++)=0A= if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A= }=0A= }=0A= h.unmark(nodes);=0A= h.unmark(indexed);=0A= return results;=0A= },=0A= =0A= 'empty': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= // IE treats comments as element nodes=0A= if (node.tagName =3D=3D '!' || (node.firstChild && = !node.innerHTML.match(/^\s*$/))) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= 'not': function(nodes, selector, root) {=0A= var h =3D Selector.handlers, selectorType, m;=0A= var exclusions =3D new Selector(selector).findElements(root);=0A= h.mark(exclusions);=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node._countedByPrototype) results.push(node);=0A= h.unmark(exclusions);=0A= return results;=0A= },=0A= =0A= 'enabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'disabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'checked': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.checked) results.push(node);=0A= return results;=0A= }=0A= },=0A= =0A= operators: {=0A= '=3D': function(nv, v) { return nv =3D=3D v; },=0A= '!=3D': function(nv, v) { return nv !=3D v; },=0A= '^=3D': function(nv, v) { return nv.startsWith(v); },=0A= '$=3D': function(nv, v) { return nv.endsWith(v); },=0A= '*=3D': function(nv, v) { return nv.include(v); },=0A= '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + = ' '); },=0A= '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + = '-').include('-' + v.toUpperCase() + '-'); }=0A= },=0A= =0A= split: function(expression) {=0A= var expressions =3D [];=0A= expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, = function(m) {=0A= expressions.push(m[1].strip());=0A= });=0A= return expressions;=0A= },=0A= =0A= matchElements: function(elements, expression) {=0A= var matches =3D $$(expression), h =3D Selector.handlers;=0A= h.mark(matches);=0A= for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++)=0A= if (element._countedByPrototype) results.push(element);=0A= h.unmark(matches);=0A= return results;=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (Object.isNumber(expression)) {=0A= index =3D expression; expression =3D false;=0A= }=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= expressions =3D Selector.split(expressions.join(','));=0A= var results =3D [], h =3D Selector.handlers;=0A= for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A= selector =3D new Selector(expressions[i].strip());=0A= h.concat(results, selector.findElements(element));=0A= }=0A= return (l > 1) ? h.unique(results) : results;=0A= }=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(Selector.handlers, {=0A= // IE returns comment nodes on getElementsByTagName("*").=0A= // Filter them out.=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= if (node.tagName !=3D=3D "!") a.push(node);=0A= return a;=0A= },=0A= =0A= // IE improperly serializes _countedByPrototype in (inner|outer)HTML.=0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node.removeAttribute('_countedByPrototype');=0A= return nodes;=0A= }=0A= });=0A= }=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements, options) {=0A= if (typeof options !=3D 'object') options =3D { hash: !!options };=0A= else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A= var key, value, submitted =3D false, submit =3D options.submit;=0A= =0A= var data =3D elements.inject({ }, function(result, element) {=0A= if (!element.disabled && element.name) {=0A= key =3D element.name; value =3D $(element).getValue();=0A= if (value !=3D null && (element.type !=3D 'submit' || = (!submitted &&=0A= submit !=3D=3D false && (!submit || key =3D=3D submit) && = (submitted =3D true)))) {=0A= if (key in result) {=0A= // a key is already present; construct an array of values=0A= if (!Object.isArray(result[key])) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= }=0A= else result[key] =3D value;=0A= }=0A= }=0A= return result;=0A= });=0A= =0A= return options.hash ? data : Object.toQueryString(data);=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form, options) {=0A= return Form.serializeElements(Form.getElements(form), options);=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name) return $A(inputs).map(Element.extend);=0A= =0A= for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('disable');=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('enable');=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= var elements =3D $(form).getElements().findAll(function(element) {=0A= return 'hidden' !=3D element.type && !element.disabled;=0A= });=0A= var firstByIndex =3D elements.findAll(function(element) {=0A= return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A= }).sortBy(function(element) { return element.tabIndex }).first();=0A= =0A= return firstByIndex ? firstByIndex : elements.find(function(element) = {=0A= return ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase());=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= form.findFirstElement().activate();=0A= return form;=0A= },=0A= =0A= request: function(form, options) {=0A= form =3D $(form), options =3D Object.clone(options || { });=0A= =0A= var params =3D options.parameters, action =3D = form.readAttribute('action') || '';=0A= if (action.blank()) action =3D window.location.href;=0A= options.parameters =3D form.serialize(true);=0A= =0A= if (params) {=0A= if (Object.isString(params)) params =3D params.toQueryParams();=0A= Object.extend(options.parameters, params);=0A= }=0A= =0A= if (form.hasAttribute('method') && !options.method)=0A= options.method =3D form.method;=0A= =0A= return new Ajax.Request(action, options);=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element =3D {=0A= focus: function(element) {=0A= $(element).focus();=0A= return element;=0A= },=0A= =0A= select: function(element) {=0A= $(element).select();=0A= return element;=0A= }=0A= };=0A= =0A= Form.Element.Methods =3D {=0A= serialize: function(element) {=0A= element =3D $(element);=0A= if (!element.disabled && element.name) {=0A= var value =3D element.getValue();=0A= if (value !=3D undefined) {=0A= var pair =3D { };=0A= pair[element.name] =3D value;=0A= return Object.toQueryString(pair);=0A= }=0A= }=0A= return '';=0A= },=0A= =0A= getValue: function(element) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= return Form.Element.Serializers[method](element);=0A= },=0A= =0A= setValue: function(element, value) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= Form.Element.Serializers[method](element, value);=0A= return element;=0A= },=0A= =0A= clear: function(element) {=0A= $(element).value =3D '';=0A= return element;=0A= },=0A= =0A= present: function(element) {=0A= return $(element).value !=3D '';=0A= },=0A= =0A= activate: function(element) {=0A= element =3D $(element);=0A= try {=0A= element.focus();=0A= if (element.select && (element.tagName.toLowerCase() !=3D 'input' = ||=0A= !['button', 'reset', 'submit'].include(element.type)))=0A= element.select();=0A= } catch (e) { }=0A= return element;=0A= },=0A= =0A= disable: function(element) {=0A= element =3D $(element);=0A= element.blur();=0A= element.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Field =3D Form.Element;=0A= var $F =3D Form.Element.Methods.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element, value) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element, value);=0A= default:=0A= return Form.Element.Serializers.textarea(element, value);=0A= }=0A= },=0A= =0A= inputSelector: function(element, value) {=0A= if (Object.isUndefined(value)) return element.checked ? = element.value : null;=0A= else element.checked =3D !!value;=0A= },=0A= =0A= textarea: function(element, value) {=0A= if (Object.isUndefined(value)) return element.value;=0A= else element.value =3D value;=0A= },=0A= =0A= select: function(element, index) {=0A= if (Object.isUndefined(index))=0A= return this[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= else {=0A= var opt, value, single =3D !Object.isArray(index);=0A= for (var i =3D 0, length =3D element.length; i < length; i++) {=0A= opt =3D element.options[i];=0A= value =3D this.optionValue(opt);=0A= if (single) {=0A= if (value =3D=3D index) {=0A= opt.selected =3D true;=0A= return;=0A= }=0A= }=0A= else opt.selected =3D index.include(value);=0A= }=0A= }=0A= },=0A= =0A= selectOne: function(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? this.optionValue(element.options[index]) : = null;=0A= },=0A= =0A= selectMany: function(element) {=0A= var values, length =3D element.length;=0A= if (!length) return null;=0A= =0A= for (var i =3D 0, values =3D []; i < length; i++) {=0A= var opt =3D element.options[i];=0A= if (opt.selected) values.push(this.optionValue(opt));=0A= }=0A= return values;=0A= },=0A= =0A= optionValue: function(opt) {=0A= // extend element because hasAttribute may not be native=0A= return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A= initialize: function($super, element, frequency, callback) {=0A= $super(callback, frequency);=0A= this.element =3D $(element);=0A= this.lastValue =3D this.getValue();=0A= },=0A= =0A= execute: function() {=0A= var value =3D this.getValue();=0A= if (Object.isString(this.lastValue) && Object.isString(value) ?=0A= this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= });=0A= =0A= Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D Class.create({=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= Form.getElements(this.element).each(this.registerCallback, this);=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= });=0A= =0A= Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) var Event =3D { };=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= KEY_INSERT: 45,=0A= =0A= cache: { },=0A= =0A= relatedTarget: function(event) {=0A= var element;=0A= switch(event.type) {=0A= case 'mouseover': element =3D event.fromElement; break;=0A= case 'mouseout': element =3D event.toElement; break;=0A= default: return null;=0A= }=0A= return Element.extend(element);=0A= }=0A= });=0A= =0A= Event.Methods =3D (function() {=0A= var isButton;=0A= =0A= if (Prototype.Browser.IE) {=0A= var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A= isButton =3D function(event, code) {=0A= return event.button =3D=3D buttonMap[code];=0A= };=0A= =0A= } else if (Prototype.Browser.WebKit) {=0A= isButton =3D function(event, code) {=0A= switch (code) {=0A= case 0: return event.which =3D=3D 1 && !event.metaKey;=0A= case 1: return event.which =3D=3D 1 && event.metaKey;=0A= default: return false;=0A= }=0A= };=0A= =0A= } else {=0A= isButton =3D function(event, code) {=0A= return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code);=0A= };=0A= }=0A= =0A= return {=0A= isLeftClick: function(event) { return isButton(event, 0) },=0A= isMiddleClick: function(event) { return isButton(event, 1) },=0A= isRightClick: function(event) { return isButton(event, 2) },=0A= =0A= element: function(event) {=0A= var node =3D Event.extend(event).target;=0A= return Element.extend(node.nodeType =3D=3D Node.TEXT_NODE ? = node.parentNode : node);=0A= },=0A= =0A= findElement: function(event, expression) {=0A= var element =3D Event.element(event);=0A= if (!expression) return element;=0A= var elements =3D [element].concat(element.ancestors());=0A= return Selector.findElement(elements, expression, 0);=0A= },=0A= =0A= pointer: function(event) {=0A= return {=0A= x: event.pageX || (event.clientX +=0A= (document.documentElement.scrollLeft || = document.body.scrollLeft)),=0A= y: event.pageY || (event.clientY +=0A= (document.documentElement.scrollTop || = document.body.scrollTop))=0A= };=0A= },=0A= =0A= pointerX: function(event) { return Event.pointer(event).x },=0A= pointerY: function(event) { return Event.pointer(event).y },=0A= =0A= stop: function(event) {=0A= Event.extend(event);=0A= event.preventDefault();=0A= event.stopPropagation();=0A= event.stopped =3D true;=0A= }=0A= };=0A= })();=0A= =0A= Event.extend =3D (function() {=0A= var methods =3D Object.keys(Event.Methods).inject({ }, function(m, = name) {=0A= m[name] =3D Event.Methods[name].methodize();=0A= return m;=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(methods, {=0A= stopPropagation: function() { this.cancelBubble =3D true },=0A= preventDefault: function() { this.returnValue =3D false },=0A= inspect: function() { return "[object Event]" }=0A= });=0A= =0A= return function(event) {=0A= if (!event) return false;=0A= if (event._extendedByPrototype) return event;=0A= =0A= event._extendedByPrototype =3D Prototype.emptyFunction;=0A= var pointer =3D Event.pointer(event);=0A= Object.extend(event, {=0A= target: event.srcElement,=0A= relatedTarget: Event.relatedTarget(event),=0A= pageX: pointer.x,=0A= pageY: pointer.y=0A= });=0A= return Object.extend(event, methods);=0A= };=0A= =0A= } else {=0A= Event.prototype =3D Event.prototype || = document.createEvent("HTMLEvents").__proto__;=0A= Object.extend(Event.prototype, methods);=0A= return Prototype.K;=0A= }=0A= })();=0A= =0A= Object.extend(Event, (function() {=0A= var cache =3D Event.cache;=0A= =0A= function getEventID(element) {=0A= if (element._prototypeEventID) return element._prototypeEventID[0];=0A= arguments.callee.id =3D arguments.callee.id || 1;=0A= return element._prototypeEventID =3D [++arguments.callee.id];=0A= }=0A= =0A= function getDOMEventName(eventName) {=0A= if (eventName && eventName.include(':')) return "dataavailable";=0A= return eventName;=0A= }=0A= =0A= function getCacheForID(id) {=0A= return cache[id] =3D cache[id] || { };=0A= }=0A= =0A= function getWrappersForEventName(id, eventName) {=0A= var c =3D getCacheForID(id);=0A= return c[eventName] =3D c[eventName] || [];=0A= }=0A= =0A= function createWrapper(element, eventName, handler) {=0A= var id =3D getEventID(element);=0A= var c =3D getWrappersForEventName(id, eventName);=0A= if (c.pluck("handler").include(handler)) return false;=0A= =0A= var wrapper =3D function(event) {=0A= if (!Event || !Event.extend ||=0A= (event.eventName && event.eventName !=3D eventName))=0A= return false;=0A= =0A= Event.extend(event);=0A= handler.call(element, event);=0A= };=0A= =0A= wrapper.handler =3D handler;=0A= c.push(wrapper);=0A= return wrapper;=0A= }=0A= =0A= function findWrapper(id, eventName, handler) {=0A= var c =3D getWrappersForEventName(id, eventName);=0A= return c.find(function(wrapper) { return wrapper.handler =3D=3D = handler });=0A= }=0A= =0A= function destroyWrapper(id, eventName, handler) {=0A= var c =3D getCacheForID(id);=0A= if (!c[eventName]) return false;=0A= c[eventName] =3D c[eventName].without(findWrapper(id, eventName, = handler));=0A= }=0A= =0A= function destroyCache() {=0A= for (var id in cache)=0A= for (var eventName in cache[id])=0A= cache[id][eventName] =3D null;=0A= }=0A= =0A= if (window.attachEvent) {=0A= window.attachEvent("onunload", destroyCache);=0A= }=0A= =0A= return {=0A= observe: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var name =3D getDOMEventName(eventName);=0A= =0A= var wrapper =3D createWrapper(element, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.addEventListener) {=0A= element.addEventListener(name, wrapper, false);=0A= } else {=0A= element.attachEvent("on" + name, wrapper);=0A= }=0A= =0A= return element;=0A= },=0A= =0A= stopObserving: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var id =3D getEventID(element), name =3D = getDOMEventName(eventName);=0A= =0A= if (!handler && eventName) {=0A= getWrappersForEventName(id, eventName).each(function(wrapper) {=0A= element.stopObserving(eventName, wrapper.handler);=0A= });=0A= return element;=0A= =0A= } else if (!eventName) {=0A= Object.keys(getCacheForID(id)).each(function(eventName) {=0A= element.stopObserving(eventName);=0A= });=0A= return element;=0A= }=0A= =0A= var wrapper =3D findWrapper(id, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, wrapper, false);=0A= } else {=0A= element.detachEvent("on" + name, wrapper);=0A= }=0A= =0A= destroyWrapper(id, eventName, handler);=0A= =0A= return element;=0A= },=0A= =0A= fire: function(element, eventName, memo) {=0A= element =3D $(element);=0A= if (element =3D=3D document && document.createEvent && = !element.dispatchEvent)=0A= element =3D document.documentElement;=0A= =0A= var event;=0A= if (document.createEvent) {=0A= event =3D document.createEvent("HTMLEvents");=0A= event.initEvent("dataavailable", true, true);=0A= } else {=0A= event =3D document.createEventObject();=0A= event.eventType =3D "ondataavailable";=0A= }=0A= =0A= event.eventName =3D eventName;=0A= event.memo =3D memo || { };=0A= =0A= if (document.createEvent) {=0A= element.dispatchEvent(event);=0A= } else {=0A= element.fireEvent(event.eventType, event);=0A= }=0A= =0A= return Event.extend(event);=0A= }=0A= };=0A= })());=0A= =0A= Object.extend(Event, Event.Methods);=0A= =0A= Element.addMethods({=0A= fire: Event.fire,=0A= observe: Event.observe,=0A= stopObserving: Event.stopObserving=0A= });=0A= =0A= Object.extend(document, {=0A= fire: Element.Methods.fire.methodize(),=0A= observe: Element.Methods.observe.methodize(),=0A= stopObserving: Element.Methods.stopObserving.methodize(),=0A= loaded: false=0A= });=0A= =0A= (function() {=0A= /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A= Matthias Miller, Dean Edwards and John Resig. */=0A= =0A= var timer;=0A= =0A= function fireContentLoadedEvent() {=0A= if (document.loaded) return;=0A= if (timer) window.clearInterval(timer);=0A= document.fire("dom:loaded");=0A= document.loaded =3D true;=0A= }=0A= =0A= if (document.addEventListener) {=0A= if (Prototype.Browser.WebKit) {=0A= timer =3D window.setInterval(function() {=0A= if (/loaded|complete/.test(document.readyState))=0A= fireContentLoadedEvent();=0A= }, 0);=0A= =0A= Event.observe(window, "load", fireContentLoadedEvent);=0A= =0A= } else {=0A= document.addEventListener("DOMContentLoaded",=0A= fireContentLoadedEvent, false);=0A= }=0A= =0A= } else {=0A= document.write("