From: <Сохранено Windows Internet Explorer 8> Subject: A Tour of Scala | The Scala Programming Language Date: Fri, 18 Sep 2009 12:57:27 +0300 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01CA385F.93301190" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.scala-lang.org/node/104 =EF=BB=BF A Tour of Scala | = The Scala Programming Language
Search this site:
=20 =20
Home = =C2=BB A Tour of=20 Scala

A Tour of Scala

Created by admin on = 2008-07-05. Updated:=20 2008-08-20, 08:37

Scala is a modern multi-paradigm programming language designed to = express=20 common programming patterns in a concise, elegant, and type-safe way. It = smoothly integrates features of object-oriented and functional = languages.

Scala is object-oriented

Scala is a pure object-oriented = language in the=20 sense that every = value is an=20 object. Types and behavior of objects are described by classes and traits. Classes are = extended=20 by subclassing and a=20 flexible mixin-based = composition mechanism as a clean replacement for multiple=20 inheritance.

Scala is functional

Scala is also a functional language in = the sense=20 that every function = is a=20 value. Scala provides a lightweight = syntax for=20 defining anonymous functions, it supports higher-order functions, = it allows=20 functions to be nested,=20 and supports currying.=20 Scala's case=20 classes and its built-in support for pattern = matching model=20 algebraic types used in many functional programming languages.

Furthermore, Scala's notion of pattern = matching=20 naturally extends to the processing of XML = data with=20 the help of right-ignoring=20 sequence patterns. In this context, sequence = comprehensions are=20 useful for formulating queries. These features make Scala ideal for = developing=20 applications like web=20 services.

Scala is statically typed

Scala is equipped with an expressive = type system=20 that enforces statically that abstractions are used in a safe and = coherent=20 manner. In particular, the type system supports:

  • generic classes,
  • variance = annotations,
  • upper and lower type = bounds,
  • inner = classes and abstract types as = object=20 members,
  • compound types,
  • explicitly typed self=20 references,
  • views, and
  • polymorphic = methods.

local type=20 inference mechanism takes care that the user is not required to = annotate the program with redundant type information. In combination, = these=20 features provide a powerful basis for the safe reuse of programming = abstractions=20 and for the type-safe extension of software.

Scala is extensible

In practice, the development of = domain-specific=20 applications often requires domain-specific language extensions. Scala = provides=20 a unique combination of language mechanisms that make it easy to = smoothly add=20 new language constructs in form of libraries:

  • any method may be used as an infix or postfix = operator,=20 and
  • closures are constructed=20 automatically depending on the expected type (target = typing).

A joint use of both features = facilitates the=20 definition of new statements without extending the syntax and = without=20 using macro-like meta-programming facilities.

Scala interoperates with Java and .NET

Scala is designed to interoperate well = with the=20 popular Java 2 Runtime Environment (JRE). In=20 particular, the interaction with the mainstream object-oriented Java = programming=20 language is as smooth as possible. Scala has the same compilation model=20 (separate compilation, dynamic class loading) like Java and allows = access to=20 thousands of existing high-quality libraries. Support for the .NET=20 Framework (CLR) is also = available.


Please continue to the next page to read = more.

Featured News

  • Scala 2.7.6 final
  • Lift Version 1.0 Released =
=20

User login

=
=
will be sent=20 securely
=20

Create new = account

Retrieve lost=20 password

Poll

I learn/use Scala because:
=20
=20 =20

Copyright =C2=A9 2009 =C3=89cole = Polytechnique F=C3=A9d=C3=A9rale de=20 Lausanne (EPFL), Lausanne, Switzerland

------=_NextPart_000_0000_01CA385F.93301190 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.scala-lang.org/sites/default/files/newsflash_logo.png iVBORw0KGgoAAAANSUhEUgAAAoYAAABdCAYAAAA47Ke8AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A /wD/oL2nkwAAIABJREFUeF7tnQlgU1XWx1+2ZmvTpm2S7vu+Q8GybwIiihvijOM26jg68o3bqOPM qLgrbozO6IjruA+KCCgICLKVRaBAoXTfk6bZk6ZpsyfffelCWpo0aV7apD1v5pkm79xzz/3dm/bP fe+eS3rmk08Y0eRENodpZzNC6aFhLAabQWeyOehnJpPBZjEZoRjBB2W4v0s+GDBweeGSiMhExuih s0uj8yBeD0w8acrQED0M2JVjFBNBYY1cwyXh9dXmjzrdk+i/6o+KndvjY3fgbPpcEBColy68NB+h vz1ovAsTD0q6+Wo4RT628Wzvdz7wOlCX83u7Ff/U8R/M6XOruzLOtm59OzXOpR2q2tW1vs/7YhsW n6syDuNBf3Z0DAPc/57q4nOLy7oGwkAFR+RK7f8ceXDPzikmJ1/D67Vjg6GgS9SRfV5S3uxs56rt /VX1+7QPKTOE89B2UC/6c1NmSDvsNKd4TI6uGTL2Bo3t7pgNbQd61+cjZGgZu9F12+1DbUcdH67H zeBAHNHHkP4YNvaG+xywZbi3G9IHAz7sdpbT5z2IqvN7B2XH9eF12myuvxu2sIucbU4xOf+M+4zo v2az2UaMDbcZfm34e6u17/eLxWIZ4sP5vcmUMXhNnze0r0uHfsfc//7oH2S+/S4e9lsE3gIBIAAE gAAQAAJAAAgELwEQhiP0nfXMWW7wdilEDgSAABAAAkAACACBsREAYTiMG8lmIxlee+2GseGEUkAA CAABIAAEgAAQCF4CIAyd+s7W1sbq/t3Nf7Q21M8O3i6FyIEAEAACQAAIAAEgMDYC6BlgOHBB2Lth w+WWipNLSSYTmwRIgAAQAAJAAAgAASAwBQlMWWFIMptJvf/7Ksv0y/6Z1rraMpLVygRBOAW/AdBk IAAEgAAQAAJAYJDAlBKGVqmUbvj++yxzxck8S0PdDKzXwMXFoEMQkkAWwvcCCAABIAAEgAAQmNoE JrUwNHd0Moy7dqaazp1NtzY25trkinSS3eZoM64DSX2SEA4gAASAABAAAkAACAABRGDSCEN8NrDn 4IF4y4XqBHNzU4pVLE7DtJo4lOqRPDArSIJZQRj0k4BAfX1dok6nC/OoKW6Wlxn0+rA58+b96pEf MAICQAAIAIEpQSD4hKHRSO45Us7vPXUy0dbSEm+TSOMtSnmCXdcTjXQf/n/HPKDjhFnBKTGIp1oj tVoN9/JFdz3ga7tz81Kw4xU7QBj6ChLKAwEgAAQmEYGAFYbGlla2/tQZvrGhRmBu7xBYlVK+XaWJ sarV8SS7nTpc+E2mm8JKhTxcpZTzDHoD247kLZVCMZnNZiaNRtNbrNYQEtq8h0ymWEkkO9lqtpKZ rFBtXEKCJDQ0rHcSjU1oChAAAkAACAABIDDOBCZUGBrq68N0lad5xqYmnkXcwTdL5QKrWiWwdXXx MbOF3Tfj1/cs4EUhiBOaPDLQZrOSm+vrU7q7e8IbW9oj25pEvOZmYWhri5gpk6jCdD29EVazhY4E IQ3tmUjDb4dTKBQzlUI2hTBCeplMZjdfEKVLT483xscLdPGJAmVGZqqKw2EZE+OTWsIjo7rHeUxB dUAACAABIAAEgECQEvCrMCSh276qY0d5hrraaGNrO88ilfAsKiUPCT+eTdfNQ+KPMSD+HPJvUAhO /oUhTY11qcI2Me9o+an0I4crebU1TZlms4U52jjC9+RGm2eHWCxYiMFoCtV26fhSiRw7X1k7WBSJ R3s0L1I4e05RZ+n0fElRSXYnTxDTmZKa1jGaf7gOBIAAEAACQAAITF0ChAhDs7iDody1J7m3sUFg EosEJoU8xqLRCNBzfzzMbqMMPvM3xcTfJcMKad/a6guZx46cytyyeV8GEnN5NpudQvTwQ+KRJJcp k7Zv3Y+fWEhISO+cucXVy1fOay8uzunIzs6vYTCZJqLrBX9AAAgAASAABIBAcBPwWRhWLFv8uEkq y0DP/fWt/nUs/+g7HLeAJ89dX596ur29Ne6XvQdKPnr/+2ltbeJUn5x5WdhkMrEO7D85Az/5/GjR P57+Q8Lqm9bs8NINmAMBIAAEgAAQAAKTnIDPwtAokWaB9nM9SvBnCA/u2z/jnXe/Ljtx/FzxRI+n 7u7uBDqdtXOi44D6gQAQAAJAAAgAgcAj4LMwDLwmBU5EOl0369uvtyxcv/7DZb09Bk4gRJaTk6Jb unzJ2UCIBWIAAkAACAABIAAEAosACEM/9YdKreS8veHDKz7+YPNyVEXATKomJsd0wPOFfup0cAsE gAAQAAJAIMgJgDD0QwdqNOrQ1195Z9UXn/2w2A/ufXKZkpIk9MkBFAYCQAAIAAEgAAQmLQE3G2ZN 2jb7tWEmk5H2wXufXRmIopDNZmAl03Lr/QoAnAMBIAAEgAAQAAJBSwCEIcFd9/13Wxe++++vlhLs lhB3OXkp2kVLFp0jxBk4AQJAAAgAASAABCYdARCGI3QpiUrVj6WnL5w/n/r2W18ssVpthOcmHEs8 w8skJMSKQuh0CxG+wAcQAAJAAAgAASAw+QiAMByhTynFRQe97mqUsvGrL7cuEbZJ+F6XHacCaelJ sPPJOLGGaoAAEAACQAAIBCMBEIbDeo1cULif/dbbW7ztzMOHjhRt/X5fibflxss+jMPGSkry68ar PqgHCAABIAAEgAAQCD4CsCq5v8/aqTR1xE1rvkp+8OEz9jHI5b27Dk/v1vaMutfxRA2RnNxkzeKl i+H5wonqAKgXCAABIAAEgEAQEJjSwtBgt2OHjQbsmx4ddtpo4FI3vH7XbSrlp888/8Ipb/pOKZdF HDtemetNGU9sOeFsLC4uGkNhYjQaBTMazRiDEeJ4pVIpmM1mw1QqLSaXaZANMnJzJKLnC8lkss2T esEGCAABIAAEgAAQmJoEppww7MXs2CmTCfvFZMAOG4xYj83qEFj4YTabmR99sPE+i9X8/gsvrT/h 6ZA4ePBYSV1Na6Sn9u7s8L2mMzIT7IlJsSIk5qrSszMri0sK5OlpCT3MUJZVr+uldHTKGcIWUWhj Yyu3s7MzDe2wkqqQq/hKhYZvNluoLc1izGQyD6kmPROeLySif8AHEAACQAAIAIHJTGDSC0MT6r16 qxU7bTFhFRYzVoUEk8Vuc8ywuZpl27xp0w3eCMPz5+qTR5ux82QQkckkbP6C6bKbfnf9xlXXXdE2 UhkaN9zC4Ybr8vMydOi6BJ01GNZ371ur1lK//vq77JrqugXt7eJMbZeO09ggwtihTKy0tPiCJzGA DRAAAkAACAABIDB1CUwqYYjP+8mQ4GtAwq8WzQTWWS1YA5oNNCFhOCAEkSQctbfZvfroUY2cDDo7 ZQJv7F3ZlpUVyF5969nnYmMFhrH443A5lnvvvxMXgBfQLCjpo/e/zjl9qmIlhYrFzpk/FwlIODwk QJJ0dnI1Gg1X39PDsmE2CslOsmMk9F+kwUkkitVkMtHRbX0jmmWmkclUa2hoqCY5MVHKZDLxf4vA cZEASSzu5KpUCq5er2fhqZzIZPR1RCzRow34XpEOlgim0epgSbaGh4drkpKSgCWMIiAABIDABBAI WmGoRbdchUjktaMTf21BAlCIBCH+3CB+a3hACHo7k4dvavww17u7whqVlktE3624auGRsYrC4fWj P7D2e+67BYnBW2q0Wh0Vf09EjET56O7WMtQyWbRW2xVhs9mpJPT8o81uJVFIZCvqPRJmwygYEgl4 fbiOCOdGqOITkqQ0Ks3xGVGHzWojtbY2xWlUmugevZHSUNfME7Z3Rra2dTA62mWszk55WK9eH4ae 62SZTRY6GltUNKZIFArFTKNSTJSQECOXE6qKjef3ZGQl6DMzkxW5uWnSmBieNjs3t3EqCUWr1Upq bm6KU6uV0T09Bkp9fQuvtVUciWavGaI2CUssViCWBsTSOCJLKs4yArGM4/dkZibqs7JwlhlSxFab l5c3pVgSNb7BDxAAAkDAWwIBLwzVSADK0cyCDLWsE91qFSLlJkTzDBrH7WBsyEygr8qHg+p5mhuF rWCyPOZosVgoup7eUI8LuDCk02nYtNLCFl/9jFSewwmd8KTWnWJxtEwiidN294TUVjfxmxqFUa3N HfS2dkmYRt0VaTSZmVazNcRiMSPxZUezSmRLCI1qDGEydBw2uzsxRdCdkZFkiE/gq7KyUhQJCTFd ickpLVFR0d3eMkPChNpQW5shkyvCz56ujj96rJJ7/kx9okrdFY+LPk/8IREUgp+Y0RTa062LEnVI sJMnLi76RsJQePnyMuGSJZc1TCstbkpNTRV74jfYbHCWNTU1GVKpIvzMmQvxR4+c41aerkMsNWNi qUMshUIJduLXiyzjYvnCJYjl0iWzG6bPKGzKyMiYlCyDre8hXiAABCYngYAQhloKGVOg+51K9Cqn UDA5LgbRKUNC0Nj/LOAls4C+qkCn/sQF4W9ZodgtoWFYBPrZmwPdBgvp7dXTvCkzki2+0rhbp2P7 6ieQyquUSo6wrS31QnUj7/ChitjD+0+lKVWaBBTjqOILn5kzGE34ydZqtAJRRyd27MjZweaFccKU 112/QHXv/XdvzMpK03jS7vr6umR0W1Nw+PDJ1J0/lic0NbZm4SLUk7Le2kgk8sQvP/sRP2dPL82r veWOVeeuvHJJRWxsrMpbX4FoX1tbmywSdQoO7P81deeO8oTGBv+xFHfKEr/49Af8nF06I7/2tjuu Obdq1bJJwzIQ+xdiAgJAYOoSGBdhaEUir4tGxTRUGqZGaVbUVCqmQgJMhX5Wold8/exw4Tfw3l9d g8u/YloItozBxFbQGVgYEqSjqhUXwRC1Bd6x8tOpMy6bWRnstx87Ojp4Lc0tybt+PJyyefPuki5N dwzR/dit7Y6qPFsXkZScqB3N97lzlfnV1fWxmzftSSsvP11ssVjpo5Uh8DrpdEV1Ln7uWHogZ+0D tx5YsmTheQL9j6urioqK/OoLDbHfbNqdhsT+uLOsOHUhFz9/3L4/54GH7jiwdOmioGU5rh0HlQEB IAAEPCRAmDC0IfHXTaNhGjod60KnOgSJPyQEVUgQ6pDosg577s9ZCDruCY/DwUB1FCExOBPFtYRB xwRkqkMMjlUQ4iGz2CwDh8PGtW2Ir0346P3Nc7Kyk9WLli46FhHBxVcdB9WhUatD0W3F7K+/+Clt 65a9C8xmk18TfnMjwxUMOm3U3Iw7d+4veH39f5dNNMxf9v5aXHm2PumJJ/+w+867btmH7pePz8An sOE7f9xfsP6VTyac5d6fjxefOVOX9I+n/rj7j3+8fR+ZTAk6lgR2C7gCAkAACBBGwGdheDY21toe xqbIGQyUBqYvBczgCmAnMUhYxF44YiLJl41EaS6NjE0nU7ACJAhDkIDFj/4XL7y5MEXNpTNCeokQ hnq9MfTRh15ftfZBcejSZbOb84uKz6M/eKMKH98b4buHpvr65J07D2S/teHzpT26Xu9W74yxeh4v En/0dNQjPl4QMLdvlQo19++PbVjd093DePDh+3ag4INK0MQnxgQUy78++sZqnU7HePTRB4OO5agD FwyAABAAAhNAwGdhuObL/z10pPxgeltzS6JUKknUdmliUcJlPlqUMZ636zB8NjARqb1klE8kA80E 5qDXFPTMIn6DeGBWEE8e7Y8jIpyjRn4jiPCNnllkbXjtv1dt+ebnxrvvvSERPWwvSs/MqmGz2UYi /PvBB+nX48eL33z142mHDlbM9YP/EV3ii3XQAo8OT+pbsGB2ZWpa/FUtzR0+LxLypL7RbFASctqL z21cFcIIMf3pT3ftGc0+kK4vXjy3Mi09/qrmpsBh+fwz760KCWGYHnjg3qBiGUj9CrEAASAABAYI +CwMeTye/rrrb6xCDvFz8GhuauLU19fwRCIhX9Yp4avVKp5Go+b36HQ8tJIxbKxdQEYzknx0Jtjs WBIuBtEi0iQk/QRoRhCtVXHIwEEhONZKvCyXEM/vREVSvSzm1rytrSPj6b//K0Mg4LWv+e3y7AWL ZjbHxAikKekZ7UTW44svfEXqsfJj0/7y0KvLxGJpmi++vC2bkMDHcvJzKj0pl5ycIissyupAwjDb E/vxsDGbrZQ313+6MjkxXrry6is8asd4xDVaHWh1tYMlEoYBxfL19R+vTE1Nkq5adWXQsByNNVwH AkAACEwEAZ+Foaug09LTtfiJrjcNt5FLJMyqqkp+U1MTXyLu4CtVKr5KpeSjBQV8g0EfjtuzkPjj oYx2PJSoWmBFP6PXWCQGE9DntAHx1y8EcXv/zAV61iW5RdkVgpjIOVIJ8XfZpFJ50r/f+jLp/f98 2zt3QUnl1dcsEmXnZEjT0lIaOBxuj2cREm+F8v+RD+w7MOPBP69f1aXpIiTBtzdRot1crNdce+Ul Y8uVj8ysJHwnmYARM3icCoU69IONm1YuXDinjh0WNqak5t4wI8o2OzslIFm+987niOXcOpToPWhY EtUn4AcIAAEgQBQBvwlDdwHGxMTo0dk2L6lepas8rTQ2NSksJJLCbLErzQZTjL27S0AyW5j4nd++ 2b/+WcD+90Q1nig/a9Zcd+77b3cpkTCMIsrncD/4Leb9e0/MRicWFcUVXXP9wsZFi8qaU9ISO9Mz cv2S/9BNW0iHDhwqfeSh9SsnQhTicXm68GSgDTNnFjeHhNDsaA/pifw3xCVIDx6oSH/v3f+u+Mtf /7zVX2OHaL8zLwtMlgcQy3fe+XDF3558JGhYEt034A8IAAEg4CsBvwpDktFIVh07yjPU1UYbW9t5 FqmEZ1EpebauLp5N183DzBbGgPhzyL9BIYg3K6D+frvljO8qUlSUe+xcZcPVOp3e1z4ZtbxSqU74 5MOtCZ9+vG1+SUlu9XWrL28uLS0UZufmVTPGYUu2yrNnc5947I3LVcquuFGD9ZOBpwtPBqqfO3f2 +dLpObJjx8+P++ymOwT4Qq09e47NvOf+3+/iBMms4fz5iGUpYnks8Fju/ql85toH/rCLy4FZQz99 9cAtEAACk5wAIcLQLO5gKHftSe5tbBCYxCKBSSGPsWg0Aruuh4fZ0T6z/TLPMfPnJP765gEnx/HA X+774czZqrm/HrtAyPZ4nlDBkzOfPl1diJ98fqTojruuT1+4+LKGouLpVUis+mU1c3tbW8w7//p8 elubOMOTGP1h483Ck4H6UW5IY3pWstATYUhF+TXj4qKx0DAWhnJUYjQaBUPPBDrGLtoKD+vS6LCO Drlj9T0RR8WpasGXn32z6E9r795FhD9/+0D7Qhszs1OEngjDiWD534++WvTww/cFBUt/9xX4BwJA AAh4S8BnYVixbPHjJqksg2S342s/0B/Pi3JvQAh6G1Qw2oeymdZlKxZvEovk9wmFHmVRIbSZMpkq 4bVXPkr47JNtxffevyZ1wcKympy8wnpCK0Hde2D/kcIfth5YSLBfr9x5s/DE2XFefia+cGfG8Mrw MZucHIMxWXR7dHSEnC+I7giP4NZk5WS2FuZnq9MyknoiuByzSqmh1Vxo4hw/+mtWS2vbZVXn6rLr 6oQ+73qDi0+0BVz+n9ZiQSNm8gsci6BGYcmVC2KiO7gRkTW5+TjLXHV6ZnIPN4pjViKWVefqOceO IJbNrZdVVtYSxvLX45X5KLagYenV4AdjIAAEgICfCfgsDI0SadbkmffzjfYf/3jHqZqquvJu3fF5 GrXXW/j6Vnl/abRnbdxz6/4TVzxtf9oDD94at3DJomMMBpOQVDfnKs/kvP3m57Nw/U9IsE5OmEw6 loTEGdnxz4u+A5+RQzOfjlk7pbILU8j7dr7zduHJgL85cy67EBMTtVIiUeLZjbAIbhiWmMi3x8by 2lNSU47cesdNJ/LyM1wmFhfE8EzoVCy6fJYCFT9afvB4zPqX/vV/aObM551d6uta07RaLZ3D4RDS V0T3z3B/8+fPGpllHK89LT3tyJ133nwi3xVLtO0QSjVkQqdi6fK5DpaHDx6LeW7dBmJY1rYEFUt/ 9xX4BwJAAAh4Q8BnYehNZVPB9pXXnv5s7b1/FRw7VpnZrZ2wRcNY5Zna/LX3Pp/64F/aIq+5btmJ 5JR0kS/80Spk0u6fDud3dMiSffEzvCw+UxfNj9AmpyRUp6dnnJgzp1SUk5fRzeGEWpQqNa2tuYN9 oaYhqrWxJVMuV2SJROJkviDS7MmOJ8PrKijIb59WmttxpPxMelZWkjkxOeHk73//261zF8wc03Ly eQtnSdDuLp+vve/JB2UyjU873zQ1iujff7ej7I47bz5EJF9/+SoqKmifPiO3o/xwH8skxPKPf/jd VsRkTCznL5wteeJvhs/v+cPffWbZ2Cikb9r0fdk999wRFCz91UfgFwgAASAwFgIgDMdCzU0ZOp1h e/Pt59548P/+8fi5yro0uaxvlmsiDoPRyFr/0gcr6+qawx9+5K796Zk5rWONo7r6Qs5XX+wsGGv5 4eVYLAaWnZvcM2NmyZannnn4MANxG24TI+Cb8LNs9jQ8gXgjOn+y2qykc2dqHSmNxnDYc3NSxSEh VM1fHn/gc3ezg576Xrx0Qd3MWUWtO7YfyvK0zEh2RqMZq69rxlNzBsthz81LE9NCQjR///uDn7uc HfSiNcuuWFxXNqu49YftB31mWVPdEkwsvaAEpkAACAAB/xIAYegHvhxOuOVf/3l1/UNrn7i/tqa5 uL1d6odaPHe59bt9c9GtbfaTT639KSe/wOPcf841/HrsdIqkU57gea2uLcMjQrG8vPS2l197akNe nutbtyN5oKA9caeV5o9ZbT/x9798RqZ5t0exXq8PkYrF0Rqtlmu3Wylon290h5tqxdCWj+h/FDS7 2UUEF8Q3mgg/4+Xj6acf/QwtxvFqBU5vrz5ELOmIRvtqc1FBitVqJaM9o614zHabjRIWThBLiSyo WI5Xn0E9QAAIAIHRCIAwHI3QGK+HslnW9z/e8O+n/vbyNVVVtSurzjdR0FZoY/Tme7EDv5wooZDI 1hdffWxrQmIKvlOLx4dKqQwrP3yakJ1NUC5BLL8gU/jhZ/98OZobPu5A8NRC7hqOi8CmxoZUk8FA 7+xUhjY2tkWLRVJOS6uY3tYqDtVpdaF6o4ltMhhZFquVhkQiFV8d7jFMN4ZqdTch2yoSEYsnPkYT hbgIbGioTTUYTHSJRBZaX98aLRbKOM1tYnp7izi028HSyDbqiWepUnUFFUtPeIMNEAACQGA8CIAw 9CNlMprdenH9k9t+2PZzxaavvrm/tbWTP5Gzh/v2HS9Ne++rrr8++fBmb/IdtjY3px3cfzKTCFT5 hWn6dS/+9U3uBIhCV/GrVWp2a2tLmkTcGXb0aGVi+aEzkQ0NrVkG/di3bhwLq159L3ss5QKpjEql Yjc1NaYhMR125NiZxCOHzkbW1TePP8ve4GcZSP0KsQABIDB1CIAwHKGvSVQqoVmqV127TLR8xfwn n1/3xpU1NfUrhO1SJloZOyGj7OOPv19YUJwtWX3T6l88DaCuroWn1xtDPbV3ZceNDMNKZxbvKSrK mZgl28MCa0M5GUVCYdyunYdTt3+/P6OjQ0KI+B0rJ4PezBpr2Yku19raGtPW1h63c8eR1G1b9maI Jpil0RC8LCe6L6F+IAAEpjYBEIYj9D+luOgg0cMCX5Tywiv/2CHsEO97/aV/Xy8SieaJhDL8diXR Vbn1h1K/UDb+Z9PcstmlNZ7eUm6oa/E5HQseVEpKXM9jf1v707g2eITK5HJ5eF1tXcbnH2/L2PHj gdlokY7PopeINqHn7Qi5JU1ELJ76kEgk4TU1DRmffvK9gyUR/4DwtG53dhZL8LEkot3gAwgAASDg KwEQhsMIkgsK97PfenuLV0/Ue9ELiUlxhrfee+nrzk75lrdee3dlS0v73C5Nd0RDvRDtrjE+j9xV X2hK3rF938x71969fbTQLWYLRSiS8kaz8+Q6ShTdhKeh8cTWXza1tRfSv/t2d8577/1vib7XMNbV zX4JDwnDoPo+VlVVpW/+5qecd9/dtKS3Rw8s/TIqwCkQAAJAYHwJBNUfIn+iaafS1BE3rfkq+cGH z9hRAl5/HyipsvGVN9d9bzabt2789+cF58+dv0IqkWdIJSoqvt2av4/du8vzb/zNqkNR0Xy3K3yl MmmksF3i8y3OMA4bzRgmEL0TizeYSOXlh4tfeG5j2amT52Z6UxBsLyFAOnDgYPGz694rO3kCWML4 AAJAAAhMJgJTWhga0M4ah40G7JseHXbaaOBSN7x+120q5afPPP/CqfHqZBqNZv+/h+86j+o7j2YR 6R/+59P5rS1tc1DqksS2NglJ2+WfJNknfz2ffqbibN7SK5YfddfWLo0mAiW19nmFZ0Q4GysoypkQ YWizWcl79+6f8ejD65eLxfKU8erbyVgPnl5mz559Mx7888vLxR0yYDkZOxnaBASAwJQmMOWEYS9m x06ZTNgvJgN22GDEemx4Orq+3Mpo9o750Qcb77NYze+/8NL6E+M9MvBZxKeee3QvqnfvyeNnIzf/ b8uq5pb26Wj/ZTbR+y/j281VVFQljSYMzWYjU9vV69hCzpcDbWOHFZYUeZUmx5f6nMsePHh4+oP/ 9+JKuVxNSB5GouIKRj+//HJw+v33Pgcsg7HzIGYgAASAgAcEJr0wNCEI9VYrdtpiwiosZqzKZMYs dptjH178HOnYvGnTDRMhDJ1jmTmrRIXOT7Va3ZdvvPLu0trq2itqa1vD1CriFvS2t4ljRxsjCBUJ iUP6aHaeXI+MDMO7Y1yP8+fPZT3597cXgij0HfuZM2eynnh8A7D0HSV4AAJAAAgELIFJJQzxeT8Z EnsNSM3UopnAOqsFa0CzgSYkDAeEIJKEo3YGu1cfMLsm4Is1nn3p8V1yufKXF9a9fvuZUxdmoXyI o7bBEwOFXBXp2MWDQr5kO7qB8iQyDoyE3o7OzV2dPTo9JhR2crOy0hSexEaEjVqtDvvyix8K62qe O5qfAAAXPUlEQVSbc4nwN5V9oPyEYV98vh1YTuVBAG0HAkBgShAIWmGoJZEwIRIr7ejEX1uQABQi QYg/N4jfGh4Qgq5mBV31Li6BHuZGBlzn83hRprfeffnDF595vX3793tvIiLNjUyuCuvSqEO5vCit qwaj3S3MLCbd1NNr8Ol2sq7HgDXWNcaOpzCsqDiTh9KoLCa6M6N5EVh0dDhGQmMQP1ksOnbqZC3R 1QSUv+PHT+V9/OEWYBlQvQLBAAEgAASIJxDwwlCN/vDKyWRMhtreSUZiECk3IZrB0jhuB6N5rP5b wvhMoG9zWhjGQfU8zY3CVjB9XoRLfE/1e/zHM4/uUchUud9t/rnQ10q6VDp6d3c3250wZIQwDAwW 0+yrMER7NWMNDU0ZKGZ8oY3fD7VaFbrluz05KAWQT4J2INDQMBaWnBxjj43jCXnRUdVpGWk1hYV5 sozsVJ1CKspaseyeP/u9URNUgUKhCP1uM/Es4+L4Qh4/ujozK6OmpCRPlo1YisXtWUsX3z1pWU5Q F0K1QAAIAAGPCQSEMNRSyJiCQsWU6FVOoWByXAyiU4aEoHFA+A2fBfRVBTohwgXhb1mh2C2hYVgE +jnQj0VL5hxC29sV4mLLl8NksVBHy50XERmpSoiL7lUq1GG+1IUL+Ia69nFb/NHU1JD+4/YDJb7E PFA2MZGPZeWkn3/gwT98PnfBTNVwnypFJ4GjkYiIifXR2NiY/sO2/YSxzM7NOP/oI/d8Pm/xrCEs 8W+eVNoxqVkS2zPgDQgAASBAPIFxEYZWJPK6aFRMQ6VhaioFnVRMhQSYCv2sRK9m1K7ht38H3hPf 5D6P+B+hYloItozBxFbQGVgYEqT4beRgOEqm54sZ9BCfQ0W3QM1MOsPgzlE0j9cVE8/rqTzX4HN9 Z05Xpwvb26MTk1L9/pxhRUV1XG+vwScxizc4NjYKm7ewbPu/3n1x1GTgPgMKUAcnT1YRxnLhwlnb 3/to/ZRlGaBdDGEBASAABAYJECYMbUj8ddNomIZOx7rQqQ5B4g8JQRUShDokuqzDZvychaDjnvA4 HPg9xSIkBmeiuJYw6JiATHWIQaIE4YULlTl2m42WmZ1XQw+h+22Hj9bWtji12uVjgR6TDA8PM7FC Q0dNlBgeEdblsVM3hs2NotBPP/p2+ZPPPv4VEf7c+ai+0JBERB3F07KbRhOFNrudqCFERMiE+7hQ VU8Iy5JpOU3vfeBeFKKZ5UnNkvDOAYdAAAgAAYIJ+CwMz8bGWtvD2BQ5g4HSwPSlgBl87s9JDBIc t0fumEjyZSNRmksjY9PJFKwACcIQJGDxo//FIz+eGu388Zfp27cejL/19qvTZpYVipKT0xqjoniE iCrnGI4fPZtjNOLzrL4dfEGklhMe3jual6SkeMloNp5e/+brnWXz519WuXDpoguelvHWTiLp5DY1 inxOyo3PFs6ZexmeV9LtMZnFjFgsJozlggVlo7JE/2AEYTjagIPrQAAIAAE/EvBZGK758n8PHSk/ mN7W3JIolUoStV2aWJ2um2+xWAjJfedp2/HZwESk9pJRfpUMNBOYg15T0DOL+A3igVlBfAWpPw+0 dVxMW2tH9ovPbcwODWMrrlw5r3rRwrL25LQEDY/PF8fGxuNraMZ84Dt4/PzTnlmffbr1sjE7cSoY EcFRe+InJyetE2fn7QrvkXzL5Rr2c+veXv1qRJjhshmlTZ7U760NSq0S1dws4npbbrh9eEQodtWq K0YVsD09vTRf6wrU8jjLpiYhISxXXbvSA5aGScsyUPsY4gICQAAIOBPwWRjyeDz9ddffWIWc4ufg 0dzUxKmvr+GJREK+rFPCR6tEeRqNmt+j0/GMRuOYn/0ioxlJPjoTbHYMv7+ViO48JSHpJ0Azgmit ikMGDgrBcexrk8lIa28XxwxUqevuif520+4F6MQiueGi2fOmtVw2s0CRV5QpYYexzPSQkN7E5FQh g8E0jhamRqUME4naUw4fPJn69oYvFqCcgGPm51xXcnKCRwkR5y+cU1lYmKE6d66BkDw+1dXNSQ+t fe7Wp57+054lSxefpNOJve2Oxhezu6vX56Xl+BMOUdHho07NNja2B0zey9HGkrfX9Xo9YSy5XE9Y tkxalt6yB3sgAASAwEQQ8FkYugo6LT1di5/o+iWzQnKJhFlVVclvamriS8QdfKVKxVeplPxubTff YNCH4z5Z6K8yz2rDeChRtcCKfkavsUgMJqDPaQPir18I4vb+nQscvWvQvsPZtdUtIwonlborYccP B/ATz3tni4riClNT4zsLijL0cfE8XUQUtyeaG65nh7J6qXQqyjdNshl6zSSFUhUq7pBya2tauPv3 nUhTKTVxo0fimQUH7V08vbRwiJh3VRLdbu4pLMpqJkoY4vU01rcl3veHdTfffkdF2opVC2uSk5Pb ExIS3S5KQYKP1tjYkKJWqQTciMi2/MICoYuYSQaj0ec0NR0dcmzv7n1F162+tsIVm4b6+sRdOw6l eEY9KK0IY7ln196iNb+5ziXLurq6xJ0/lE9mlkE5ACBoIAAEphYBvwlDdxhjYmL06Gybl1Sv0lWe VhqbmhQWEklhttiVZoMpxt7dJSCZLUz8zm/f7F//LGD/+0DsosrKC+m9vaNO/uG3Y8kKhSoZP0+e HJeUfiPiKinO6lx6xeUeCUPcQdnckqpvNu2egfICEoZfbzCyNm78dvGn/91eNm/B9OrppTmKlNQk uSA2uofFDEFVWWlWs82GFtowJDIFR9wuDUcrZDnnzzfkPPLobYdcCUMmk97DYjNsaGbVp9xDuu5e 7Eh5RYkrYYiev4veu+dQ1oFfTkwnDEqAOWIymYSxPFx+osSVMBQKhdG7fjqUhdIwTVqWAda1EA4Q AAJAYEQCfhWGJKORrDp2lGeoq402trbzLFIJz6JS8mxdXTybrpuHoeTDA+LPIf8GhSAe60TPAXo3 YlpbOwZvI3tXcvytyeiee1FxnseiEI9w9errjm75dtflB36pSCQ6YjS7x9r787EZ6PTYtVSicPnc G5sdpo2OjtATcct909c/Tc/NyxCtvHrZyZjYWEfePXzmsqa6OuuXn4/Ev/rKx9cG3WD1mDKGhYUR x/J/X+2cnl+QKVp13YqTcU4sz587l7V395H49a98NKlZeoEdTIEAEAACE0aAEGFoFncwlLv2JPc2 NghMYpHApJDHWDQagV3Xw8PsNsrFZ/6Gir++ecDJcYhF8qARhkXFWd33/un2bd6Qx/dTnjdv5qny Q2cTLRarN0X9YquUq10KQz5foE5KitG2tXb6/CwmmgWmP/HYGzf8vPtoeumMXCmLzdLLZCr2j9sP Jra2iPKIbBw5AJOro5l9Qlk+9shrN+zeWZ4+Y2aeFO0mo5dI+lg2NwsnPUsixwr4AgJAAAj4i4DP wrBi2eLHTVJZBgndInUIQHz/2P5oHbeAJ4/2c9kHaIENr6Ghje+vTiLSL7rNipXNnlbOjY52m9h6 pDrvvf/OXYcPn5xxcD/xs4betlGj1rpMR4MvZklIikUpds7Ee+t3JHubzU75ec/R6egkwp1LH3hu z0A7cJbJyfGSwwSy3INYotOvTQ1Eln5tMDgHAkAACBBEwKdnsPAYjBJpFnpwzmc/BLVnQtwcO3ay SCSUjWt6nrE2tGx2kehv/3hoy1jKU2lU65rfrtoWGcWZcAXT1a1zm0IlPzej1d/picbCMBjL5Bem A8tg7DiIGQgAASAwBgJTWtCNgdeIRZrq22KJyPFHVDyu/GRlJenvuvvWj6k02pi3mll946qz169e dpiCckRO5KFSdrHq6hpdps9Zvebq8ryCVM1ExjiWus1mc8DNsf/mN9cBy7F0JpQBAkAACAQhgYn9 6x6EwEYKWSSUBPzzhXFxUbabb73+syXL5rX7iv25F574csmysqaJnJFDibKxkydP5bpqC4/H7543 b8bZiYxxLJzR1pEBJwz5fH73wvkzg4+l1RpwLMcyJqAMEAACQGA8CYAw9JG23qAPaRdKBD668Wvx +HgeugV87Rf33Hf7SSIqwheivPLqk2/Nm18imijhpdPpsU6R1G1exz8/cPeWaaVZHu3uQgQXInzo e40B+Z18+NF7g4+lPjBZEjFOwAcQAAJAwF8EAvKPkL8a6w+/J09U5NXVtPq8ZZg/YsNFW35BuvGO u276+LEn1h4iso64+JjeV15/+o1Fi0tFVCqFSNce+5JKXaeswZ3ExAh6V9949WaUumbCn4n0pFH4 am+ZRMr2xHa8bWJjBb2/vfmaoGLZ2RmYLMe776A+IAAEgIA3BEAYekNrBNvqqroUvX70xNY+VuN1 cXxnkznziuVPPPHAi/f/+a5fvXbgQYG09KTu9z5648UVK+dWRXB9zgzjQY1DTdQq1yuTByzvvfe2 X6+/YenPbLbPG6G4jA9/3vLypTNMSID6lP3bgMaRXK4cf5Aekr///t//esMNy/zPctlMQlgqZIqA ZekhcjADAkAACIw7ARCGIyAnUal6T3tC0inn5uQmYxM1azY8ThqNiuXlp1quunrxvg8+eeupxcvn iT1ty1jsOJxQ88YP33jrlluv2VxQmG7Ek2eP16HRdLlMWeMcw8vrn/z2xhuX7w+PCCU8NFwUzppV YFp5zZVvls7Mc7VFn0f16g0mTKFQOraEDNTjzbee+fbGNf5lecPqq99EeQ59ZimTBTbLQO1jiAsI AIGpTcDnPIaTER+luOigp+36x7q//PfN194/HxtXe7VSoU4QiWSYSolvET2+B4tFx9LS463p6clV t9z2m6/nzJ/pdt9hIqNDzxzan3zmkV0rfj134sON/739QnVTfnOTmOTvXHJabU+E1WZF1VNGvVX8 xj+f+xLt+azevevAqvp6IY2I9uOzsoUF6b033Xz9hltuX91SV12Di/DUsfru7dFjcqUqaqzlx6vc O/95+Usud7165479hLP83W2rN9x5500t585W+cxSIpMHPMvx6jOoBwgAASDgKQEQhsNIkQsK97Pf enuLp/lcaFSa/a9/W3sKuTmF9szlbdu2Y5lELClC+/tGG9EMUEuLGEMJkj3tD6/s8GTV8Qk8LCo6 oispMf7cHXfeuq2kNG/CUrTMKCtSzSh78587tu5J+nHHnhuaGtuzkVCmqVXdXrXLE+NoXgQWGsoM OXemOmpaaaHckzLrnn1sZ1nZ9KpPP910R21Nc7JQKPOk2CU2+KxsRmYCFiPg1a177rH3CopzHA3M zknzaXYW32tbo1LzxhTUOBd64aW/7pw1a1rVRx8RwzI2ll/38st/e6+wn2VOnu8s1UHCcpy7DqoD AkAACLglAMKwHw+FH1NHW7PmB+btt9eONV33oiWz5ej8Crn86sTxM9xt3++alpOnKFHIVPHabl04 nutQ29WDniPTYGazd4+j4dulRfPCschIDkahUOxRkeHSmHhBc1FRQfntd/6mAV33j/ocwxfoquuW t6Pzn2j/aObH73+xtLW1vRDtbZxkNJqpUqkK06i9E4r4bXqUVBtDz/A5oomI4CgioyJrl61YvM9T UTjQjBUrL29fsery599955NpRw6duFLYLk5FM7wkPC53uSjxW8YJCXyMxWbYBYKo1oWXz9/y5wfu qnHGU1Y2rbawKN1sMJjGPCMp7VSOupCJRgsxZmb5vmU118fnQq++Znk7Op9/++2Ppx06cPxKoVCc qlR4xzImhte6ZNnCLQ8/cneN83Mts2fP8JmlxM1+2mMY1lAECAABIDAlCJCe+eQTRjQ5kc1h2tmM UDravpTBZtCZbA76mclksFlMhtsHs44W5n14cS/kkbfEc7dXMr5lXt9TaZfuozxwzbG1Hm7Rbzv0 /UDpgev9toP2zu+dtuvDfVFpJlpyyln61av2M265pWGwxz188vLStbiuV+c2NbWy9u4tT2xpas40 9OoTdb293B5dL9tgMLKsFivdaDTSyGQKCT2jZ0e3YC0MRoiVRKaYGfSQnjAOuwft0atls8Nas/Ky apYtX9ARH8tzWvHiYcCuhjQK26/rilF4aAaV+uO2n5Oqq2qKtV3aZHQbOEyr1YXZrFYmYkBFmpmK 2k5CgtnOYNDNSOia0KuByWLqOBxWF4PJEqWkpNStunZpa0ZGSq+rprgn0X/VqbFo5pD95effzpF1 SvKUqq6orq7ucKvVSkcrhFFMdjualTWwmMzucC4So9yo8zffcsPJy2YXjzgrO+jWx+7A29bngoBe 8dKFl+ZDuqEGsfz0k01zOjs781AC8iiNE0sMyW68P3GW3MgIRVRU1Pnb7rjxZNnskkGWvmFzinxs 43ngH1bD/4Hl/N7u2CW8b6twp8+t7so427r17QTTpR2q2tW1vs8vbmM+JO5h35f+aw7jQTt8vI9s R3Xx+eA/bi+payAMdGFErmhGwvE58uCenVNMTr4Gwrzo2/nf2dSRfV5S3uxs56rt/VX1+7QPKTNk HAxtB/4brf9wU2ZIO+w0p3hMjq4ZsQ/Rp26YDW3HoG3I0DJ2o+u224fajjo+XI+bvuY5c3e2HdIf w8becJ8Dtgz3dkO4DPiw21lOn/cgqs7vHZQd14fXiXYoddl2W9hFzjanmJx/xn1G9F9Df9NHjA23 GX5t+Hv096jvu2KxDPHh/N5kyhi8ps8b2telQ79j7n9/9I/IKScMyTSqgRwbX0MvKzsVesfdZzFB 9KVLij38C+WNMBz8hevLX16n39pDQ/Qw4GG/9Z1jIiiskWu4JLy+2vxRp7fC0BWSsXw+1YVhHzMP xqILEw9KuukWEIYOOCAMMQyE4eD3BIQhLvhAGDr94vRIGE76W8kkCsVEjopuC0lPq6HPnVvNvn5N s51OG3WxwliEAZQBAkAACAABIAAEgEAwE5hcwpBEspPZYXKKQNAakpHexJw+rYV51TVtJCZz8N/R w+VyMHcexA4EgAAQAAJAAAgAASIJBK0wJDEY3dTISBFVECOiJiWKmUXFwtD5C8QkHs/xdAYcQAAI AAEgAASAABAAAt4RCHhhSGayVJSIcBmNGymjxcd30rOzOphzFogYeblDkgX69nySd9DAGggAASAA BIAAEAACk5FAQAhDMouppnLCZWgGUEaLiZXSExJlzNxcGeuyMhkVZgAn47iDNgEBIAAEgAAQAAIB SGBchCHKwWKmhoYpqOHh8pCoKDmNz5fTE5PlzJxsOXvGTEUIL9LF7V9/rFsNwF6AkIAAEAACQAAI AAEgEAAECBOGSPxZqWy2As36SUOi+RJ6fKyUlZYlZU8vkoYVT9dgTgmYQe4FQM9DCEAACAABIAAE gAAQGEbAZ2EYMWfuD9wli8/zrr62DQnDi1m0ADUQAAJAAAgAASAABIBAUBHwWRjmbfxgW1C1GIIF AkAACAABIAAEgAAQGJEALOaFgQEEgAAQAAJAAAgAASDgIEDF2tpMCizFws+Td/OYPLLJqKbQqByy nUUhs6l2soFkIfyRwLDh8F3uQ+K8AeY49piH+6JcauZ2W+m+BhDUJA9D9AwaCpugsDyrr3/fLg9o eejPU7P+Jx389MDDoFsC/Pe5MHvaMNd2Xrrw0nyEei/5dl9q48LEg5K+8xjdg9sc+I5fhsN+I3Z3 D926OywszOs8+lrtxexbHA7HZfnhv4y7BtrTNfiT45Pw8HAPYqBgGs2I2347fERERIzioy8atVrt kiqXy3Xro0elctsjkZGRLssrBkoqBn8a0Vd0dPSIPuTdzuZyt3HweLw+H8yhZlLpwPvBHy7xIxAI 3DLo7BwoMvjDJT5iY2Nd+hCJnM2HvBm8kBCZMLS80y/f1tbh1V3ygcMA7VU/YgyNw4s3XvLJoEVG xsU9fZ2LVQ/3UX3JJw6L+Lw8D8Z1n7OKiooR+7S0tNQjHwcOOBcf8gZbtGiRRz4GPHz77bdDYlmz Zo1X5fHCzz777BAf69at89rHcCAktCnISJD+H+ey+SPBOm+lAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.scala-lang.org/sites/all/modules/print/icons/print_icon.gif R0lGODlhEAAQAPcAAE5OTmtra9YvG4S5TpKSkqOjo4298NvPoubdvsHBwcbGxsfHx83NzdHR0dnZ 2f/64/Hx8fLy8vT3+Pb5+fj6+vn7/Pz9/f7+/u4aGv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABgALAAAAAAQABAA AAhxADEIHEiwoMGDCAsoXFgAQMIMECM6PFgggsWLEwky3LhwYIEHIEOKBDnxI4KTKBEYGCDgQUkE B2LKnImg5AECAHLqzEngQEYAPQs0YLAgQQCfGQUSQFCgAoUJEgLUNEiggAOIFi4oyElxp06EYMOC DQgAOwo= ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.scala-lang.org/misc/feed.png iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKOSURBVHjadJNNSFRRGIbfc+6dO6OOOplD ykSZaRCtnKRc+ANRUBFEm0gicxG0bGoVhERRYIvIjRAtW+UmW5QQQS6qRWQSWJRaUcjkT0LiVWfm /pzTd869M5LShe+eufC973m+n2Fj55KJymTt9ZgVy3AGMHoxvvEs/qZgDL4AlhbsAfv34g1TiRPx RMZbWwU3GQzO9clNhGcYBpkY4UlGiWRd5scnMvx5tUWano9IMoXy1pOUBPgz4xC/xv8r1hSexNKi B1Nhq6RIbQoVhy6i+MiCDffDEPyJITBvZZPYLwiQFFzVZ0Q45Moc8q8fwP34FGJ5FixaCevgBZT1 DMNs7Nok9iikL8GyfWkZ3VgvhbljP6yOy2BbmzWR/+o2vM/PSmLfkchTaAIlsHa1ourSS5Sfvg8r 3Q38mYb7+DzE9Ig2MDquAan2kth3AgKu0JSBapLCNranEWnPIHp2GDzZDEE3+1OBiXW4D4LHtViZ CB/rBHJuHPmHp+CO3oK0Zyk7DvP4IGR1EwrPb673JX0mELslgvVRYW0O8usIvCe9AboyOdIPn1Ug 9+Kupihr69ZiZSJFsYRwztbRO4icGARv6IT3ZkCTsKp68J2dyE2MQuZtsFgllbZHTyMsAVqsaldC Vt8CtvsYPHsZzvtH+tZIc5e+sfBtLOhFYytRFAlYuGGED2clGNn8lO62m53U37y6XmM7M8E3onEI IpCSLp/vPyC31Bp6SUSsjmIbnO9jpVEZqbROzn15F5RDZs5CFs58FmaNBTZ5Ze+9hn11Genl/1mS 0qjChumaCVvo2iViNXHkuD1g9Daxt7lVEQPMNpcSdah1pQb5kqho4yVXQc2iacHiMMpNFPia/jv/ FWAAUTVTOunExzkAAAAASUVORK5CYII= ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.scala-lang.org/sites/default/files/scala_books_cover_small_9.gif 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 5DB0TRxZFKdYxjOmcWcDAgA7 ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: text/css; charset="koi8-r" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.scala-lang.org/sites/default/files/css/77dadc7d7b12d5d03d7e2418d7704428.css .book-navigation .menu { PADDING-BOTTOM: 0px; PADDING-LEFT: 3em; PADDING-RIGHT: 0px; BORDER-TOP: = #888 1px solid; PADDING-TOP: 1em } .book-navigation .page-links { BORDER-BOTTOM: #888 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: = 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; BORDER-TOP: #888 1px = solid; PADDING-TOP: 0.5em } .book-navigation .page-previous { TEXT-ALIGN: left; WIDTH: 42%; DISPLAY: block; FLOAT: left } .book-navigation .page-up { MARGIN: 0px 5%; WIDTH: 4%; DISPLAY: block; FLOAT: left } .book-navigation .page-next { TEXT-ALIGN: right; WIDTH: 42%; DISPLAY: block; FLOAT: right } #book-outline { MIN-WIDTH: 56em } .book-outline-form .form-item { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } #edit-book-bid-wrapper .description { CLEAR: both } #book-admin-edit SELECT { MARGIN-RIGHT: 24px } #book-admin-edit SELECT.progress-disabled { MARGIN-RIGHT: 0px } #book-admin-edit TR.ahah-new-content { BACKGROUND-COLOR: #ffd } #book-admin-edit .form-item { FLOAT: left } .node-unpublished { BACKGROUND-COLOR: #fff4f4 } .preview .node { BACKGROUND-COLOR: #ffffea } #node-admin-filter UL { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; WIDTH: 100%; PADDING-RIGHT: 0px; PADDING-TOP: 0px } #node-admin-buttons { FLOAT: left; MARGIN-LEFT: 0.5em; CLEAR: right } TD.revision-current { BACKGROUND: #ffc } .node-form .form-text { WIDTH: 95%; DISPLAY: block } .node-form .container-inline .form-text { WIDTH: auto; DISPLAY: inline } .node-form .standard { CLEAR: both } .node-form TEXTAREA { WIDTH: 95%; DISPLAY: block } .node-form .attachments FIELDSET { DISPLAY: block; FLOAT: none } .terms-inline { DISPLAY: inline } .poll .bar { BACKGROUND-COLOR: #ddd; MARGIN: 1px 0px; HEIGHT: 1em } .poll .bar .foreground { BACKGROUND-COLOR: #000; FLOAT: left; HEIGHT: 1em } .poll .links { TEXT-ALIGN: center } .poll .percent { TEXT-ALIGN: right } .poll .total { TEXT-ALIGN: center } .poll .vote-form { TEXT-ALIGN: center } .poll .vote-form .choices { TEXT-ALIGN: left; MARGIN: 0px auto; DISPLAY: table } .poll .vote-form .choices .title { FONT-WEIGHT: bold } .node-form #edit-poll-more { MARGIN: 0px } TD.poll-chtext { WIDTH: 80% } TD.poll-chvotes .form-text { WIDTH: 85% } FIELDSET { PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; = MARGIN-BOTTOM: 1em; PADDING-TOP: 0.5em } FORM { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } HR { BORDER-BOTTOM: gray 1px solid; BORDER-LEFT: gray 1px solid; HEIGHT: = 1px; BORDER-TOP: gray 1px solid; BORDER-RIGHT: gray 1px solid } IMG { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: = 0px } TABLE { BORDER-COLLAPSE: collapse } TH { BORDER-BOTTOM: #ccc 3px solid; TEXT-ALIGN: left; PADDING-RIGHT: 1em } .clear-block:after { DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; CONTENT: = "." } .clear-block { DISPLAY: inline-block } * HTML .clear-block { HEIGHT: 1% } .clear-block { DISPLAY: block } BODY.drag { CURSOR: move } TH.active IMG { DISPLAY: inline } TR.even { BORDER-BOTTOM: #ccc 1px solid; PADDING-BOTTOM: 0.1em; BACKGROUND-COLOR: = #eee; PADDING-LEFT: 0.6em; PADDING-RIGHT: 0.6em; PADDING-TOP: 0.1em } TR.odd { BORDER-BOTTOM: #ccc 1px solid; PADDING-BOTTOM: 0.1em; BACKGROUND-COLOR: = #eee; PADDING-LEFT: 0.6em; PADDING-RIGHT: 0.6em; PADDING-TOP: 0.1em } TR.drag { BACKGROUND-COLOR: #fffff0 } TR.drag-previous { BACKGROUND-COLOR: #ffd } TD.active { BACKGROUND-COLOR: #ddd } TD.checkbox { TEXT-ALIGN: center } TH.checkbox { TEXT-ALIGN: center } TBODY { BORDER-TOP: #ccc 1px solid } TBODY TH { BORDER-BOTTOM: #ccc 1px solid } THEAD TH { BORDER-BOTTOM: #ccc 3px solid; TEXT-ALIGN: left; PADDING-RIGHT: 1em } .breadcrumb { PADDING-BOTTOM: 0.5em } DIV.indentation { PADDING-BOTTOM: 0.42em; MARGIN: -0.4em 0.2em -0.4em -0.4em; = PADDING-LEFT: 0.6em; WIDTH: 20px; PADDING-RIGHT: 0px; FLOAT: left; = HEIGHT: 1.7em; PADDING-TOP: 0.42em } DIV.tree-child { BACKGROUND: url(/misc/tree.png) no-repeat 11px center } DIV.tree-child-last { BACKGROUND: url(/misc/tree-bottom.png) no-repeat 11px center } DIV.tree-child-horizontal { BACKGROUND: url(/misc/tree.png) no-repeat -11px center } .error { COLOR: #e55 } DIV.error { BORDER-BOTTOM: #d77 1px solid; BORDER-LEFT: #d77 1px solid; BORDER-TOP: = #d77 1px solid; BORDER-RIGHT: #d77 1px solid } DIV.error { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #fcc; COLOR: #200; PADDING-TOP: 2px } TR.error { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #fcc; COLOR: #200; PADDING-TOP: 2px } .warning { COLOR: #e09010 } DIV.warning { BORDER-BOTTOM: #f0c020 1px solid; BORDER-LEFT: #f0c020 1px solid; = BORDER-TOP: #f0c020 1px solid; BORDER-RIGHT: #f0c020 1px solid } DIV.warning { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #ffd; COLOR: #220; PADDING-TOP: 2px } TR.warning { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #ffd; COLOR: #220; PADDING-TOP: 2px } .ok { COLOR: #008000 } DIV.ok { BORDER-BOTTOM: #00aa00 1px solid; BORDER-LEFT: #00aa00 1px solid; = BORDER-TOP: #00aa00 1px solid; BORDER-RIGHT: #00aa00 1px solid } DIV.ok { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #dfd; COLOR: #020; PADDING-TOP: 2px } TR.ok { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: = #dfd; COLOR: #020; PADDING-TOP: 2px } .item-list .icon { PADDING-LEFT: 0.25em; FLOAT: right; COLOR: #555; CLEAR: right } .item-list .title { FONT-WEIGHT: bold } .item-list UL { PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0.75em; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; PADDING-TOP: 0px } .item-list UL LI { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: disc; MARGIN: 0px 0px 0.25em = 1.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px } OL.task-list LI.active { FONT-WEIGHT: bold } .form-item { MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em } TR.odd .form-item { MARGIN-TOP: 0px; WHITE-SPACE: nowrap; MARGIN-BOTTOM: 0px } TR.even .form-item { MARGIN-TOP: 0px; WHITE-SPACE: nowrap; MARGIN-BOTTOM: 0px } TR.merge-down { BORDER-BOTTOM-WIDTH: 0px !important } TR.merge-down TD { BORDER-BOTTOM-WIDTH: 0px !important } TR.merge-down TH { BORDER-BOTTOM-WIDTH: 0px !important } TR.merge-up { BORDER-TOP-WIDTH: 0px !important } TR.merge-up TD { BORDER-TOP-WIDTH: 0px !important } TR.merge-up TH { BORDER-TOP-WIDTH: 0px !important } .form-item INPUT.error { BORDER-BOTTOM: red 2px solid; BORDER-LEFT: red 2px solid; BORDER-TOP: = red 2px solid; BORDER-RIGHT: red 2px solid } .form-item TEXTAREA.error { BORDER-BOTTOM: red 2px solid; BORDER-LEFT: red 2px solid; BORDER-TOP: = red 2px solid; BORDER-RIGHT: red 2px solid } .form-item SELECT.error { BORDER-BOTTOM: red 2px solid; BORDER-LEFT: red 2px solid; BORDER-TOP: = red 2px solid; BORDER-RIGHT: red 2px solid } .form-item .description { FONT-SIZE: 0.85em } .form-item LABEL { DISPLAY: block; FONT-WEIGHT: bold } .form-item LABEL.option { DISPLAY: inline; FONT-WEIGHT: normal } .form-checkboxes { MARGIN: 1em 0px } .form-radios { MARGIN: 1em 0px } .form-checkboxes .form-item { MARGIN-TOP: 0.4em; MARGIN-BOTTOM: 0.4em } .form-radios .form-item { MARGIN-TOP: 0.4em; MARGIN-BOTTOM: 0.4em } .marker { COLOR: #f00 } .form-required { COLOR: #f00 } .more-link { TEXT-ALIGN: right } .more-help-link { TEXT-ALIGN: right; FONT-SIZE: 0.85em } .nowrap { WHITE-SPACE: nowrap } .item-list .pager { TEXT-ALIGN: center; CLEAR: both } .item-list .pager LI { BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0.5em; LIST-STYLE-TYPE: none; = PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; DISPLAY: inline; PADDING-TOP: = 0.5em } .pager-current { FONT-WEIGHT: bold } .tips { PADDING-BOTTOM: 0px; MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; FONT-SIZE: = 0.9em; PADDING-TOP: 0px } DL.multiselect DD.b { WIDTH: 14em; FONT-FAMILY: inherit; FONT-SIZE: inherit } DL.multiselect DD.b .form-item { WIDTH: 14em; FONT-FAMILY: inherit; FONT-SIZE: inherit } DL.multiselect DD.b SELECT { WIDTH: 14em; FONT-FAMILY: inherit; FONT-SIZE: inherit } DL.multiselect DD.a { WIDTH: 8em } DL.multiselect DD.a .form-item { WIDTH: 8em } DL.multiselect DT { PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.75em; MARGIN: 0px 1em 0px 0px; = PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: left; PADDING-TOP: 0px } DL.multiselect DD { PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.75em; MARGIN: 0px 1em 0px 0px; = PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: left; PADDING-TOP: 0px } DL.multiselect .form-item { MARGIN: 0px; HEIGHT: 1.75em } .container-inline DIV { DISPLAY: inline } .container-inline LABEL { DISPLAY: inline } UL.primary { BORDER-BOTTOM: #bbb 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: = normal; LIST-STYLE-TYPE: none; MARGIN: 5px; PADDING-LEFT: 1em; = PADDING-RIGHT: 0px; BORDER-COLLAPSE: collapse; WHITE-SPACE: nowrap; = HEIGHT: auto; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px } UL.primary LI { DISPLAY: inline } UL.primary LI A { BORDER-BOTTOM: #bbb 1px; BORDER-LEFT: #bbb 1px solid; PADDING-BOTTOM: = 0px; BACKGROUND-COLOR: #ddd; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; = HEIGHT: auto; BORDER-TOP: #bbb 1px solid; MARGIN-RIGHT: 0.5em; = BORDER-RIGHT: #bbb 1px solid; TEXT-DECORATION: none; PADDING-TOP: 0px } UL.primary LI.active A { BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #bbb 1px solid; = BACKGROUND-COLOR: #fff; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb = 1px solid } UL.primary LI A:hover { BORDER-BOTTOM-COLOR: #eee; BACKGROUND-COLOR: #eee; BORDER-TOP-COLOR: = #ccc; BORDER-RIGHT-COLOR: #ccc; BORDER-LEFT-COLOR: #ccc } UL.secondary { BORDER-BOTTOM: #bbb 1px solid; PADDING-BOTTOM: 0.5em; MARGIN: 5px; = PADDING-LEFT: 1em; PADDING-RIGHT: 1em; PADDING-TOP: 0.5em } UL.secondary LI { PADDING-BOTTOM: 0px; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; DISPLAY: = inline; BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 0px } UL.secondary A { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = TEXT-DECORATION: none; PADDING-TOP: 0px } UL.secondary A.active { BORDER-BOTTOM: #999 4px solid } #autocomplete { Z-INDEX: 100; BORDER-BOTTOM: 1px solid; POSITION: absolute; = BORDER-LEFT: 1px solid; OVERFLOW: hidden; BORDER-TOP: 1px solid; = BORDER-RIGHT: 1px solid } #autocomplete UL { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px } #autocomplete LI { WHITE-SPACE: pre; BACKGROUND: #fff; COLOR: #000; CURSOR: default } #autocomplete LI.selected { BACKGROUND: #0072b9; COLOR: #fff } HTML.js INPUT.form-autocomplete { BACKGROUND-IMAGE: url(/misc/throbber.gif); BACKGROUND-REPEAT: = no-repeat; BACKGROUND-POSITION: 100% 2px } HTML.js INPUT.throbbing { BACKGROUND-POSITION: 100% -18px } HTML.js FIELDSET.collapsed { BORDER-RIGHT-WIDTH: 0px; MARGIN-BOTTOM: 0px; BORDER-BOTTOM-WIDTH: 0px; = HEIGHT: 1em; BORDER-LEFT-WIDTH: 0px } HTML.js FIELDSET.collapsed * { DISPLAY: none } HTML.js FIELDSET.collapsed LEGEND { DISPLAY: block } HTML.js FIELDSET.collapsible LEGEND A { PADDING-LEFT: 15px; BACKGROUND: url(/misc/menu-expanded.png) no-repeat = 5px 75% } HTML.js FIELDSET.collapsed LEGEND A { BACKGROUND-IMAGE: url(/misc/menu-collapsed.png); BACKGROUND-POSITION: = 5px 50% } * HTML.js FIELDSET.collapsed LEGEND { DISPLAY: inline } * HTML.js FIELDSET.collapsed LEGEND * { DISPLAY: inline } * HTML.js FIELDSET.collapsed TABLE * { DISPLAY: inline } HTML.js FIELDSET.collapsible { POSITION: relative } HTML.js FIELDSET.collapsible LEGEND A { DISPLAY: block } HTML.js FIELDSET.collapsible .fieldset-wrapper { OVERFLOW: auto } .resizable-textarea { WIDTH: 95% } .resizable-textarea .grippie { BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; BACKGROUND: = url(/misc/grippie.png) #eee no-repeat center 2px; HEIGHT: 9px; OVERFLOW: = hidden; BORDER-TOP: #ddd 0px solid; CURSOR: s-resize; BORDER-RIGHT: #ddd = 1px solid } HTML.js .resizable-textarea TEXTAREA { WIDTH: 100%; DISPLAY: block; MARGIN-BOTTOM: 0px } .draggable A.tabledrag-handle { PADDING-BOTTOM: 0.42em; MARGIN: -0.4em 0px -0.4em -0.5em; PADDING-LEFT: = 0.5em; PADDING-RIGHT: 1.5em; FLOAT: left; HEIGHT: 1.7em; CURSOR: move; = TEXT-DECORATION: none; PADDING-TOP: 0.42em } A.tabledrag-handle:hover { TEXT-DECORATION: none } A.tabledrag-handle .handle { MARGIN-TOP: 4px; WIDTH: 13px; BACKGROUND: url(/misc/draggable.png) = no-repeat 0px 0px; HEIGHT: 13px } A.tabledrag-handle-hover .handle { BACKGROUND-POSITION: 0px -20px } .joined + .grippie { BACKGROUND-POSITION: center 1px; MARGIN-BOTTOM: -2px; HEIGHT: 5px } .teaser-checkbox { PADDING-TOP: 1px } DIV.teaser-button-wrapper { MARGIN: 0px; PADDING-RIGHT: 5%; FLOAT: right } .teaser-checkbox DIV.form-item { PADDING-BOTTOM: 0px; MARGIN: 0px 5% 0px 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; FLOAT: right; PADDING-TOP: 0px } TEXTAREA.teaser { DISPLAY: none } HTML.js .no-js { DISPLAY: none } .progress { FONT-WEIGHT: bold } .progress .bar { BORDER-BOTTOM: #00375a 1px solid; BORDER-LEFT: #00375a 1px solid; = MARGIN: 0px 0.2em; BACKGROUND: url(/misc/progress.gif) #fff; HEIGHT: = 1.5em; BORDER-TOP: #00375a 1px solid; BORDER-RIGHT: #00375a 1px solid } .progress .filled { BORDER-BOTTOM: #004a73 0.5em solid; WIDTH: 0%; BACKGROUND: #0072b9; = HEIGHT: 1em } .progress .percentage { FLOAT: right } .progress-disabled { FLOAT: left } .ahah-progress { FLOAT: left } .ahah-progress .throbber { MARGIN: 2px; WIDTH: 15px; BACKGROUND: url(/misc/throbber.gif) no-repeat = 0px -18px; FLOAT: left; HEIGHT: 15px } TR .ahah-progress .throbber { MARGIN: 0px 2px } .ahah-progress-bar { WIDTH: 16em } #first-time STRONG { PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: = block; PADDING-TOP: 1.5em } TR.selected TD { BACKGROUND: #ffc } TABLE.sticky-header { MARGIN-TOP: 0px; BACKGROUND: #fff } .install#clean-url { DISPLAY: none } HTML.js .js-hide { DISPLAY: none } #system-modules DIV.incompatible { FONT-WEIGHT: bold } #system-themes-form DIV.incompatible { FONT-WEIGHT: bold } SPAN.password-strength { VISIBILITY: hidden } INPUT.password-field { MARGIN-RIGHT: 10px } DIV.password-description { PADDING-BOTTOM: 0px; MARGIN: 4px 0px 0px; PADDING-LEFT: 2px; = PADDING-RIGHT: 2px; MAX-WIDTH: 500px; FONT-SIZE: 0.85em; PADDING-TOP: = 0px } DIV.password-description UL { MARGIN-BOTTOM: 0px } .password-parent { MARGIN: 0px } INPUT.password-confirm { MARGIN-RIGHT: 10px } .confirm-parent { MARGIN: 5px 0px 0px } SPAN.password-confirm { VISIBILITY: hidden } SPAN.password-confirm SPAN { FONT-WEIGHT: normal } UL.menu { BORDER-BOTTOM: medium none; TEXT-ALIGN: left; BORDER-LEFT: medium none; = LIST-STYLE-TYPE: none; BORDER-TOP: medium none; LIST-STYLE-IMAGE: none; = BORDER-RIGHT: medium none } UL.menu LI { MARGIN: 0px 0px 0px 0.5em } LI.expanded { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: circle; MARGIN: 0px; = PADDING-LEFT: 0px; PADDING-RIGHT: 0.5em; LIST-STYLE-IMAGE: = url(/misc/menu-expanded.png); PADDING-TOP: 0.2em } LI.collapsed { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: disc; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0.5em; LIST-STYLE-IMAGE: = url(/misc/menu-collapsed.png); PADDING-TOP: 0.2em } LI.leaf { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: square; MARGIN: 0px; = PADDING-LEFT: 0px; PADDING-RIGHT: 0.5em; LIST-STYLE-IMAGE: = url(/misc/menu-leaf.png); PADDING-TOP: 0.2em } LI A.active { COLOR: #000 } TD.menu-disabled { BACKGROUND: #ccc } UL.links { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } UL.inline.links { DISPLAY: inline } UL.links LI { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0.5em; = PADDING-RIGHT: 0.5em; DISPLAY: inline; PADDING-TOP: 0px } .block UL { PADDING-BOTTOM: 0.25em; MARGIN: 0px; PADDING-LEFT: 1em; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } #permissions TD.module { FONT-WEIGHT: bold } #permissions TD.permission { PADDING-LEFT: 1.5em } #access-rules .access-type { FLOAT: left; MARGIN-RIGHT: 1em } #access-rules .rule-type { FLOAT: left; MARGIN-RIGHT: 1em } #access-rules .access-type .form-item { MARGIN-TOP: 0px } #access-rules .rule-type .form-item { MARGIN-TOP: 0px } #access-rules .mask { CLEAR: both } #user-login-form { TEXT-ALIGN: center } #user-admin-filter UL { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; WIDTH: 100%; PADDING-RIGHT: 0px; PADDING-TOP: 0px } #user-admin-buttons { FLOAT: left; MARGIN-LEFT: 0.5em; CLEAR: right } #user-admin-settings FIELDSET .description { PADDING-BOTTOM: 0.5em; FONT-SIZE: 0.85em } .profile { MARGIN: 1em 0px; CLEAR: both } .profile .picture { MARGIN: 0px 1em 1em 0px; FLOAT: right } .profile H3 { BORDER-BOTTOM: #ccc 1px solid } .profile DL { MARGIN: 0px 0px 1.5em } .profile DT { MARGIN: 0px 0px 0.2em; FONT-WEIGHT: bold } .profile DD { MARGIN: 0px 0px 1em } .field .field-label { FONT-WEIGHT: bold } .field .field-label-inline { FONT-WEIGHT: bold } .field .field-label-inline-first { FONT-WEIGHT: bold } .field .field-label-inline { DISPLAY: inline } .field .field-label-inline-first { DISPLAY: inline } .field .field-label-inline { VISIBILITY: hidden } .node-form .content-multiple-table TD.content-multiple-drag { WIDTH: 30px; PADDING-RIGHT: 0px } .node-form .content-multiple-table TD.content-multiple-drag = A.tabledrag-handle { PADDING-RIGHT: 0.5em } .node-form .content-add-more .form-submit { MARGIN: 0px } .node-form .number { WIDTH: auto; DISPLAY: inline } .node-form .text { WIDTH: auto } .form-item #autocomplete .reference-autocomplete { WHITE-SPACE: normal } .form-item #autocomplete .reference-autocomplete LABEL { DISPLAY: inline; FONT-WEIGHT: normal } #content-field-overview-form .advanced-help-link { MARGIN: 4px 4px 0px 0px } #content-display-overview-form .advanced-help-link { MARGIN: 4px 4px 0px 0px } #content-field-overview-form .label-group { FONT-WEIGHT: bold } #content-display-overview-form .label-group { FONT-WEIGHT: bold } #content-copy-export-form .label-group { FONT-WEIGHT: bold } TABLE#content-field-overview .label-add-new-field { FLOAT: left } TABLE#content-field-overview .label-add-existing-field { FLOAT: left } TABLE#content-field-overview .label-add-new-group { FLOAT: left } TABLE#content-field-overview TR.content-add-new .tabledrag-changed { DISPLAY: none } TABLE#content-field-overview TR.content-add-new .description { MARGIN-BOTTOM: 0px } TABLE#content-field-overview .content-new { PADDING-BOTTOM: 0.5em; FONT-WEIGHT: bold } .advanced-help-topic H3 { MARGIN: 1em 0px 0.5em } .advanced-help-topic H4 { MARGIN: 1em 0px 0.5em } .advanced-help-topic H5 { MARGIN: 1em 0px 0.5em } .advanced-help-topic H6 { MARGIN: 1em 0px 0.5em } .advanced-help-topic DD { MARGIN-BOTTOM: 0.5em } .advanced-help-topic SPAN.code { PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #edf1f3; PADDING-LEFT: 1px; = PADDING-RIGHT: 1px; FONT-FAMILY: "Bitstream Vera Sans Mono", Monaco, = "Lucida Console", monospace; FONT-SIZE: 0.9em; PADDING-TOP: 1px } .advanced-help-topic .content-border { BORDER-BOTTOM: #aaa 1px solid; BORDER-LEFT: #aaa 1px solid; BORDER-TOP: = #aaa 1px solid; BORDER-RIGHT: #aaa 1px solid } A.ext { PADDING-RIGHT: 12px; BACKGROUND: = url(/sites/all/modules/extlink/extlink.png) no-repeat right center } A.mailto { PADDING-RIGHT: 12px; BACKGROUND: = url(/sites/all/modules/extlink/mailto.png) no-repeat right center } .rteindent1 { MARGIN-LEFT: 40px } .rteindent2 { MARGIN-LEFT: 80px } .rteindent3 { MARGIN-LEFT: 120px } .rteindent4 { MARGIN-LEFT: 160px } .rteleft { TEXT-ALIGN: left } .rteright { TEXT-ALIGN: right } .rtecenter { TEXT-ALIGN: center } .rtejustify { TEXT-ALIGN: justify } .filefield-icon { FLOAT: left; MARGIN-RIGHT: 0.4em } .filefield-element { MARGIN: 1em 0px; WHITE-SPACE: normal } .filefield-element .widget-preview { PADDING-RIGHT: 10px; MAX-WIDTH: 30%; FLOAT: left; MARGIN-RIGHT: 10px; = BORDER-RIGHT: #ccc 1px solid } .filefield-element .widget-edit { MAX-WIDTH: 70%; FLOAT: left } .filefield-element .filefield-preview { WIDTH: 16em; OVERFLOW: hidden } .filefield-element .widget-edit .form-item { MARGIN: 0px 0px 1em } .filefield-element INPUT.form-submit { MARGIN: 0px } .filefield-element INPUT.form-file { MARGIN: 0px } .filefield-element INPUT.progress-disabled { DISPLAY: inline; FLOAT: none } .filefield-element DIV.ahah-progress { PADDING-BOTTOM: 2px; PADDING-LEFT: 3px; PADDING-RIGHT: 13px; DISPLAY: = inline; FLOAT: none; PADDING-TOP: 1px } .filefield-element DIV.throbber { PADDING-BOTTOM: 2px; PADDING-LEFT: 3px; PADDING-RIGHT: 13px; DISPLAY: = inline; FLOAT: none; PADDING-TOP: 1px } .filefield-element DIV.ahah-progress-bar { PADDING-BOTTOM: 0px; MARGIN-TOP: 4px; PADDING-LEFT: 0px; WIDTH: 28em; = PADDING-RIGHT: 0px; DISPLAY: none; PADDING-TOP: 0px } .filefield-element DIV.ahah-progress-bar DIV.bar { MARGIN: 0px } .filefield-generic-edit .filefield-icon { MARGIN-TOP: 0.3em; FLOAT: left; MARGIN-RIGHT: 0.7em } .filefield-generic-edit-description { MARGIN-RIGHT: 6em } .filefield-generic-edit .form-text { WIDTH: 99% } .filefield-generic-edit .description { WHITE-SPACE: normal; MARGIN-BOTTOM: 0px; OVERFLOW: auto } FORM.fivestar-widget { DISPLAY: block; CLEAR: both } FORM.fivestar-widget SELECT { MARGIN: 0px } FORM.fivestar-widget INPUT { MARGIN: 0px } .fivestar-combo-stars .fivestar-static-form-item { FLOAT: left; MARGIN-RIGHT: 40px } .fivestar-combo-stars .fivestar-form-item { FLOAT: left } .fivestar-static-form-item .form-item { MARGIN: 0px } .fivestar-form-item .form-item { MARGIN: 0px } DIV.fivestar-widget-static { DISPLAY: block } DIV.fivestar-widget-static BR { CLEAR: left } DIV.fivestar-widget-static .star { TEXT-INDENT: -999em; WIDTH: 17px; BACKGROUND: = url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0px = 0px; FLOAT: left; HEIGHT: 15px; OVERFLOW: hidden } DIV.fivestar-widget-static .star SPAN.on { WIDTH: 100%; DISPLAY: block; BACKGROUND: = url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0px = -32px; HEIGHT: 100% } DIV.fivestar-widget-static .star SPAN.off { WIDTH: 100%; DISPLAY: block; BACKGROUND: = url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0px = 0px; HEIGHT: 100% } DIV.fivestar-widget { DISPLAY: block } DIV.fivestar-widget .cancel { TEXT-INDENT: -999em; WIDTH: 17px; FLOAT: left; HEIGHT: 15px; OVERFLOW: = hidden } DIV.fivestar-widget .star { TEXT-INDENT: -999em; WIDTH: 17px; FLOAT: left; HEIGHT: 15px; OVERFLOW: = hidden } DIV.fivestar-widget .cancel { BACKGROUND: url(/sites/all/modules/fivestar/widgets/default/delete.gif) = no-repeat 0px -16px; TEXT-DECORATION: none } DIV.fivestar-widget .cancel A { BACKGROUND: url(/sites/all/modules/fivestar/widgets/default/delete.gif) = no-repeat 0px -16px; TEXT-DECORATION: none } DIV.fivestar-widget .star { BACKGROUND: url(/sites/all/modules/fivestar/widgets/default/star.gif) = no-repeat 0px 0px; TEXT-DECORATION: none } DIV.fivestar-widget .star A { BACKGROUND: url(/sites/all/modules/fivestar/widgets/default/star.gif) = no-repeat 0px 0px; TEXT-DECORATION: none } DIV.fivestar-widget .cancel A { WIDTH: 100%; DISPLAY: block; BACKGROUND-POSITION: 0px 0px; HEIGHT: = 100%; CURSOR: pointer } DIV.fivestar-widget .star A { WIDTH: 100%; DISPLAY: block; BACKGROUND-POSITION: 0px 0px; HEIGHT: = 100%; CURSOR: pointer } DIV.fivestar-widget DIV.on A { BACKGROUND-POSITION: 0px -16px } DIV.fivestar-widget DIV.hover A { BACKGROUND-POSITION: 0px -32px } DIV.rating DIV A:hover { BACKGROUND-POSITION: 0px -32px } FORM.fivestar-widget DIV.description { MARGIN-BOTTOM: 0px } BODY.img_assist { MIN-WIDTH: 0px; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #efefef; MARGIN: = 0px; PADDING-LEFT: 5px; WIDTH: auto; PADDING-RIGHT: 5px; FONT-FAMILY: = Arial, Helvetica, sans-serif; COLOR: #000000; FONT-SIZE: 0.8em; = PADDING-TOP: 5px } BODY#img_assist_thumbs { BORDER-TOP: #000 1px solid } BODY#img_assist_upload { BORDER-TOP: #000 1px solid } BODY#img_assist_properties { BORDER-TOP: #000 1px solid } BODY#img_assist_header { BACKGROUND-COLOR: #ccc; MARGIN: 0px } .img_assist IMG { BORDER-BOTTOM: #000 1px solid; BORDER-LEFT: #000 1px solid; BORDER-TOP: = #000 1px solid; BORDER-RIGHT: #000 1px solid } .img_assist-button { MARGIN: 3px; FONT-WEIGHT: bold } .img_assist IMG { DISPLAY: inline } .img_assist .messages { BORDER-BOTTOM: #000 1px solid; BORDER-LEFT: #000 1px solid; = PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #ccc; MARGIN: 3px 0px 6px; = PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; = BORDER-RIGHT: #000 1px solid; PADDING-TOP: 2px } .img_assist .node-form { WIDTH: 95% } .img_assist #preview { PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 10px; = PADDING-TOP: 5px } .img_assist .form-item { MARGIN-TOP: 0px; MARGIN-BOTTOM: 1em } .img_assist #caption { DISPLAY: block } .img_assist #header-browse DIV.form-item { DISPLAY: inline } .img_assist #link-group DIV.form-item { DISPLAY: inline } .img_assist #edit-size DIV.form-item { DISPLAY: inline } .img_assist #size-other DIV.form-item { DISPLAY: inline } .img_assist #alignment { TEXT-ALIGN: left } .img_assist #edit-title { WIDTH: 99% } .img_assist #edit-desc { WIDTH: 99% } .img_assist #edit-link { WIDTH: 155px } .img_assist #edit-url { WIDTH: 150px } .img_assist #edit-align { WIDTH: 100px } #finalhtmlcode { DISPLAY: none; VISIBILITY: hidden } #header-uploading { WIDTH: 80%; FLOAT: left } #header-properties { WIDTH: 80%; FLOAT: left } #header-browse { WIDTH: 80%; FLOAT: left } #header-startover { TEXT-ALIGN: right; WIDTH: 19%; FLOAT: right } #header-cancel { TEXT-ALIGN: right; WIDTH: 19%; FLOAT: right } #header-uploading INPUT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-properties INPUT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-browse INPUT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-startover INPUT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-cancel INPUT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-uploading SELECT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-properties SELECT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } #header-browse SELECT { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: baseline } BODY#img_assist_popup { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } SPAN.inline-left { MARGIN: 5px 5px 5px 0px; DISPLAY: block; FLOAT: left } SPAN.inline-right { MARGIN: 5px 0px 5px 5px; DISPLAY: block; FLOAT: right } SPAN.inline-center { TEXT-ALIGN: center; DISPLAY: block } SPAN.inline .caption { DISPLAY: block } .image-clear { LINE-HEIGHT: 0px; DISPLAY: block; MARGIN-BOTTOM: -1px; HEIGHT: 1px; = CLEAR: both; FONT-SIZE: 0px } DIV.email { BORDER-BOTTOM: 1px solid; TEXT-ALIGN: left; BORDER-LEFT: 1px solid; = PADDING-BOTTOM: 5px; LINE-HEIGHT: 110%; BACKGROUND-COLOR: #f0f0f0; = MARGIN: 5px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: = "Courier New", Courier, monospace; HEIGHT: auto; FONT-SIZE: 0.95em; = OVERFLOW: auto; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid; = PADDING-TOP: 5px } DIV.email DIV.email { COLOR: #053999; FONT-SIZE: 0.95em } DIV.email DIV.email DIV.email { COLOR: #23961f; FONT-SIZE: 1em } DIV.email DIV.email DIV.email DIV.email { COLOR: #a0072d } DIV.email DIV.email DIV.email DIV.email DIV.email { COLOR: #24ab9d } #forum .description { MARGIN: 0.5em; FONT-SIZE: 0.9em } #forum TD.created { WHITE-SPACE: nowrap } #forum TD.posts { WHITE-SPACE: nowrap } #forum TD.topics { WHITE-SPACE: nowrap } #forum TD.last-reply { WHITE-SPACE: nowrap } #forum TD.replies { WHITE-SPACE: nowrap } #forum TD.pager { WHITE-SPACE: nowrap } #forum TD.posts { TEXT-ALIGN: center } #forum TD.topics { TEXT-ALIGN: center } #forum TD.replies { TEXT-ALIGN: center } #forum TD.pager { TEXT-ALIGN: center } #forum TR TD.forum { BACKGROUND-IMAGE: url(/misc/forum-default.png); PADDING-LEFT: 25px; = BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 2px 2px } #forum TR.new-topics TD.forum { BACKGROUND-IMAGE: url(/misc/forum-new.png) } #forum DIV.indent { MARGIN-LEFT: 20px } .forum-topic-navigation { BORDER-BOTTOM: #888 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: = 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; BORDER-TOP: #888 1px = solid; PADDING-TOP: 0.5em } .forum-topic-navigation .topic-previous { TEXT-ALIGN: right; WIDTH: 46%; FLOAT: left } .forum-topic-navigation .topic-next { TEXT-ALIGN: left; WIDTH: 46%; FLOAT: right } .toc { BORDER-BOTTOM: #b5c9d8 1px solid; TEXT-ALIGN: left; BORDER-LEFT: = #b5c9d8 1px solid; BACKGROUND-COLOR: #f9f9f9; MAX-WIDTH: 50%; FONT-SIZE: = 95%; BORDER-TOP: #b5c9d8 1px solid; BORDER-RIGHT: #b5c9d8 1px solid } .toc-title { TEXT-ALIGN: center; FONT-WEIGHT: bold } .toc-list { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 0px } .toc UL { LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none } BODY { MIN-WIDTH: 210px; PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-LEFT: 0px; = PADDING-RIGHT: 0px; PADDING-TOP: 20px } #page { PADDING-BOTTOM: 3px; MARGIN: 0px auto; PADDING-LEFT: 3px; WIDTH: 95%; = PADDING-RIGHT: 3px; BACKGROUND: #fff; PADDING-TOP: 3px } #header { WIDTH: 100% } #content { WIDTH: 100% } #header { MIN-HEIGHT: 70px; MARGIN-BOTTOM: 3px } .sections { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } .section { FLOAT: left } #section1 { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; MARGIN: 4px = 0px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid } #section1 .block { PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = PADDING-TOP: 8px } #section2 .block { PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = PADDING-TOP: 8px } .width99.section { WIDTH: 100% } .width49.section { WIDTH: 50% } .width33.section { WIDTH: 33% } .width24.section { WIDTH: 25% } .sections { WIDTH: 100% } #middlecontainer { MARGIN: 0px auto } #sidebar-left { Z-INDEX: 2; POSITION: relative; WIDTH: 210px; FLOAT: left } #sidebar-right { Z-INDEX: 2; POSITION: relative; WIDTH: 210px; FLOAT: left } #sidebar-left .block { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = MARGIN-BOTTOM: 5px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px = solid; PADDING-TOP: 8px } #sidebar-right .block { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; = MARGIN-BOTTOM: 5px; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px = solid; PADDING-TOP: 8px } #main { WIDTH: 100%; FLOAT: left } BODY.sidebar-left #main { MARGIN-LEFT: -210px; MARGIN-RIGHT: 0px } BODY.sidebar-right #main { MARGIN-LEFT: 0px; MARGIN-RIGHT: -210px } BODY.sidebars #main { MARGIN-LEFT: -210px; MARGIN-RIGHT: -210px } BODY.sidebar-left #squeeze { PADDING-LEFT: 4px; MARGIN-LEFT: 210px; MARGIN-RIGHT: 0px } BODY.sidebar-right #squeeze { PADDING-RIGHT: 4px; MARGIN-LEFT: 0px; MARGIN-RIGHT: 210px } BODY.sidebars #squeeze { PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; = MARGIN-LEFT: 210px; MARGIN-RIGHT: 210px; PADDING-TOP: 0px } #squeeze-content { PADDING-BOTTOM: 15px } #inner-content { PADDING-BOTTOM: 4px; PADDING-LEFT: 18px; PADDING-RIGHT: 18px; = PADDING-TOP: 4px } .node { MARGIN: 0.5em 0px 1em } .node .content { MARGIN: 0.5em 0px } .comment .content { MARGIN: 0.5em 0px } BODY { LINE-HEIGHT: 135%; BACKGROUND-COLOR: #fff; FONT-FAMILY: Arial, Verdana, = sans-serif; COLOR: #000; FONT-SIZE: 82% } P { MARGIN-TOP: 0.5em; MARGIN-BOTTOM: 0.5em } H1 { PADDING-BOTTOM: 5px; LINE-HEIGHT: 125%; MARGIN: 10px 0px } H2 { PADDING-BOTTOM: 5px; LINE-HEIGHT: 125%; MARGIN: 10px 0px } H3 { PADDING-BOTTOM: 5px; LINE-HEIGHT: 125%; MARGIN: 10px 0px } H4 { PADDING-BOTTOM: 5px; LINE-HEIGHT: 125%; MARGIN: 10px 0px } H4 { PADDING-BOTTOM: 5px; LINE-HEIGHT: 125%; MARGIN: 10px 0px } H1 { FONT-SIZE: 160% } H2 { FONT-SIZE: 125% } H3 { FONT-SIZE: 110% } H4 { FONT-SIZE: 100% } #content-top H2 { FONT-SIZE: 125% } #content-top H2.title { FONT-SIZE: 125% } #content-bottom H2 { FONT-SIZE: 125% } #content-bottom H2.title { FONT-SIZE: 125% } #main H2.title { FONT-SIZE: 150% } .title { MARGIN: 0px auto; COLOR: #8e6126; FONT-WEIGHT: bold } .title A { MARGIN: 0px auto; COLOR: #8e6126; FONT-WEIGHT: bold } .submitted { COLOR: #8e6126; FONT-SIZE: 0.8em } .links { COLOR: #8e6126 } .links A { FONT-WEIGHT: bold } .block .title { MARGIN-BOTTOM: 0.25em } .box .title { FONT-SIZE: 1.1em } A { TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } #main .block H2.title { FONT-SIZE: 125% } TR.odd TD { PADDING-BOTTOM: 0.3em; PADDING-LEFT: 0.3em; PADDING-RIGHT: 0.3em; = PADDING-TOP: 0.3em } TR.even TD { PADDING-BOTTOM: 0.3em; PADDING-LEFT: 0.3em; PADDING-RIGHT: 0.3em; = PADDING-TOP: 0.3em } TR.odd { BACKGROUND: #eee } TR.even { BACKGROUND: #ccc } TBODY { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } FIELDSET { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; BORDER-TOP: = #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid } PRE { BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; = PADDING-BOTTOM: 0.75em; BACKGROUND-COLOR: #eee; PADDING-LEFT: 1.5em; = PADDING-RIGHT: 1.5em; FONT-SIZE: 12px; BORDER-TOP: #ddd 1px solid; = BORDER-RIGHT: #ddd 1px solid; PADDING-TOP: 0.75em } TABLE { FONT-SIZE: 1em } .form-item LABEL { COLOR: #222; FONT-SIZE: 1em } .item-list .title { COLOR: #222; FONT-SIZE: 1em } .item-list UL LI { MARGIN: 0pt 0pt 0.25em 0px } .comment .links { MARGIN-BOTTOM: 0px } #help { MARGIN-BOTTOM: 1em; FONT-SIZE: 0.9em } .clr { CLEAR: both } #logo { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; VERTICAL-ALIGN: middle; = BORDER-TOP: 0px; BORDER-RIGHT: 0px } #logo IMG { BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 15px; = PADDING-LEFT: 1em; WIDTH: 263px; PADDING-RIGHT: 1em; FLOAT: left; = HEIGHT: 82px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 15px } #logo-title { MARGIN: 10px; FLOAT: left } #name-and-slogan { MARGIN: 10px; FLOAT: left } .site-name { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-SIZE: 2em; PADDING-TOP: 0px } .site-name A:link { COLOR: #fff } .site-name A:visited { COLOR: #fff } .site-name A:hover { TEXT-DECORATION: underline } .site-slogan { PADDING-BOTTOM: 0px; FONT-STYLE: italic; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; DISPLAY: block; COLOR: #eee; FONT-SIZE: 1em; = FONT-WEIGHT: bold; PADDING-TOP: 0px } #search-theme-form { PADDING-BOTTOM: 0px; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; FLOAT: = right; PADDING-TOP: 0.5em } #search .form-text { BORDER-BOTTOM: #369 1px solid; BORDER-LEFT: #369 1px solid; HEIGHT: = 1.5em; FONT-SIZE: 1.1em; VERTICAL-ALIGN: middle; BORDER-TOP: #369 1px = solid; BORDER-RIGHT: #369 1px solid } #search .form-submit { BORDER-BOTTOM: #369 1px solid; BORDER-LEFT: #369 1px solid; HEIGHT: = 1.5em; FONT-SIZE: 1.1em; VERTICAL-ALIGN: middle; BORDER-TOP: #369 1px = solid; BORDER-RIGHT: #369 1px solid } #search .form-text { PADDING-BOTTOM: 0px; PADDING-LEFT: 0.5em; WIDTH: 8em; PADDING-RIGHT: = 0.5em; PADDING-TOP: 0px } #edit-search-theme-form-1-wrapper LABEL { DISPLAY: none } DIV#search { TEXT-ALIGN: right; MARGIN-TOP: 22px; FONT-SIZE: 11px; MARGIN-RIGHT: 7px } #primarymenu { TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 0.5em; = PADDING-RIGHT: 0.5em; FLOAT: right; CLEAR: right; PADDING-TOP: 0.5em } #primarymenu LI { BORDER-LEFT: #ffffff 1px solid; PADDING-BOTTOM: 0pt; PADDING-LEFT: = 0.7em; PADDING-RIGHT: 0.5em; PADDING-TOP: 0pt } #primarymenu LI.first { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } .primary-links { COLOR: #fff; FONT-SIZE: 1em } .secondary-links { COLOR: #fff; FONT-SIZE: 0.8em } .primary-links A { COLOR: #fff; FONT-WEIGHT: bold } .primary-links A:link { COLOR: #fff; FONT-WEIGHT: bold } .primary-links A:visited { COLOR: #fff; FONT-WEIGHT: bold } .primary-links A:hover { COLOR: #fff; FONT-WEIGHT: bold } .primary-links .links { COLOR: #fff; FONT-WEIGHT: bold } .primary-links UL.menu { TEXT-ALIGN: right } .primary-links LI { PADDING-BOTTOM: 0pt; LIST-STYLE-TYPE: none; PADDING-LEFT: 0.5em; = PADDING-RIGHT: 0.5em; DISPLAY: inline; PADDING-TOP: 0pt } .primary-links LI.first { BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: = medium none; BORDER-RIGHT: medium none } #primarymenu A.active { COLOR: #cdcd8f } #primarymenu A.active { COLOR: #cdcd8f } #primarymenu A { COLOR: #ffffff; FONT-WEIGHT: bold } #mission { PADDING-BOTTOM: 1.5em; PADDING-LEFT: 2em; PADDING-RIGHT: 2em; COLOR: = #fff; PADDING-TOP: 1.5em } #mission A { COLOR: #9cf; FONT-WEIGHT: bold } #mission A:visited { COLOR: #9cf; FONT-WEIGHT: bold } .breadcrumb { MARGIN-BOTTOM: 0.5em } DIV#breadcrumb { CLEAR: both; FONT-SIZE: 80%; PADDING-TOP: 3px } .messages { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 0.3em; BACKGROUND-COLOR: #eee; PADDING-LEFT: 0.3em; = PADDING-RIGHT: 0.3em; MARGIN-BOTTOM: 1em; BORDER-TOP: #ccc 1px solid; = BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 0.3em } .error { BORDER-BOTTOM-COLOR: red; BORDER-TOP-COLOR: red; BORDER-RIGHT-COLOR: = red; BORDER-LEFT-COLOR: red } #header .block { TEXT-ALIGN: center } #footer { BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center; BORDER-LEFT: #ccc = 1px solid; BACKGROUND-COLOR: #fff; MARGIN-TOP: 4px; FONT-SIZE: 0.8em; = BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: #ccc 1px solid } #footer-region { TEXT-ALIGN: center } #footer-message { TEXT-ALIGN: center; MARGIN: 0px; FONT-SIZE: 90% } #footer-message A { FONT-WEIGHT: bold } .node .taxonomy { PADDING-LEFT: 1.5em; FONT-SIZE: 0.8em } .node .picture { BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; MARGIN: = 0.5em; FLOAT: right; BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: #ddd 1px = solid } .comment { PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; = MARGIN-BOTTOM: 1em; PADDING-TOP: 0.5em } .comment .title A { FONT-SIZE: 1.1em; FONT-WEIGHT: normal } .comment .new { TEXT-ALIGN: right; FLOAT: right; COLOR: red; FONT-SIZE: 0.8em; = FONT-WEIGHT: bold } .comment .picture { BORDER-BOTTOM: #abc 1px solid; BORDER-LEFT: #abc 1px solid; MARGIN: = 0.5em; FLOAT: right; BORDER-TOP: #abc 1px solid; BORDER-RIGHT: #abc 1px = solid } #aggregator .feed-source { BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; = PADDING-BOTTOM: 1em; BACKGROUND-COLOR: #eee; MARGIN: 1em 0px; = PADDING-LEFT: 1em; PADDING-RIGHT: 1em; BORDER-TOP: #ccc 1px solid; = BORDER-RIGHT: #ccc 1px solid; PADDING-TOP: 1em } #aggregator .news-item .categories { FONT-STYLE: italic; FONT-SIZE: 0.9em } #aggregator .source { FONT-STYLE: italic; FONT-SIZE: 0.9em } #aggregator .age { FONT-STYLE: italic; FONT-SIZE: 0.9em } #aggregator .title { MARGIN-BOTTOM: 0.5em; FONT-SIZE: 1em } #aggregator H3 { MARGIN-TOP: 1em } #forum TABLE { WIDTH: 100% } #forum TD { PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; = PADDING-TOP: 0.5em } #forum TD.forum { BACKGROUND-COLOR: #eee } #forum TD.posts { BACKGROUND-COLOR: #eee } #forum TD.topics { BACKGROUND-COLOR: #ddd } #forum TD.last-reply { BACKGROUND-COLOR: #ddd } #forum TD.container { BACKGROUND-COLOR: #ccc } #forum TD.container A { COLOR: #555 } #forum TD.statistics { BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; HEIGHT: = 1.5em; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb 1px solid } #forum TD.settings { BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; HEIGHT: = 1.5em; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb 1px solid } #forum TD.pager { BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; HEIGHT: = 1.5em; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb 1px solid } #forum TD .name { =09 } #forum TD .links { FONT-SIZE: 0.9em; PADDING-TOP: 0.7em } #profile .profile { BORDER-BOTTOM: #abc 1px solid; BORDER-LEFT: #abc 1px solid; = PADDING-BOTTOM: 0.5em; MARGIN: 1em 0em; PADDING-LEFT: 0.5em; = PADDING-RIGHT: 0.5em; CLEAR: both; BORDER-TOP: #abc 1px solid; = BORDER-RIGHT: #abc 1px solid; PADDING-TOP: 0.5em } #profile .profile .name { PADDING-BOTTOM: 0.5em } .block-forum H3 { MARGIN-BOTTOM: 0.5em } DIV.admin-panel .description { COLOR: #8e6126 } DIV.admin-panel .body { BACKGROUND: #f4f4f4 } DIV.admin-panel H3 { PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-LEFT: 8px; PADDING-RIGHT: = 8px; COLOR: #fff; PADDING-TOP: 5px } .poll .title { COLOR: #000000 } .poll .bar .foreground { BACKGROUND: #4b75a4 } A.print-page { FONT-WEIGHT: normal } .node .links LI { FLOAT: left } .node .links LI.print_html { FLOAT: right } .node .links LI.print_html { FLOAT: right } .node .links LI.book_printer { FLOAT: right } .help SPAN.print_html { FLOAT: right } .comment H3 { PADDING-BOTTOM: 0px; MARGIN: 0px } .comment .submitted { POSITION: relative; WIDTH: 100%; LEFT: 1px } .comment .content { MARGIN-BOTTOM: 0.8em } #main .title + DIV.tabs { BORDER-BOTTOM: #bbbbbb 1px solid } #comments { MARGIN-TOP: 2.8em; BORDER-TOP: #bbbbbb 1px solid; PADDING-TOP: 0.75em } .node .links { MARGIN-TOP: 1em; MARGIN-BOTTOM: 2em } .comment { BORDER-BOTTOM: #abc 1px dashed; BORDER-LEFT: #abc 1px dashed; = BORDER-TOP: #abc 1px dashed; BORDER-RIGHT: #abc 1px dashed } DIV.node + DIV.box { MARGIN-TOP: 2.8em; CLEAR: both; BORDER-TOP: #bbbbbb 1px solid; = PADDING-TOP: 0em } DIV.block-poll DIV.links UL.links { TEXT-ALIGN: center; MARGIN-TOP: 2px; PADDING-LEFT: 0px } #comments LI.comment_forbidden { DISPLAY: none } .faq .faq_description + .item-list UL { POSITION: relative; TOP: 6px; LEFT: 1.5em } .node .taxonomy UL.links LI { POSITION: relative; PADDING-BOTTOM: 6px; PADDING-LEFT: 0em; FLOAT: = none; TOP: -3px } .node .links LI.upload_attachments { DISPLAY: none } .node .submitted { POSITION: relative; TOP: -3px } DIV.forum-post-links LI.comment_edit { DISPLAY: none } LI.statistics_counter SPAN { DISPLAY: none } BLOCKQUOTE { BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: = 1ex } DIV#inner-content DIV.teaser-checkbox { DISPLAY: none } DIV.view-SIDs FORM SELECT#edit-status OPTGROUP + OPTGROUP { DISPLAY: none } DIV#inner-content FORM.fivestar-widget { MARGIN-TOP: 15px } .toni-sid-edit-form DIV.node-form UL.tips { DISPLAY: none } .toni-sid-edit-form DIV.node-form UL.tips + P { DISPLAY: none } .toni-sid-edit-form DIV.node-form DIV.img_assist-button { DISPLAY: none } .toni-sid-edit-form DIV.node-form DIV.img_assist-button + FIELDSET { DISPLAY: none } .toni-sid-create-form DIV.node-form UL.tips { DISPLAY: none } .toni-sid-create-form DIV.node-form UL.tips + P { DISPLAY: none } .toni-sid-create-form DIV.node-form DIV.img_assist-button { DISPLAY: none } .toni-sid-create-form DIV.node-form DIV.img_assist-button + FIELDSET { DISPLAY: none } H3.toni-add-new-sid-form-h3 { MARGIN-TOP: 5px; BORDER-TOP: #bbbbbb 1px solid; PADDING-TOP: 16px } .toni-sid-edit-form DIV.toni-sid-create-form-additional-instructions { DISPLAY: none } DIV#inner-content DIV.node DIV.field-field-title2 { PADDING-BOTTOM: 2px } DIV#inner-content DIV.field-field-doc { PADDING-TOP: 2px } DIV.view-id-SIDs TD.views-field-title SPAN.view-sids-toni-title-status { FONT-STYLE: italic; DISPLAY: none; FONT-SIZE: smaller } DIV.view-id-SIDs TD.views-field-title SPAN.sid-status-draft = SPAN.view-sids-toni-title-status { DISPLAY: inline } DIV.view-id-SIDs TD.views-field-title SPAN.sid-status-rejected { TEXT-DECORATION: line-through } DIV.view-id-SIDs TD.views-field-title SPAN.sid-status-obsolete { TEXT-DECORATION: line-through } BODY.toni-forum-create-form DIV#inner-content FORM { DISPLAY: none } DIV.forum-top-links UL.forum-links LI.first { DISPLAY: none } UL.forum-links LI.topic_reply { DISPLAY: none } DIV.forum-post-links { DISPLAY: none } TABLE.toniminipanel A { BORDER-BOTTOM: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; = PADDING-BOTTOM: 2px; PADDING-LEFT: 1px; WIDTH: 100%; PADDING-RIGHT: 1px; = DISPLAY: block; HEIGHT: 100%; BORDER-TOP: #cccccc 1px dotted; = BORDER-RIGHT: #cccccc 1px dotted; TEXT-DECORATION: none; PADDING-TOP: = 2px } TABLE.toniminipanel A:hover { BACKGROUND-COLOR: #dddddd; TEXT-DECORATION: none } BODY { BACKGROUND-COLOR: #8596aa; COLOR: #222 } #page { BACKGROUND-COLOR: #fff } TR.odd { BACKGROUND: #f5f5e9 } TR.even { BACKGROUND: #eef4f9 } #section1 { BACKGROUND: #f5f5e9 } #section2 { BACKGROUND: url(/sites/all/themes/newsflash/images/blue/BottomBG.png) = #336299 repeat-x 0px 0px; COLOR: #fff } #primary A.active { COLOR: #cdcd8f } #secondary A.active { COLOR: #cdcd8f } A:link { COLOR: #336299 } A:visited { COLOR: #336299 } A:hover { COLOR: #336299 } .title { COLOR: #336299 } .title A { COLOR: #336299 } .submitted { COLOR: #336299 } .links { COLOR: #336299 } .node .taxonomy { COLOR: #336299 } #aggregator .news-item .categories { COLOR: #336299 } #aggregator .source { COLOR: #336299 } #aggregator .age { COLOR: #336299 } #forum TD .name { COLOR: #336299 } DIV.admin-panel .description { COLOR: #336299 } #section2 .title { COLOR: #fff } #section2 .title A { COLOR: #fff } #section2 A:link { COLOR: #eec193 } #section2 A:visited { COLOR: #eec193 } #section2 A.hover { COLOR: #eec193 } #header { BACKGROUND: url(/sites/all/themes/newsflash/images/blue/MastBG.png) = #336299 repeat-x 0px 0px } #sidebar-left .block { BACKGROUND-COLOR: #eef4f9 } #sidebar-right .block { BACKGROUND-COLOR: #eef4f9 } #mission { BACKGROUND-COLOR: #2e4a6b } DIV.admin-panel H3 { BACKGROUND-COLOR: #2e4a6b } #suckerfishmenu .block { PADDING-BOTTOM: 0px; MARGIN-BOTTOM: 0px } #suckerfishmenu .block { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 0px } #suckerfishmenu .box { PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; = PADDING-TOP: 0px } #suckerfishmenu .title { DISPLAY: none } #suckerfishmenu { LINE-HEIGHT: 26px; BACKGROUND: #2e4a6b; BORDER-TOP: #fff 1px solid } #suckerfishmenu UL.menu { Z-INDEX: 100; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; DISPLAY: inline; LIST-STYLE-IMAGE: none; = PADDING-TOP: 0px } #suckerfishmenu A { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 14px; PADDING-RIGHT: = 14px; DISPLAY: block; BACKGROUND: = url(/sites/all/themes/newsflash/images/blue/MenuDiv.png) #2e4a6b = repeat-y 100% 0px; COLOR: #fff; FONT-SIZE: 95%; FONT-WEIGHT: normal; = TEXT-DECORATION: none; PADDING-TOP: 0px } #suckerfishmenu A:active { BACKGROUND: #336299; TEXT-DECORATION: none } #suckerfishmenu A:hover { BACKGROUND: #336299; TEXT-DECORATION: none } #suckerfishmenu LI { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; DISPLAY: inline; FLOAT: left; HEIGHT: 1%; PADDING-TOP: 0px } #suckerfishmenu UL.menu UL { PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px } #suckerfishmenu UL.menu LI UL { POSITION: absolute; WIDTH: 200px; LEFT: -999em } #suckerfishmenu UL.menu LI LI { WIDTH: 200px; FLOAT: left } #suckerfishmenu UL.menu LI LI A:link { BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; WIDTH: = 170px; BACKGROUND: #336299; COLOR: #fff; BORDER-TOP: #2e4a6b 1px solid; = BORDER-RIGHT: #fff 1px solid } #suckerfishmenu UL.menu LI LI A:visited { BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; WIDTH: = 170px; BACKGROUND: #336299; COLOR: #fff; BORDER-TOP: #2e4a6b 1px solid; = BORDER-RIGHT: #fff 1px solid } #suckerfishmenu UL.menu LI LI.expanded A { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #336299 no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded A:active { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded A:hover { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI UL A:active { BACKGROUND: #2e4a6b; TEXT-DECORATION: none } #suckerfishmenu UL.menu LI UL A:hover { BACKGROUND: #2e4a6b; TEXT-DECORATION: none } #suckerfishmenu UL.menu LI LI.expanded UL.menu A { BACKGROUND: #336299 } #suckerfishmenu UL.menu LI LI.expanded UL.menu A:active { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu A:hover { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI.expanded A { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #336299 no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI.expanded A:active { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI.expanded A:hover { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI { =09 } #suckerfishmenu UL.menu LI UL A { LINE-HEIGHT: 26px; WIDTH: 200px; COLOR: #fff; FONT-SIZE: 95% } #suckerfishmenu UL.menu LI UL A:active { BACKGROUND: #2e4a6b; TEXT-DECORATION: none } #suckerfishmenu UL.menu LI UL A:hover { BACKGROUND: #2e4a6b; TEXT-DECORATION: none } #suckerfishmenu UL.menu LI UL UL { MARGIN: -29px 0px 0px 200px } #suckerfishmenu UL.menu LI:hover UL UL { LEFT: -999em } #suckerfishmenu UL.menu LI:hover UL UL UL { LEFT: -999em } #suckerfishmenu UL.menu LI.sfhover UL UL { LEFT: -999em } #suckerfishmenu UL.menu LI.sfhover UL UL UL { LEFT: -999em } #suckerfishmenu UL.menu LI:hover UL { LEFT: auto } #suckerfishmenu UL.menu LI LI:hover UL { LEFT: auto } #suckerfishmenu UL.menu LI LI LI:hover UL { LEFT: auto } #suckerfishmenu UL.menu LI.sfhover UL { LEFT: auto } #suckerfishmenu UL.menu LI LI.sfhover UL { LEFT: auto } #suckerfishmenu UL.menu LI LI LI.sfhover UL { LEFT: auto } #suckerfishmenu UL.menu LI UL UL UL { MARGIN: -29px 0px 0px 200px } #suckerfishmenu UL.menu UL LI:hover UL UL { LEFT: -999em } #suckerfishmenu UL.menu UL LI:hover UL UL UL { LEFT: -999em } #suckerfishmenu UL.menu UL LI.sfhover UL UL { LEFT: -999em } #suckerfishmenu UL.menu UL LI.sfhover UL UL UL { LEFT: -999em } #suckerfishmenu UL.menu UL LI:hover UL { LEFT: auto } #suckerfishmenu UL.menu UL LI LI:hover UL { LEFT: auto } #suckerfishmenu UL.menu UL LI LI LI:hover UL { LEFT: auto } #suckerfishmenu UL.menu UL LI.sfhover UL { LEFT: auto } #suckerfishmenu UL.menu UL LI LI.sfhover UL { LEFT: auto } #suckerfishmenu UL.menu UL LI LI LI.sfhover UL { LEFT: auto } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI.expanded UL.menu LI A = { BACKGROUND: #336299 } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI.expanded UL.menu LI = A:active { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI.expanded UL.menu LI = A:hover { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI.expanded A = { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #336299 no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI.expanded = A:active { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI.expanded = A:hover { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu A { BACKGROUND: #336299 } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu A:active { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu A:hover { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI.expanded LI = UL.menu LI.expanded A { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #336299 no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI.expanded LI = UL.menu LI.expanded A:active { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI.expanded LI = UL.menu LI.expanded A:hover { BACKGROUND: url(/sites/all/themes/newsflash/images/menu_arrow.png) = #2e4a6b no-repeat 100% 50% } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI UL.menu A { BACKGROUND: #336299 } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI UL.menu = A:active { BACKGROUND: #2e4a6b } #suckerfishmenu UL.menu LI LI.expanded UL.menu LI UL.menu LI UL.menu = A:hover { BACKGROUND: #2e4a6b } ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: text/css; charset="koi8-r" Content-Transfer-Encoding: 7bit Content-Location: http://www.scala-lang.org/sites/all/themes/newsflash/css/ie.css .width24#banner2 { MARGIN-RIGHT: -1px } .width24#content5 { MARGIN-RIGHT: -1px } .width24#banner3 { MARGIN-RIGHT: -1px } .width24#content6 { MARGIN-RIGHT: -1px } .width49#content1 { MARGIN-RIGHT: -1px } .width49#content9 { MARGIN-RIGHT: -1px } ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.scala-lang.org/sites/default/files/js/217121aeeb85e493374704b31c03995f.js // $Id: jquery.js,v 1.12.2.3 2008/06/25 09:38:39 goba Exp $ =0A= =0A= /*=0A= * jQuery 1.2.6 - New Wave Javascript=0A= *=0A= * Copyright (c) 2008 John Resig (jquery.com)=0A= * Dual licensed under the MIT (MIT-LICENSE.txt)=0A= * and GPL (GPL-LICENSE.txt) licenses.=0A= *=0A= * Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008)=0A= * Rev: 5685=0A= */=0A= eval(function(p,a,c,k,e,r){e=3Dfunction(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace= (/^/,String)){while(c--)r[e(c)]=3Dk[c]||e(c);k=3D[function(e){return = r[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--)if(k[c])p=3Dp.replac= e(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(H(){J = w=3D1b.4M,3m$=3D1b.$;J D=3D1b.4M=3D1b.$=3DH(a,b){I 2B D.17.5j(a,b)};J = u=3D/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/,62=3D/^.[^:#\\[\\.]*$/,12;D.17=3D= D.44=3D{5j:H(d,b){d=3Dd||S;G(d.16){7[0]=3Dd;7.K=3D1;I 7}G(1j = d=3D=3D"23"){J = c=3Du.2D(d);G(c&&(c[1]||!b)){G(c[1])d=3DD.4h([c[1]],b);N{J = a=3DS.61(c[3]);G(a){G(a.2v!=3Dc[3])I D().2q(d);I D(a)}d=3D[]}}N I = D(b).2q(d)}N G(D.1D(d))I D(S)[D.17.27?"27":"43"](d);I = 7.6Y(D.2d(d))},5w:"1.2.6",8G:H(){I 7.K},K:0,3p:H(a){I = a=3D=3D12?D.2d(7):7[a]},2I:H(b){J a=3DD(b);a.5n=3D7;I = a},6Y:H(a){7.K=3D0;2p.44.1p.1w(7,a);I 7},P:H(a,b){I = D.P(7,a,b)},5i:H(b){J a=3D-1;I D.2L(b&&b.5w?b[0]:b,7)},1K:H(c,a,b){J = d=3Dc;G(c.1q=3D=3D56)G(a=3D=3D=3D12)I = 7[0]&&D[b||"1K"](7[0],c);N{d=3D{};d[c]=3Da}I 7.P(H(i){R(c 1n = d)D.1K(b?7.V:7,c,D.1i(7,d[c],b,i,c))})},1g:H(b,a){G((b=3D=3D\'2h\'||b=3D=3D= \'1Z\')&&3d(a)<0)a=3D12;I 7.1K(b,a,"2a")},1r:H(b){G(1j = b!=3D"49"&&b!=3DU)I 7.4E().3v((7[0]&&7[0].2z||S).5F(b));J = a=3D"";D.P(b||7,H(){D.P(7.3t,H(){G(7.16!=3D8)a+=3D7.16!=3D1?7.76:D.17.1r(= [7])})});I a},5z:H(b){G(7[0])D(b,7[0].2z).5y().39(7[0]).2l(H(){J = a=3D7;1B(a.1x)a=3Da.1x;I a}).3v(7);I 7},8Y:H(a){I = 7.P(H(){D(7).6Q().5z(a)})},8R:H(a){I 7.P(H(){D(7).5z(a)})},3v:H(){I = 7.3W(19,M,Q,H(a){G(7.16=3D=3D1)7.3U(a)})},6F:H(){I = 7.3W(19,M,M,H(a){G(7.16=3D=3D1)7.39(a,7.1x)})},6E:H(){I = 7.3W(19,Q,Q,H(a){7.1d.39(a,7)})},5q:H(){I = 7.3W(19,Q,M,H(a){7.1d.39(a,7.2H)})},3l:H(){I 7.5n||D([])},2q:H(b){J = c=3DD.2l(7,H(a){I D.2q(b,a)});I 7.2I(/[^+>] = [^+>]/.11(b)||b.1h("..")>-1?D.4r(c):c)},5y:H(e){J = f=3D7.2l(H(){G(D.14.1f&&!D.4n(7)){J = a=3D7.6o(M),5h=3DS.3h("1v");5h.3U(a);I D.4h([5h.4H])[0]}N I 7.6o(M)});J = d=3Df.2q("*").5c().P(H(){G(7[E]!=3D12)7[E]=3DU});G(e=3D=3D=3DM)7.2q("*").= 5c().P(H(i){G(7.16=3D=3D3)I;J c=3DD.L(7,"3w");R(J a 1n c)R(J b 1n = c[a])D.W.1e(d[i],a,c[a][b],c[a][b].L)});I f},1E:H(b){I = 7.2I(D.1D(b)&&D.3C(7,H(a,i){I = b.1k(a,i)})||D.3g(b,7))},4Y:H(b){G(b.1q=3D=3D56)G(62.11(b))I = 7.2I(D.3g(b,7,M));N b=3DD.3g(b,7);J a=3Db.K&&b[b.K-1]!=3D=3D12&&!b.16;I = 7.1E(H(){I a?D.2L(7,b)<0:7!=3Db})},1e:H(a){I 7.2I(D.4r(D.2R(7.3p(),1j = a=3D=3D\'23\'?D(a):D.2d(a))))},3F:H(a){I!!a&&D.3g(a,7).K>0},7T:H(a){I = 7.3F("."+a)},6e:H(b){G(b=3D=3D12){G(7.K){J c=3D7[0];G(D.Y(c,"2A")){J = e=3Dc.64,63=3D[],15=3Dc.15,2V=3Dc.O=3D=3D"2A-2V";G(e<0)I U;R(J = i=3D2V?e:0,2f=3D2V?e+1:15.K;i<2f;i++){J = d=3D15[i];G(d.2W){b=3DD.14.1f&&!d.at.2x.an?d.1r:d.2x;G(2V)I = b;63.1p(b)}}I 63}N I(7[0].2x||"").1o(/\\r/g,"")}I = 12}G(b.1q=3D=3D4L)b+=3D\'\';I = 7.P(H(){G(7.16!=3D1)I;G(b.1q=3D=3D2p&&/5O|5L/.11(7.O))7.4J=3D(D.2L(7.2x,b= )>=3D0||D.2L(7.34,b)>=3D0);N G(D.Y(7,"2A")){J = a=3DD.2d(b);D("9R",7).P(H(){7.2W=3D(D.2L(7.2x,a)>=3D0||D.2L(7.1r,a)>=3D0)= });G(!a.K)7.64=3D-1}N 7.2x=3Db})},2K:H(a){I = a=3D=3D12?(7[0]?7[0].4H:U):7.4E().3v(a)},7b:H(a){I = 7.5q(a).21()},79:H(i){I 7.3s(i,i+1)},3s:H(){I = 7.2I(2p.44.3s.1w(7,19))},2l:H(b){I 7.2I(D.2l(7,H(a,i){I = b.1k(a,i,a)}))},5c:H(){I 7.1e(7.5n)},L:H(d,b){J = a=3Dd.1R(".");a[1]=3Da[1]?"."+a[1]:"";G(b=3D=3D=3D12){J = c=3D7.5C("9z"+a[1]+"!",[a[0]]);G(c=3D=3D=3D12&&7.K)c=3DD.L(7[0],d);I = c=3D=3D=3D12&&a[1]?7.L(a[0]):c}N I = 7.1P("9u"+a[1]+"!",[a[0],b]).P(H(){D.L(7,d,b)})},3b:H(a){I = 7.P(H(){D.3b(7,a)})},3W:H(g,f,h,d){J e=3D7.K>1,3x;I = 7.P(H(){G(!3x){3x=3DD.4h(g,7.2z);G(h)3x.9o()}J = b=3D7;G(f&&D.Y(7,"1T")&&D.Y(3x[0],"4F"))b=3D7.3H("22")[0]||7.3U(7.2z.3h("= 22"));J c=3DD([]);D.P(3x,H(){J = a=3De?D(7).5y(M)[0]:7;G(D.Y(a,"1m"))c=3Dc.1e(a);N{G(a.16=3D=3D1)c=3Dc.1e(= D("1m",a).21());d.1k(b,a)}});c.P(6T)})}};D.17.5j.44=3DD.17;H = 6T(i,a){G(a.4d)D.3Y({1a:a.4d,31:Q,1O:"1m"});N = D.5u(a.1r||a.6O||a.4H||"");G(a.1d)a.1d.37(a)}H 1z(){I+2B = 8J}D.1l=3DD.17.1l=3DH(){J = b=3D19[0]||{},i=3D1,K=3D19.K,4x=3DQ,15;G(b.1q=3D=3D8I){4x=3Db;b=3D19[1]||= {};i=3D2}G(1j b!=3D"49"&&1j = b!=3D"H")b=3D{};G(K=3D=3Di){b=3D7;--i}R(;i-1}},6q:H(b,c,a){J e=3D{};R(J d 1n = c){e[d]=3Db.V[d];b.V[d]=3Dc[d]}a.1k(b);R(J d 1n = c)b.V[d]=3De[d]},1g:H(d,e,c){G(e=3D=3D"2h"||e=3D=3D"1Z"){J = b,3X=3D{30:"5x",5g:"1G",18:"3I"},35=3De=3D=3D"2h"?["5e","6k"]:["5G","6i"]= ;H 5b(){b=3De=3D=3D"2h"?d.8f:d.8c;J = a=3D0,2C=3D0;D.P(35,H(){a+=3D3d(D.2a(d,"57"+7,M))||0;2C+=3D3d(D.2a(d,"2C"= +7+"4b",M))||0});b-=3D29.83(a+2C)}G(D(d).3F(":4j"))5b();N = D.6q(d,3X,5b);I 29.2f(0,b)}I D.2a(d,e,c)},2a:H(f,l,k){J e,V=3Df.V;H = 3E(b){G(!D.14.2k)I Q;J = a=3D3P.54(b,U);I!a||a.52("3E")=3D=3D""}G(l=3D=3D"1y"&&D.14.1f){e=3DD.1K(V= ,"1y");I e=3D=3D""?"1":e}G(D.14.2G&&l=3D=3D"18"){J d=3DV.50;V.50=3D"0 7Y = 7W";V.50=3Dd}G(l.1I(/4i/i))l=3Dy;G(!k&&V&&V[l])e=3DV[l];N = G(3P.54){G(l.1I(/4i/i))l=3D"4i";l=3Dl.1o(/([A-Z])/g,"-$1").3y();J = c=3D3P.54(f,U);G(c&&!3E(f))e=3Dc.52(l);N{J = g=3D[],2E=3D[],a=3Df,i=3D0;R(;a&&3E(a);a=3Da.1d)2E.6h(a);R(;i<2E.K;i++)G(= 3E(2E[i])){g[i]=3D2E[i].V.18;2E[i].V.18=3D"3I"}e=3Dl=3D=3D"18"&&g[2E.K-1]= !=3DU?"2F":(c&&c.52(l))||"";R(i=3D0;i]*?)\\/>/g,H(b,a,c){I = c.1I(/^(aK|4f|7E|aG|4T|7A|aB|3n|az|ay|av)$/i)?b:a+">"});J = f=3DD.3k(d).3y(),1v=3Dh.3h("1v");J e=3D!f.1h("",""]||!f.1h("",""]||f.1I(/^<(aq|22|= am|ak|ai)/)&&[1,"<1T>",""]||!f.1h("<4F")&&[2,"<1T><22>",""= ]||(!f.1h("<22><4F>",""]||!f= .1h("<7E")&&[2,"<1T><22><7q>",""]||D.14.1f&&[1,"1v<1v>","<= /1v>"]||[0,"",""];1v.4H=3De[1]+d+e[2];1B(e[0]--)1v=3D1v.5T;G(D.14.1f){J = g=3D!f.1h("<1T")&&f.1h("<22")<0?1v.1x&&1v.1x.3t:e[1]=3D=3D"<1T>"&&f.1h("<= 22")<0?1v.3t:[];R(J = j=3Dg.K-1;j>=3D0;--j)G(D.Y(g[j],"22")&&!g[j].3t.K)g[j].1d.37(g[j]);G(/^\\= s/.11(d))1v.39(h.5F(d.1I(/^\\s*/)[0]),1v.1x)}d=3DD.2d(1v.3t)}G(d.K=3D=3D=3D= 0&&(!D.Y(d,"3V")&&!D.Y(d,"2A")))I;G(d[0]=3D=3D12||D.Y(d,"3V")||d.15)k.1p(= d);N k=3DD.2R(k,d)});I k},1K:H(d,f,c){G(!d||d.16=3D=3D3||d.16=3D=3D8)I = 12;J = e=3D!D.4n(d),40=3Dc!=3D=3D12,1f=3DD.14.1f;f=3De&&D.3X[f]||f;G(d.2j){J = g=3D/5Q|4d|V/.11(f);G(f=3D=3D"2W"&&D.14.2k)d.1d.64;G(f 1n = d&&e&&!g){G(40){G(f=3D=3D"O"&&D.Y(d,"4T")&&d.1d)7p"O a3 a1\'t 9V = 9U";d[f]=3Dc}G(D.Y(d,"3V")&&d.7i(f))I d.7i(f).76;I = d[f]}G(1f&&e&&f=3D=3D"V")I D.1K(d.V,"9T",c);G(40)d.9Q(f,""+c);J = h=3D1f&&e&&g?d.4G(f,2):d.4G(f);I = h=3D=3D=3DU?12:h}G(1f&&f=3D=3D"1y"){G(40){d.6B=3D1;d.1E=3D(d.1E||"").1o(/= 7f\\([^)]*\\)/,"")+(3r(c)+\'\'=3D=3D"9L"?"":"7f(1y=3D"+c*7a+")")}I = d.1E&&d.1E.1h("1y=3D")>=3D0?(3d(d.1E.1I(/1y=3D([^)]*)/)[1])/7a)+\'\':""}f= =3Df.1o(/-([a-z])/9H,H(a,b){I b.2r()});G(40)d[f]=3Dc;I = d[f]},3k:H(a){I(a||"").1o(/^\\s+|\\s+$/g,"")},2d:H(b){J = a=3D[];G(b!=3DU){J i=3Db.K;G(i=3D=3DU||b.1R||b.4I||b.1k)a[0]=3Db;N = 1B(i)a[--i]=3Db[i]}I a},2L:H(b,a){R(J = i=3D0,K=3Da.K;i*",7).21();1= B(7.1x)7.37(7.1x)}},H(a,b){D.17[a]=3DH(){I = 7.P(b,19)}});D.P(["6N","4b"],H(i,c){J b=3Dc.3y();D.17[b]=3DH(a){I = 7[0]=3D=3D1b?D.14.2G&&S.1c["5t"+c]||D.14.2k&&1b["5s"+c]||S.70=3D=3D"6Z"&&= S.1C["5t"+c]||S.1c["5t"+c]:7[0]=3D=3DS?29.2f(29.2f(S.1c["4y"+c],S.1C["4y"= +c]),29.2f(S.1c["2i"+c],S.1C["2i"+c])):a=3D=3D12?(7.K?D.1g(7[0],b):U):7.1= g(b,a.1q=3D=3D56?a:a+"2X")}});H 25(a,b){I = a[0]&&3r(D.2a(a[0],b,M),10)||0}J = C=3DD.14.2k&&3r(D.14.5B)<8H?"(?:[\\\\w*3m-]|\\\\\\\\.)":"(?:[\\\\w\\8F-\\= 8E*3m-]|\\\\\\\\.)",6L=3D2B 4v("^>\\\\s*("+C+"+)"),6J=3D2B = 4v("^("+C+"+)(#)("+C+"+)"),6I=3D2B = 4v("^([#.]?)("+C+"*)");D.1l({6H:{"":H(a,i,m){I = m[2]=3D=3D"*"||D.Y(a,m[2])},"#":H(a,i,m){I = a.4G("2v")=3D=3Dm[2]},":":{8D:H(a,i,m){I im[3]-0},3a:H(a,i,m){I m[3]-0=3D=3Di},79:H(a,i,m){I = m[3]-0=3D=3Di},3o:H(a,i){I i=3D=3D0},3S:H(a,i,m,r){I = i=3D=3Dr.K-1},6D:H(a,i){I i%2=3D=3D0},6C:H(a,i){I i%2},"3o-4u":H(a){I = a.1d.3H("*")[0]=3D=3Da},"3S-4u":H(a){I = D.3a(a.1d.5T,1,"4l")=3D=3Da},"8z-4u":H(a){I!D.3a(a.1d.5T,2,"4l")},6W:H(a)= {I = a.1x},4E:H(a){I!a.1x},8y:H(a,i,m){I(a.6O||a.8x||D(a).1r()||"").1h(m[3])>=3D= 0},4j:H(a){I"1G"!=3Da.O&&D.1g(a,"18")!=3D"2F"&&D.1g(a,"5g")!=3D"1G"},1G:H= (a){I"1G"=3D=3Da.O||D.1g(a,"18")=3D=3D"2F"||D.1g(a,"5g")=3D=3D"1G"},8w:H(= a){I!a.3R},3R:H(a){I a.3R},4J:H(a){I a.4J},2W:H(a){I = a.2W||D.1K(a,"2W")},1r:H(a){I"1r"=3D=3Da.O},5O:H(a){I"5O"=3D=3Da.O},5L:H(= a){I"5L"=3D=3Da.O},5p:H(a){I"5p"=3D=3Da.O},3Q:H(a){I"3Q"=3D=3Da.O},5o:H(a= ){I"5o"=3D=3Da.O},6A:H(a){I"6A"=3D=3Da.O},6z:H(a){I"6z"=3D=3Da.O},2s:H(a)= {I"2s"=3D=3Da.O||D.Y(a,"2s")},4T:H(a){I/4T|2A|6y|2s/i.11(a.Y)},3T:H(a,i,m= ){I D.2q(m[3],a).K},8t:H(a){I/h\\d/i.11(a.Y)},8s:H(a){I D.3C(D.3O,H(b){I = a=3D=3Db.T}).K}}},6x:[/^(\\[) *@?([\\w-]+) *([!*$^~=3D]*) = *(\'?"?)(.*?)\\4 = *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,2B = 4v("^([:.#]*)("+C+"+)")],3g:H(a,c,b){J d,1t=3D[];1B(a&&a!=3Dd){d=3Da;J = f=3DD.1E(a,c,b);a=3Df.t.1o(/^\\s*,\\s*/,"");1t=3Db?c=3Df.r:D.2R(1t,f.r)}I= 1t},2q:H(t,o){G(1j = t!=3D"23")I[t];G(o&&o.16!=3D1&&o.16!=3D9)I[];o=3Do||S;J = d=3D[o],2o=3D[],3S,Y;1B(t&&3S!=3Dt){J r=3D[];3S=3Dt;t=3DD.3k(t);J = l=3DQ,3j=3D6L,m=3D3j.2D(t);G(m){Y=3Dm[1].2r();R(J i=3D0;d[i];i++)R(J = c=3Dd[i].1x;c;c=3Dc.2H)G(c.16=3D=3D1&&(Y=3D=3D"*"||c.Y.2r()=3D=3DY))r.1p(= c);d=3Dr;t=3Dt.1o(3j,"");G(t.1h(" = ")=3D=3D0)6M;l=3DM}N{3j=3D/^([>+~])\\s*(\\w*)/i;G((m=3D3j.2D(t))!=3DU){r=3D= [];J k=3D{};Y=3Dm[2].2r();m=3Dm[1];R(J j=3D0,3i=3Dd.K;j<3i;j++){J = n=3Dm=3D=3D"~"||m=3D=3D"+"?d[j].2H:d[j].1x;R(;n;n=3Dn.2H)G(n.16=3D=3D1){J= = g=3DD.L(n);G(m=3D=3D"~"&&k[g])1X;G(!Y||n.Y.2r()=3D=3DY){G(m=3D=3D"~")k[g]= =3DM;r.1p(n)}G(m=3D=3D"+")1X}}d=3Dr;t=3DD.3k(t.1o(3j,""));l=3DM}}G(t&&!l)= {G(!t.1h(",")){G(o=3D=3Dd[0])d.4s();2o=3DD.2R(2o,d);r=3Dd=3D[o];t=3D" = "+t.6v(1,t.K)}N{J h=3D6J;J = m=3Dh.2D(t);G(m){m=3D[0,m[2],m[3],m[1]]}N{h=3D6I;m=3Dh.2D(t)}m[2]=3Dm[2].= 1o(/\\\\/g,"");J f=3Dd[d.K-1];G(m[1]=3D=3D"#"&&f&&f.61&&!D.4n(f)){J = p=3Df.61(m[2]);G((D.14.1f||D.14.2G)&&p&&1j = p.2v=3D=3D"23"&&p.2v!=3Dm[2])p=3DD(\'[@2v=3D"\'+m[2]+\'"]\',f)[0];d=3Dr=3D= p&&(!m[3]||D.Y(p,m[3]))?[p]:[]}N{R(J i=3D0;d[i];i++){J = a=3Dm[1]=3D=3D"#"&&m[3]?m[3]:m[1]!=3D""||m[0]=3D=3D""?"*":m[2];G(a=3D=3D"= *"&&d[i].Y.3y()=3D=3D"49")a=3D"3n";r=3DD.2R(r,d[i].3H(a))}G(m[1]=3D=3D"."= )r=3DD.5m(r,m[2]);G(m[1]=3D=3D"#"){J e=3D[];R(J = i=3D0;r[i];i++)G(r[i].4G("2v")=3D=3Dm[2]){e=3D[r[i]];1X}r=3De}d=3Dr}t=3Dt= .1o(h,"")}}G(t){J = b=3DD.1E(t,r);d=3Dr=3Db.r;t=3DD.3k(b.t)}}G(t)d=3D[];G(d&&o=3D=3Dd[0])d.4s= ();2o=3DD.2R(2o,d);I 2o},5m:H(r,m,a){m=3D" "+m+" ";J c=3D[];R(J = i=3D0;r[i];i++){J b=3D(" "+r[i].1F+" = ").1h(m)>=3D0;G(!a&&b||a&&!b)c.1p(r[i])}I c},1E:H(t,r,h){J = d;1B(t&&t!=3Dd){d=3Dt;J p=3DD.6x,m;R(J = i=3D0;p[i];i++){m=3Dp[i].2D(t);G(m){t=3Dt.8r(m[0].K);m[2]=3Dm[2].1o(/\\\\= /g,"");1X}}G(!m)1X;G(m[1]=3D=3D":"&&m[2]=3D=3D"4Y")r=3D62.11(m[3])?D.1E(m= [3],r,M).r:D(r).4Y(m[3]);N G(m[1]=3D=3D".")r=3DD.5m(r,m[2],h);N = G(m[1]=3D=3D"["){J g=3D[],O=3Dm[3];R(J i=3D0,3i=3Dr.K;i<3i;i++){J = a=3Dr[i],z=3Da[D.3X[m[2]]||m[2]];G(z=3D=3DU||/5Q|4d|2W/.11(m[2]))z=3DD.1K= (a,m[2])||\'\';G((O=3D=3D""&&!!z||O=3D=3D"=3D"&&z=3D=3Dm[5]||O=3D=3D"!=3D= "&&z!=3Dm[5]||O=3D=3D"^=3D"&&z&&!z.1h(m[5])||O=3D=3D"$=3D"&&z.6v(z.K-m[5]= .K)=3D=3Dm[5]||(O=3D=3D"*=3D"||O=3D=3D"~=3D")&&z.1h(m[5])>=3D0)^h)g.1p(a)= }r=3Dg}N G(m[1]=3D=3D":"&&m[2]=3D=3D"3a-4u"){J = e=3D{},g=3D[],11=3D/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2D(m[3]=3D=3D"6D"&&"2n"|= |m[3]=3D=3D"6C"&&"2n+1"||!/\\D/.11(m[3])&&"8q+"+m[3]||m[3]),3o=3D(11[1]+(= 11[2]||1))-0,d=3D11[3]-0;R(J i=3D0,3i=3Dr.K;i<3i;i++){J = j=3Dr[i],1d=3Dj.1d,2v=3DD.L(1d);G(!e[2v]){J c=3D1;R(J = n=3D1d.1x;n;n=3Dn.2H)G(n.16=3D=3D1)n.4q=3Dc++;e[2v]=3DM}J = b=3DQ;G(3o=3D=3D0){G(j.4q=3D=3Dd)b=3DM}N = G((j.4q-d)%3o=3D=3D0&&(j.4q-d)/3o>=3D0)b=3DM;G(b^h)g.1p(j)}r=3Dg}N{J = f=3DD.6H[m[1]];G(1j f=3D=3D"49")f=3Df[m[2]];G(1j = f=3D=3D"23")f=3D6u("Q||H(a,i){I "+f+";}");r=3DD.3C(r,H(a,i){I = f(a,i,m,r)},h)}}I{r:r,t:t}},4S:H(b,c){J = a=3D[],1t=3Db[c];1B(1t&&1t!=3DS){G(1t.16=3D=3D1)a.1p(1t);1t=3D1t[c]}I = a},3a:H(a,e,c,b){e=3De||1;J = d=3D0;R(;a;a=3Da[c])G(a.16=3D=3D1&&++d=3D=3De)1X;I a},5v:H(n,a){J = r=3D[];R(;n;n=3Dn.2H){G(n.16=3D=3D1&&n!=3Da)r.1p(n)}I = r}});D.W=3D{1e:H(f,i,g,e){G(f.16=3D=3D3||f.16=3D=3D8)I;G(D.14.1f&&f.4I)f=3D= 1b;G(!g.24)g.24=3D7.24++;G(e!=3D12){J h=3Dg;g=3D7.3M(h,H(){I = h.1w(7,19)});g.L=3De}J = j=3DD.L(f,"3w")||D.L(f,"3w",{}),1H=3DD.L(f,"1H")||D.L(f,"1H",H(){G(1j = D!=3D"12"&&!D.W.5k)I = D.W.1H.1w(19.3L.T,19)});1H.T=3Df;D.P(i.1R(/\\s+/),H(c,b){J = a=3Db.1R(".");b=3Da[0];g.O=3Da[1];J = d=3Dj[b];G(!d){d=3Dj[b]=3D{};G(!D.W.2t[b]||D.W.2t[b].4p.1k(f)=3D=3D=3DQ){= G(f.3K)f.3K(b,1H,Q);N = G(f.6t)f.6t("4o"+b,1H)}}d[g.24]=3Dg;D.W.26[b]=3DM});f=3DU},24:1,26:{},21:= H(e,h,f){G(e.16=3D=3D3||e.16=3D=3D8)I;J = i=3DD.L(e,"3w"),1L,5i;G(i){G(h=3D=3D12||(1j = h=3D=3D"23"&&h.8p(0)=3D=3D"."))R(J g 1n = i)7.21(e,g+(h||""));N{G(h.O){f=3Dh.2y;h=3Dh.O}D.P(h.1R(/\\s+/),H(b,a){J = c=3Da.1R(".");a=3Dc[0];G(i[a]){G(f)2U i[a][f.24];N R(f 1n = i[a])G(!c[1]||i[a][f].O=3D=3Dc[1])2U i[a][f];R(1L 1n = i[a])1X;G(!1L){G(!D.W.2t[a]||D.W.2t[a].4A.1k(e)=3D=3D=3DQ){G(e.6p)e.6p(a,= D.L(e,"1H"),Q);N G(e.6n)e.6n("4o"+a,D.L(e,"1H"))}1L=3DU;2U i[a]}}})}R(1L = 1n i)1X;G(!1L){J = d=3DD.L(e,"1H");G(d)d.T=3DU;D.3b(e,"3w");D.3b(e,"1H")}}},1P:H(h,c,f,g,i){= c=3DD.2d(c);G(h.1h("!")>=3D0){h=3Dh.3s(0,-1);J = a=3DM}G(!f){G(7.26[h])D("*").1e([1b,S]).1P(h,c)}N{G(f.16=3D=3D3||f.16=3D=3D= 8)I 12;J = b,1L,17=3DD.1D(f[h]||U),W=3D!c[0]||!c[0].32;G(W){c.6h({O:h,2J:f,32:H(){},= 3J:H(){},4C:1z()});c[0][E]=3DM}c[0].O=3Dh;G(a)c[0].6m=3DM;J = d=3DD.L(f,"1H");G(d)b=3Dd.1w(f,c);G((!17||(D.Y(f,\'a\')&&h=3D=3D"4V"))&&f= ["4o"+h]&&f["4o"+h].1w(f,c)=3D=3D=3DQ)b=3DQ;G(W)c.4s();G(i&&D.1D(i)){1L=3D= i.1w(f,b=3D=3DU?c:c.7d(b));G(1L!=3D=3D12)b=3D1L}G(17&&g!=3D=3DQ&&b!=3D=3D= Q&&!(D.Y(f,\'a\')&&h=3D=3D"4V")){7.5k=3DM;1U{f[h]()}1V(e){}}7.5k=3DQ}I = b},1H:H(b){J = a,1L,38,5f,4m;b=3D19[0]=3DD.W.6l(b||1b.W);38=3Db.O.1R(".");b.O=3D38[0];38= =3D38[1];5f=3D!38&&!b.6m;4m=3D(D.L(7,"3w")||{})[b.O];R(J j 1n 4m){J = c=3D4m[j];G(5f||c.O=3D=3D38){b.2y=3Dc;b.L=3Dc.L;1L=3Dc.1w(7,19);G(a!=3D=3D= Q)a=3D1L;G(1L=3D=3D=3DQ){b.32();b.3J()}}}I a},6l:H(b){G(b[E]=3D=3DM)I = b;J d=3Db;b=3D{8o:d};J c=3D"8n 8m 8l 8k 2s 8j 47 5d 6j 5E 8i L 8h 8g 4K = 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" = ");R(J = i=3Dc.K;i;i--)b[c[i]]=3Dd[c[i]];b[E]=3DM;b.32=3DH(){G(d.32)d.32();d.80=3D= Q};b.3J=3DH(){G(d.3J)d.3J();d.7Z=3DM};b.4C=3Db.4C||1z();G(!b.2J)b.2J=3Db.= 6d||S;G(b.2J.16=3D=3D3)b.2J=3Db.2J.1d;G(!b.4k&&b.4K)b.4k=3Db.4K=3D=3Db.2J= ?b.6c:b.4K;G(b.58=3D=3DU&&b.5d!=3DU){J = a=3DS.1C,1c=3DS.1c;b.58=3Db.5d+(a&&a.2e||1c&&1c.2e||0)-(a.6b||0);b.6f=3Db= .6j+(a&&a.2c||1c&&1c.2c||0)-(a.6a||0)}G(!b.35&&((b.47||b.47=3D=3D=3D0)?b.= 47:b.5a))b.35=3Db.47||b.5a;G(!b.59&&b.5E)b.59=3Db.5E;G(!b.35&&b.2s)b.35=3D= (b.2s&1?1:(b.2s&2?3:(b.2s&4?2:0)));I = b},3M:H(a,b){b.24=3Da.24=3Da.24||b.24||7.24++;I = b},2t:{27:{4p:H(){55();I},4A:H(){I}},3D:{4p:H(){G(D.14.1f)I = Q;D(7).2O("53",D.W.2t.3D.2y);I M},4A:H(){G(D.14.1f)I = Q;D(7).4e("53",D.W.2t.3D.2y);I M},2y:H(a){G(F(a,7))I M;a.O=3D"3D";I = D.W.1H.1w(7,19)}},3N:{4p:H(){G(D.14.1f)I Q;D(7).2O("51",D.W.2t.3N.2y);I = M},4A:H(){G(D.14.1f)I Q;D(7).4e("51",D.W.2t.3N.2y);I = M},2y:H(a){G(F(a,7))I M;a.O=3D"3N";I = D.W.1H.1w(7,19)}}}};D.17.1l({2O:H(c,a,b){I = c=3D=3D"4X"?7.2V(c,a,b):7.P(H(){D.W.1e(7,c,b||a,b&&a)})},2V:H(d,b,c){J = e=3DD.W.3M(c||b,H(a){D(7).4e(a,e);I(c||b).1w(7,19)});I = 7.P(H(){D.W.1e(7,d,e,c&&b)})},4e:H(a,b){I = 7.P(H(){D.W.21(7,a,b)})},1P:H(c,a,b){I = 7.P(H(){D.W.1P(c,a,7,M,b)})},5C:H(c,a,b){I = 7[0]&&D.W.1P(c,a,7[0],Q,b)},2m:H(b){J = c=3D19,i=3D1;1B(i=3D0){J = i=3Dg.3s(e,g.K);g=3Dg.3s(0,e)}c=3Dc||H(){};J = f=3D"2P";G(d)G(D.1D(d)){c=3Dd;d=3DU}N{d=3DD.3n(d);f=3D"6g"}J = h=3D7;D.3Y({1a:g,O:f,1O:"2K",L:d,1J:H(a,b){G(b=3D=3D"1W"||b=3D=3D"7J")h.2= K(i?D("<1v/>").3v(a.4U.1o(/<1m(.|\\s)*?\\/1m>/g,"")).2q(i):a.4U);h.P(c,[a= .4U,b,a])}});I 7},aL:H(){I D.3n(7.7I())},7I:H(){I 7.2l(H(){I = D.Y(7,"3V")?D.2d(7.aH):7}).1E(H(){I = 7.34&&!7.3R&&(7.4J||/2A|6y/i.11(7.Y)||/1r|1G|3Q/i.11(7.O))}).2l(H(i,c){J = b=3DD(7).6e();I = b=3D=3DU?U:b.1q=3D=3D2p?D.2l(b,H(a,i){I{34:c.34,2x:a}}):{34:c.34,2x:b}}).= 3p()}});D.P("7H,7G,7F,7D,7C,7B".1R(","),H(i,o){D.17[o]=3DH(f){I = 7.2O(o,f)}});J B=3D1z();D.1l({3p:H(d,b,a,c){G(D.1D(b)){a=3Db;b=3DU}I = D.3Y({O:"2P",1a:d,L:b,1W:a,1O:c})},aE:H(b,a){I = D.3p(b,U,a,"1m")},aD:H(c,b,a){I = D.3p(c,b,a,"3z")},aC:H(d,b,a,c){G(D.1D(b)){a=3Db;b=3D{}}I = D.3Y({O:"6g",1a:d,L:b,1W:a,1O:c})},aA:H(a){D.1l(D.60,a)},60:{1a:5Z.5Q,26:= M,O:"2P",2T:0,7z:"4R/x-ax-3V-aw",7x:M,31:M,L:U,5Y:U,3Q:U,4Q:{2N:"4R/2N, = 1r/2N",2K:"1r/2K",1m:"1r/4t, 4R/4t",3z:"4R/3z, = 1r/4t",1r:"1r/as",4w:"*/*"}},4z:{},3Y:H(s){s=3DD.1l(M,s,D.1l(M,{},D.60,s)= );J g,2Z=3D/=3D\\?(&|$)/g,1u,L,O=3Ds.O.2r();G(s.L&&s.7x&&1j = s.L!=3D"23")s.L=3DD.3n(s.L);G(s.1O=3D=3D"4P"){G(O=3D=3D"2P"){G(!s.1a.1I(2= Z))s.1a+=3D(s.1a.1I(/\\?/)?"&":"?")+(s.4P||"7u")+"=3D?"}N = G(!s.L||!s.L.1I(2Z))s.L=3D(s.L?s.L+"&":"")+(s.4P||"7u")+"=3D?";s.1O=3D"3z= "}G(s.1O=3D=3D"3z"&&(s.L&&s.L.1I(2Z)||s.1a.1I(2Z))){g=3D"4P"+B++;G(s.L)s.= L=3D(s.L+"").1o(2Z,"=3D"+g+"$1");s.1a=3Ds.1a.1o(2Z,"=3D"+g+"$1");s.1O=3D"= 1m";1b[g]=3DH(a){L=3Da;1W();1J();1b[g]=3D12;1U{2U = 1b[g]}1V(e){}G(i)i.37(h)}}G(s.1O=3D=3D"1m"&&s.1Y=3D=3DU)s.1Y=3DQ;G(s.1Y=3D= =3D=3DQ&&O=3D=3D"2P"){J j=3D1z();J = k=3Ds.1a.1o(/(\\?|&)3m=3D.*?(&|$)/,"$ap=3D"+j+"$2");s.1a=3Dk+((k=3D=3Ds.1= a)?(s.1a.1I(/\\?/)?"&":"?")+"3m=3D"+j:"")}G(s.L&&O=3D=3D"2P"){s.1a+=3D(s.= 1a.1I(/\\?/)?"&":"?")+s.L;s.L=3DU}G(s.26&&!D.4O++)D.W.1P("7H");J = n=3D/^(?:\\w+:)?\\/\\/([^\\/?#]+)/;G(s.1O=3D=3D"1m"&&O=3D=3D"2P"&&n.11(s.= 1a)&&n.2D(s.1a)[1]!=3D5Z.al){J i=3DS.3H("6w")[0];J = h=3DS.3h("1m");h.4d=3Ds.1a;G(s.7t)h.aj=3Ds.7t;G(!g){J = l=3DQ;h.ah=3Dh.ag=3DH(){G(!l&&(!7.3f||7.3f=3D=3D"68"||7.3f=3D=3D"1J")){l=3D= M;1W();1J();i.37(h)}}}i.3U(h);I 12}J m=3DQ;J c=3D1b.7s?2B 7s("ae.ac"):2B = 7r();G(s.5Y)c.6R(O,s.1a,s.31,s.5Y,s.3Q);N = c.6R(O,s.1a,s.31);1U{G(s.L)c.4B("ab-aa",s.7z);G(s.5S)c.4B("a9-5R-a8",D.4z= [s.1a]||"a7, a6 a5 a4 5N:5N:5N = a2");c.4B("X-9Z-9Y","7r");c.4B("9W",s.1O&&s.4Q[s.1O]?s.4Q[s.1O]+", = */*":s.4Q.4w)}1V(e){}G(s.7m&&s.7m(c,s)=3D=3D=3DQ){s.26&&D.4O--;c.7l();I = Q}G(s.26)D.W.1P("7B",[c,s]);J = d=3DH(a){G(!m&&c&&(c.3f=3D=3D4||a=3D=3D"2T")){m=3DM;G(f){7k(f);f=3DU}1u=3D= a=3D=3D"2T"&&"2T"||!D.7j(c)&&"3e"||s.5S&&D.7h(c,s.1a)&&"7J"||"1W";G(1u=3D= =3D"1W"){1U{L=3DD.6X(c,s.1O,s.9S)}1V(e){1u=3D"5J"}}G(1u=3D=3D"1W"){J = b;1U{b=3Dc.5I("7g-5R")}1V(e){}G(s.5S&&b)D.4z[s.1a]=3Db;G(!g)1W()}N = D.5H(s,c,1u);1J();G(s.31)c=3DU}};G(s.31){J = f=3D4I(d,13);G(s.2T>0)3B(H(){G(c){c.7l();G(!m)d("2T")}},s.2T)}1U{c.9P(s.L= )}1V(e){D.5H(s,c,U,e)}G(!s.31)d();H = 1W(){G(s.1W)s.1W(L,1u);G(s.26)D.W.1P("7C",[c,s])}H = 1J(){G(s.1J)s.1J(c,1u);G(s.26)D.W.1P("7F",[c,s]);G(s.26&&!--D.4O)D.W.1P("= 7G")}I = c},5H:H(s,a,b,e){G(s.3e)s.3e(a,b,e);G(s.26)D.W.1P("7D",[a,s,e])},4O:0,7j:= H(a){1U{I!a.1u&&5Z.9O=3D=3D"5p:"||(a.1u>=3D7e&&a.1u<9N)||a.1u=3D=3D7c||a.= 1u=3D=3D9K||D.14.2k&&a.1u=3D=3D12}1V(e){}I Q},7h:H(a,c){1U{J = b=3Da.5I("7g-5R");I = a.1u=3D=3D7c||b=3D=3DD.4z[c]||D.14.2k&&a.1u=3D=3D12}1V(e){}I = Q},6X:H(a,c,b){J = d=3Da.5I("9J-O"),2N=3Dc=3D=3D"2N"||!c&&d&&d.1h("2N")>=3D0,L=3D2N?a.9I:a.4= U;G(2N&&L.1C.2j=3D=3D"5J")7p"5J";G(b)L=3Db(L,c);G(c=3D=3D"1m")D.5u(L);G(c= =3D=3D"3z")L=3D6u("("+L+")");I L},3n:H(a){J = s=3D[];G(a.1q=3D=3D2p||a.5w)D.P(a,H(){s.1p(3u(7.34)+"=3D"+3u(7.2x))});N = R(J j 1n = a)G(a[j]&&a[j].1q=3D=3D2p)D.P(a[j],H(){s.1p(3u(j)+"=3D"+3u(7))});N = s.1p(3u(j)+"=3D"+3u(D.1D(a[j])?a[j]():a[j]));I = s.6s("&").1o(/%20/g,"+")}});D.17.1l({1N:H(c,b){I = c?7.2g({1Z:"1N",2h:"1N",1y:"1N"},c,b):7.1E(":1G").P(H(){7.V.18=3D7.5D||""= ;G(D.1g(7,"18")=3D=3D"2F"){J a=3DD("<"+7.2j+" = />").6P("1c");7.V.18=3Da.1g("18");G(7.V.18=3D=3D"2F")7.V.18=3D"3I";a.21()= }}).3l()},1M:H(b,a){I = b?7.2g({1Z:"1M",2h:"1M",1y:"1M"},b,a):7.1E(":4j").P(H(){7.5D=3D7.5D||D.1g= (7,"18");7.V.18=3D"2F"}).3l()},78:D.17.2m,2m:H(a,b){I = D.1D(a)&&D.1D(b)?7.78.1w(7,19):a?7.2g({1Z:"2m",2h:"2m",1y:"2m"},a,b):7.P(= H(){D(7)[D(7).3F(":1G")?"1N":"1M"]()})},9G:H(b,a){I = 7.2g({1Z:"1N"},b,a)},9F:H(b,a){I 7.2g({1Z:"1M"},b,a)},9E:H(b,a){I = 7.2g({1Z:"2m"},b,a)},9D:H(b,a){I 7.2g({1y:"1N"},b,a)},9M:H(b,a){I = 7.2g({1y:"1M"},b,a)},9C:H(c,a,b){I 7.2g({1y:a},c,b)},2g:H(k,j,i,g){J = h=3DD.77(j,i,g);I 7[h.36=3D=3D=3DQ?"P":"36"](H(){G(7.16!=3D1)I Q;J = f=3DD.1l({},h),p,1G=3DD(7).3F(":1G"),46=3D7;R(p 1n = k){G(k[p]=3D=3D"1M"&&1G||k[p]=3D=3D"1N"&&!1G)I = f.1J.1k(7);G(p=3D=3D"1Z"||p=3D=3D"2h"){f.18=3DD.1g(7,"18");f.33=3D7.V.33}= }G(f.33!=3DU)7.V.33=3D"1G";f.45=3DD.1l({},k);D.P(k,H(c,a){J e=3D2B = D.28(46,f,c);G(/2m|1N|1M/.11(a))e[a=3D=3D"2m"?1G?"1N":"1M":a](k);N{J = b=3Da.6r().1I(/^([+-]=3D)?([\\d+-.]+)(.*)$/),2b=3De.1t(M)||0;G(b){J = d=3D3d(b[2]),2M=3Db[3]||"2X";G(2M!=3D"2X"){46.V[c]=3D(d||1)+2M;2b=3D((d||= 1)/e.1t(M))*2b;46.V[c]=3D2b+2M}G(b[1])d=3D((b[1]=3D=3D"-=3D"?-1:1)*d)+2b;= e.3G(2b,d,2M)}N e.3G(2b,a,"")}});I = M})},36:H(a,b){G(D.1D(a)||(a&&a.1q=3D=3D2p)){b=3Da;a=3D"28"}G(!a||(1j = a=3D=3D"23"&&!b))I A(7[0],a);I = 7.P(H(){G(b.1q=3D=3D2p)A(7,a,b);N{A(7,a).1p(b);G(A(7,a).K=3D=3D1)b.1k(7)}= })},9X:H(b,c){J a=3DD.3O;G(b)7.36([]);7.P(H(){R(J = i=3Da.K-1;i>=3D0;i--)G(a[i].T=3D=3D7){G(c)a[i](M);a.7n(i,1)}});G(!c)7.5A(= );I 7}});J A=3DH(b,c,a){G(b){c=3Dc||"28";J = q=3DD.L(b,c+"36");G(!q||a)q=3DD.L(b,c+"36",D.2d(a))}I = q};D.17.5A=3DH(a){a=3Da||"28";I 7.P(H(){J = q=3DA(7,a);q.4s();G(q.K)q[0].1k(7)})};D.1l({77:H(b,a,c){J = d=3Db&&b.1q=3D=3Da0?b:{1J:c||!c&&a||D.1D(b)&&b,2u:b,41:c&&a||a&&a.1q!=3D9= t&&a};d.2u=3D(d.2u&&d.2u.1q=3D=3D4L?d.2u:D.28.5K[d.2u])||D.28.5K.74;d.5M=3D= d.1J;d.1J=3DH(){G(d.36!=3D=3DQ)D(7).5A();G(D.1D(d.5M))d.5M.1k(7)};I = d},41:{73:H(p,n,b,a){I = b+a*p},5P:H(p,n,b,a){I((-29.9r(p*29.9q)/2)+0.5)*a+b}},3O:[],48:U,28:H(b,c= ,a){7.15=3Dc;7.T=3Db;7.1i=3Da;G(!c.3Z)c.3Z=3D{}}});D.28.44=3D{4D:H(){G(7.= 15.2Y)7.15.2Y.1k(7.T,7.1z,7);(D.28.2Y[7.1i]||D.28.2Y.4w)(7);G(7.1i=3D=3D"= 1Z"||7.1i=3D=3D"2h")7.T.V.18=3D"3I"},1t:H(a){G(7.T[7.1i]!=3DU&&7.T.V[7.1i= ]=3D=3DU)I 7.T[7.1i];J r=3D3d(D.1g(7.T,7.1i,a));I = r&&r>-9p?r:3d(D.2a(7.T,7.1i))||0},3G:H(c,b,d){7.5V=3D1z();7.2b=3Dc;7.3l=3D= b;7.2M=3Dd||7.2M||"2X";7.1z=3D7.2b;7.2S=3D7.4N=3D0;7.4D();J e=3D7;H = t(a){I e.2Y(a)}t.T=3D7.T;D.3O.1p(t);G(D.48=3D=3DU){D.48=3D4I(H(){J = a=3DD.3O;R(J = i=3D0;i7.15.2u+7.5V){7.1z=3D7.3l;7.2S=3D7.4N=3D1;7.4D();7.15.45[= 7.1i]=3DM;J b=3DM;R(J i 1n = 7.15.45)G(7.15.45[i]!=3D=3DM)b=3DQ;G(b){G(7.15.18!=3DU){7.T.V.33=3D7.15.3= 3;7.T.V.18=3D7.15.18;G(D.1g(7.T,"18")=3D=3D"2F")7.T.V.18=3D"3I"}G(7.15.1M= )7.T.V.18=3D"2F";G(7.15.1M||7.15.1N)R(J p 1n = 7.15.45)D.1K(7.T.V,p,7.15.3Z[p])}G(b)7.15.1J.1k(7.T);I Q}N{J = n=3Dt-7.5V;7.4N=3Dn/7.15.2u;7.2S=3DD.41[7.15.41||(D.41.5P?"5P":"73")](7.4= N,n,0,1,7.15.2u);7.1z=3D7.2b+((7.3l-7.2b)*7.2S);7.4D()}I = M}};D.1l(D.28,{5K:{9l:9j,9i:7e,74:9g},2Y:{2e:H(a){a.T.2e=3Da.1z},2c:H(a){= a.T.2c=3Da.1z},1y:H(a){D.1K(a.T.V,"1y",a.1z)},4w:H(a){a.T.V[a.1i]=3Da.1z+= a.2M}}});D.17.2i=3DH(){J b=3D0,1S=3D0,T=3D7[0],3q;G(T)ao(D.14){J = d=3DT.1d,4a=3DT,1s=3DT.1s,1Q=3DT.2z,5U=3D2k&&3r(5B)<9c&&!/9a/i.11(v),1g=3D= D.2a,3c=3D1g(T,"30")=3D=3D"3c";G(T.7y){J = c=3DT.7y();1e(c.1A+29.2f(1Q.1C.2e,1Q.1c.2e),c.1S+29.2f(1Q.1C.2c,1Q.1c.2c)= );1e(-1Q.1C.6b,-1Q.1C.6a)}N{1e(T.5X,T.5W);1B(1s){1e(1s.5X,1s.5W);G(42&&!/= ^t(98|d|h)$/i.11(1s.2j)||2k&&!5U)2C(1s);G(!3c&&1g(1s,"30")=3D=3D"3c")3c=3D= M;4a=3D/^1c$/i.11(1s.2j)?4a:1s;1s=3D1s.1s}1B(d&&d.2j&&!/^1c|2K$/i.11(d.2j= )){G(!/^96|1T.*$/i.11(1g(d,"18")))1e(-d.2e,-d.2c);G(42&&1g(d,"33")!=3D"4j= ")2C(d);d=3Dd.1d}G((5U&&(3c||1g(4a,"30")=3D=3D"5x"))||(42&&1g(4a,"30")!=3D= "5x"))1e(-1Q.1c.5X,-1Q.1c.5W);G(3c)1e(29.2f(1Q.1C.2e,1Q.1c.2e),29.2f(1Q.1= C.2c,1Q.1c.2c))}3q=3D{1S:1S,1A:b}}H = 2C(a){1e(D.2a(a,"6V",M),D.2a(a,"6U",M))}H = 1e(l,t){b+=3D3r(l,10)||0;1S+=3D3r(t,10)||0}I 3q};D.17.1l({30:H(){J = a=3D0,1S=3D0,3q;G(7[0]){J = b=3D7.1s(),2i=3D7.2i(),4c=3D/^1c|2K$/i.11(b[0].2j)?{1S:0,1A:0}:b.2i();2i.= 1S-=3D25(7,\'94\');2i.1A-=3D25(7,\'aF\');4c.1S+=3D25(b,\'6U\');4c.1A+=3D2= 5(b,\'6V\');3q=3D{1S:2i.1S-4c.1S,1A:2i.1A-4c.1A}}I 3q},1s:H(){J = a=3D7[0].1s;1B(a&&(!/^1c|2K$/i.11(a.2j)&&D.1g(a,\'30\')=3D=3D\'93\'))a=3D= a.1s;I D(a)}});D.P([\'5e\',\'5G\'],H(i,b){J = c=3D\'4y\'+b;D.17[c]=3DH(a){G(!7[0])I;I = a!=3D12?7.P(H(){7=3D=3D1b||7=3D=3DS?1b.92(!i?a:D(1b).2e(),i?a:D(1b).2c())= :7[c]=3Da}):7[0]=3D=3D1b||7[0]=3D=3DS?46[i?\'aI\':\'aJ\']||D.71&&S.1C[c]|= |S.1c[c]:7[0][c]}});D.P(["6N","4b"],H(i,b){J = c=3Di?"5e":"5G",4f=3Di?"6k":"6i";D.17["5s"+b]=3DH(){I = 7[b.3y()]()+25(7,"57"+c)+25(7,"57"+4f)};D.17["90"+b]=3DH(a){I = 7["5s"+b]()+25(7,"2C"+c+"4b")+25(7,"2C"+4f+"4b")+(a?25(7,"6S"+c)+25(7,"6S= "+4f):0)}})})();',62,669,'|||||||this|||||||||||||||||||||||||||||||||||i= f|function|return|var|length|data|true|else|type|each|false|for|document|= elem|null|style|event||nodeName|||test|undefined||browser|options|nodeTyp= e|fn|display|arguments|url|window|body|parentNode|add|msie|css|indexOf|pr= op|typeof|call|extend|script|in|replace|push|constructor|text|offsetParen= t|cur|status|div|apply|firstChild|opacity|now|left|while|documentElement|= isFunction|filter|className|hidden|handle|match|complete|attr|ret|hide|sh= ow|dataType|trigger|doc|split|top|table|try|catch|success|break|cache|hei= ght||remove|tbody|string|guid|num|global|ready|fx|Math|curCSS|start|scrol= lTop|makeArray|scrollLeft|max|animate|width|offset|tagName|safari|map|tog= gle||done|Array|find|toUpperCase|button|special|duration|id|copy|value|ha= ndler|ownerDocument|select|new|border|exec|stack|none|opera|nextSibling|p= ushStack|target|html|inArray|unit|xml|bind|GET|isReady|merge|pos|timeout|= delete|one|selected|px|step|jsre|position|async|preventDefault|overflow|n= ame|which|queue|removeChild|namespace|insertBefore|nth|removeData|fixed|p= arseFloat|error|readyState|multiFilter|createElement|rl|re|trim|end|_|par= am|first|get|results|parseInt|slice|childNodes|encodeURIComponent|append|= events|elems|toLowerCase|json|readyList|setTimeout|grep|mouseenter|color|= is|custom|getElementsByTagName|block|stopPropagation|addEventListener|cal= lee|proxy|mouseleave|timers|defaultView|password|disabled|last|has|append= Child|form|domManip|props|ajax|orig|set|easing|mozilla|load|prototype|cur= Anim|self|charCode|timerId|object|offsetChild|Width|parentOffset|src|unbi= nd|br|currentStyle|clean|float|visible|relatedTarget|previousSibling|hand= lers|isXMLDoc|on|setup|nodeIndex|unique|shift|javascript|child|RegExp|_de= fault|deep|scroll|lastModified|teardown|setRequestHeader|timeStamp|update= |empty|tr|getAttribute|innerHTML|setInterval|checked|fromElement|Number|j= Query|state|active|jsonp|accepts|application|dir|input|responseText|click= |styleSheets|unload|not|lastToggle|outline|mouseout|getPropertyValue|mous= eover|getComputedStyle|bindReady|String|padding|pageX|metaKey|keyCode|get= WH|andSelf|clientX|Left|all|visibility|container|index|init|triggered|rem= oveAttribute|classFilter|prevObject|submit|file|after|windowData|inner|cl= ient|globalEval|sibling|jquery|absolute|clone|wrapAll|dequeue|version|tri= ggerHandler|oldblock|ctrlKey|createTextNode|Top|handleError|getResponseHe= ader|parsererror|speeds|checkbox|old|00|radio|swing|href|Modified|ifModif= ied|lastChild|safari2|startTime|offsetTop|offsetLeft|username|location|aj= axSettings|getElementById|isSimple|values|selectedIndex|runtimeStyle|rsLe= ft|_load|loaded|DOMContentLoaded|clientTop|clientLeft|toElement|srcElemen= t|val|pageY|POST|unshift|Bottom|clientY|Right|fix|exclusive|detachEvent|c= loneNode|removeEventListener|swap|toString|join|attachEvent|eval|substr|h= ead|parse|textarea|reset|image|zoom|odd|even|before|prepend|exclude|expr|= quickClass|quickID|uuid|quickChild|continue|Height|textContent|appendTo|c= ontents|open|margin|evalScript|borderTopWidth|borderLeftWidth|parent|http= Data|setArray|CSS1Compat|compatMode|boxModel|cssFloat|linear|def|webkit|n= odeValue|speed|_toggle|eq|100|replaceWith|304|concat|200|alpha|Last|httpN= otModified|getAttributeNode|httpSuccess|clearInterval|abort|beforeSend|sp= lice|styleFloat|throw|colgroup|XMLHttpRequest|ActiveXObject|scriptCharset= |callback|fieldset|multiple|processData|getBoundingClientRect|contentType= |link|ajaxSend|ajaxSuccess|ajaxError|col|ajaxComplete|ajaxStop|ajaxStart|= serializeArray|notmodified|keypress|keydown|change|mouseup|mousedown|dblc= lick|focus|blur|stylesheet|hasClass|rel|doScroll|black|hover|solid|cancel= Bubble|returnValue|wheelDelta|view|round|shiftKey|resize|screenY|screenX|= relatedNode|mousemove|prevValue|originalTarget|offsetHeight|keyup|newValu= e|offsetWidth|eventPhase|detail|currentTarget|cancelable|bubbles|attrName= |attrChange|altKey|originalEvent|charAt|0n|substring|animated|header|noCo= nflict|line|enabled|innerText|contains|only|weight|font|gt|lt|uFFFF|u0128= |size|417|Boolean|Date|toggleClass|removeClass|addClass|removeAttr|replac= eAll|insertAfter|prependTo|wrap|contentWindow|contentDocument|iframe|chil= dren|siblings|prevAll|wrapInner|nextAll|outer|prev|scrollTo|static|margin= Top|next|inline|parents|able|cellSpacing|adobeair|cellspacing|522|maxLeng= th|maxlength|readOnly|400|readonly|fast|600|class|slow|1px|htmlFor|revers= e|10000|PI|cos|compatible|Function|setData|ie|ra|it|rv|getData|userAgent|= navigator|fadeTo|fadeIn|slideToggle|slideUp|slideDown|ig|responseXML|cont= ent|1223|NaN|fadeOut|300|protocol|send|setAttribute|option|dataFilter|css= Text|changed|be|Accept|stop|With|Requested|Object|can|GMT|property|1970|J= an|01|Thu|Since|If|Type|Content|XMLHTTP|th|Microsoft|td|onreadystatechang= e|onload|cap|charset|colg|host|tfoot|specified|with|1_|thead|leg|plain|at= tributes|opt|embed|urlencoded|www|area|hr|ajaxSetup|meta|post|getJSON|get= Script|marginLeft|img|elements|pageYOffset|pageXOffset|abbr|serialize|pix= elLeft'.split('|'),0,{}));// $Id: drupal.js,v 1.41.2.3 2008/06/25 = 09:06:57 goba Exp $=0A= =0A= var Drupal =3D Drupal || { 'settings': {}, 'behaviors': {}, 'themes': = {}, 'locale': {} };=0A= =0A= /**=0A= * Set the variable that indicates if JavaScript behaviors should be = applied=0A= */=0A= Drupal.jsEnabled =3D document.getElementsByTagName && = document.createElement && document.createTextNode && = document.documentElement && document.getElementById;=0A= =0A= /**=0A= * Attach all registered behaviors to a page element.=0A= *=0A= * Behaviors are event-triggered actions that attach to page elements, = enhancing=0A= * default non-Javascript UIs. Behaviors are registered in the = Drupal.behaviors=0A= * object as follows:=0A= * @code=0A= * Drupal.behaviors.behaviorName =3D function () {=0A= * ...=0A= * };=0A= * @endcode=0A= *=0A= * Drupal.attachBehaviors is added below to the jQuery ready event and so=0A= * runs on initial page load. Developers implementing AHAH/AJAX in their=0A= * solutions should also call this function after new page content has = been=0A= * loaded, feeding in an element to be processed, in order to attach all=0A= * behaviors to the new content.=0A= *=0A= * Behaviors should use a class in the form behaviorName-processed to = ensure=0A= * the behavior is attached only once to a given element. (Doing so = enables=0A= * the reprocessing of given elements, which may be needed on occasion = despite=0A= * the ability to limit behavior attachment to a particular element.)=0A= *=0A= * @param context=0A= * An element to attach behaviors to. If none is given, the document = element=0A= * is used.=0A= */=0A= Drupal.attachBehaviors =3D function(context) {=0A= context =3D context || document;=0A= if (Drupal.jsEnabled) {=0A= // Execute all of them.=0A= jQuery.each(Drupal.behaviors, function() {=0A= this(context);=0A= });=0A= }=0A= };=0A= =0A= /**=0A= * Encode special characters in a plain-text string for display as HTML.=0A= */=0A= Drupal.checkPlain =3D function(str) {=0A= str =3D String(str);=0A= var replace =3D { '&': '&', '"': '"', '<': '<', '>': = '>' };=0A= for (var character in replace) {=0A= var regex =3D new RegExp(character, 'g');=0A= str =3D str.replace(regex, replace[character]);=0A= }=0A= return str;=0A= };=0A= =0A= /**=0A= * Translate strings to the page language or a given language.=0A= *=0A= * See the documentation of the server-side t() function for further = details.=0A= *=0A= * @param str=0A= * A string containing the English string to translate.=0A= * @param args=0A= * An object of replacements pairs to make after translation. = Incidences=0A= * of any key in this array are replaced with the corresponding value.=0A= * Based on the first character of the key, the value is escaped = and/or themed:=0A= * - !variable: inserted as is=0A= * - @variable: escape plain text to HTML (Drupal.checkPlain)=0A= * - %variable: escape text and theme as a placeholder for = user-submitted=0A= * content (checkPlain + Drupal.theme('placeholder'))=0A= * @return=0A= * The translated string.=0A= */=0A= Drupal.t =3D function(str, args) {=0A= // Fetch the localized version of the string.=0A= if (Drupal.locale.strings && Drupal.locale.strings[str]) {=0A= str =3D Drupal.locale.strings[str];=0A= }=0A= =0A= if (args) {=0A= // Transform arguments before inserting them=0A= for (var key in args) {=0A= switch (key.charAt(0)) {=0A= // Escaped only=0A= case '@':=0A= args[key] =3D Drupal.checkPlain(args[key]);=0A= break;=0A= // Pass-through=0A= case '!':=0A= break;=0A= // Escaped and placeholder=0A= case '%':=0A= default:=0A= args[key] =3D Drupal.theme('placeholder', args[key]);=0A= break;=0A= }=0A= str =3D str.replace(key, args[key]);=0A= }=0A= }=0A= return str;=0A= };=0A= =0A= /**=0A= * Format a string containing a count of items.=0A= *=0A= * This function ensures that the string is pluralized correctly. Since = Drupal.t() is=0A= * called by this function, make sure not to pass already-localized = strings to it.=0A= *=0A= * See the documentation of the server-side format_plural() function for = further details.=0A= *=0A= * @param count=0A= * The item count to display.=0A= * @param singular=0A= * The string for the singular case. Please make sure it is clear this = is=0A= * singular, to ease translation (e.g. use "1 new comment" instead of = "1 new").=0A= * Do not use @count in the singular string.=0A= * @param plural=0A= * The string for the plural case. Please make sure it is clear this = is plural,=0A= * to ease translation. Use @count in place of the item count, as in = "@count=0A= * new comments".=0A= * @param args=0A= * An object of replacements pairs to make after translation. = Incidences=0A= * of any key in this array are replaced with the corresponding value.=0A= * Based on the first character of the key, the value is escaped = and/or themed:=0A= * - !variable: inserted as is=0A= * - @variable: escape plain text to HTML (Drupal.checkPlain)=0A= * - %variable: escape text and theme as a placeholder for = user-submitted=0A= * content (checkPlain + Drupal.theme('placeholder'))=0A= * Note that you do not need to include @count in this array.=0A= * This replacement is done automatically for the plural case.=0A= * @return=0A= * A translated string.=0A= */=0A= Drupal.formatPlural =3D function(count, singular, plural, args) {=0A= var args =3D args || {};=0A= args['@count'] =3D count;=0A= // Determine the index of the plural form.=0A= var index =3D Drupal.locale.pluralFormula ? = Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] =3D=3D 1) = ? 0 : 1);=0A= =0A= if (index =3D=3D 0) {=0A= return Drupal.t(singular, args);=0A= }=0A= else if (index =3D=3D 1) {=0A= return Drupal.t(plural, args);=0A= }=0A= else {=0A= args['@count['+ index +']'] =3D args['@count'];=0A= delete args['@count'];=0A= return Drupal.t(plural.replace('@count', '@count['+ index +']'));=0A= }=0A= };=0A= =0A= /**=0A= * Generate the themed representation of a Drupal object.=0A= *=0A= * All requests for themed output must go through this function. It = examines=0A= * the request and routes it to the appropriate theme function. If the = current=0A= * theme does not provide an override function, the generic theme = function is=0A= * called.=0A= *=0A= * For example, to retrieve the HTML that is output by = theme_placeholder(text),=0A= * call Drupal.theme('placeholder', text).=0A= *=0A= * @param func=0A= * The name of the theme function to call.=0A= * @param ...=0A= * Additional arguments to pass along to the theme function.=0A= * @return=0A= * Any data the theme function returns. This could be a plain HTML = string,=0A= * but also a complex object.=0A= */=0A= Drupal.theme =3D function(func) {=0A= for (var i =3D 1, args =3D []; i < arguments.length; i++) {=0A= args.push(arguments[i]);=0A= }=0A= =0A= return (Drupal.theme[func] || = Drupal.theme.prototype[func]).apply(this, args);=0A= };=0A= =0A= /**=0A= * Parse a JSON response.=0A= *=0A= * The result is either the JSON object, or an object with 'status' 0 = and 'data' an error message.=0A= */=0A= Drupal.parseJson =3D function (data) {=0A= if ((data.substring(0, 1) !=3D '{') && (data.substring(0, 1) !=3D = '[')) {=0A= return { status: 0, data: data.length ? data : Drupal.t('Unspecified = error') };=0A= }=0A= return eval('(' + data + ');');=0A= };=0A= =0A= /**=0A= * Freeze the current body height (as minimum height). Used to prevent=0A= * unnecessary upwards scrolling when doing DOM manipulations.=0A= */=0A= Drupal.freezeHeight =3D function () {=0A= Drupal.unfreezeHeight();=0A= var div =3D document.createElement('div');=0A= $(div).css({=0A= position: 'absolute',=0A= top: '0px',=0A= left: '0px',=0A= width: '1px',=0A= height: $('body').css('height')=0A= }).attr('id', 'freeze-height');=0A= $('body').append(div);=0A= };=0A= =0A= /**=0A= * Unfreeze the body height=0A= */=0A= Drupal.unfreezeHeight =3D function () {=0A= $('#freeze-height').remove();=0A= };=0A= =0A= /**=0A= * Wrapper to address the mod_rewrite url encoding bug=0A= * (equivalent of drupal_urlencode() in PHP).=0A= */=0A= Drupal.encodeURIComponent =3D function (item, uri) {=0A= uri =3D uri || location.href;=0A= item =3D encodeURIComponent(item).replace(/%2F/g, '/');=0A= return (uri.indexOf('?q=3D') !=3D -1) ? item : item.replace(/%26/g, = '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F');=0A= };=0A= =0A= /**=0A= * Get the text selection in a textarea.=0A= */=0A= Drupal.getSelection =3D function (element) {=0A= if (typeof(element.selectionStart) !=3D 'number' && = document.selection) {=0A= // The current selection=0A= var range1 =3D document.selection.createRange();=0A= var range2 =3D range1.duplicate();=0A= // Select all text.=0A= range2.moveToElementText(element);=0A= // Now move 'dummy' end point to end point of original range.=0A= range2.setEndPoint('EndToEnd', range1);=0A= // Now we can calculate start and end points.=0A= var start =3D range2.text.length - range1.text.length;=0A= var end =3D start + range1.text.length;=0A= return { 'start': start, 'end': end };=0A= }=0A= return { 'start': element.selectionStart, 'end': element.selectionEnd = };=0A= };=0A= =0A= /**=0A= * Build an error message from ahah response.=0A= */=0A= Drupal.ahahError =3D function(xmlhttp, uri) {=0A= if (xmlhttp.status =3D=3D 200) {=0A= if (jQuery.trim($(xmlhttp.responseText).text())) {=0A= var message =3D Drupal.t("An error occurred. \n@uri\n@text", = {'@uri': uri, '@text': xmlhttp.responseText });=0A= }=0A= else {=0A= var message =3D Drupal.t("An error occurred. \n@uri\n(no = information available).", {'@uri': uri, '@text': xmlhttp.responseText });=0A= }=0A= }=0A= else {=0A= var message =3D Drupal.t("An HTTP error @status occurred. \n@uri", = {'@uri': uri, '@status': xmlhttp.status });=0A= }=0A= return message;=0A= }=0A= =0A= // Global Killswitch on the element=0A= if (Drupal.jsEnabled) {=0A= // Global Killswitch on the element=0A= $(document.documentElement).addClass('js');=0A= // 'js enabled' cookie=0A= document.cookie =3D 'has_js=3D1; path=3D/';=0A= // Attach all behaviors.=0A= $(document).ready(function() {=0A= Drupal.attachBehaviors(this);=0A= });=0A= }=0A= =0A= /**=0A= * The default themes.=0A= */=0A= Drupal.theme.prototype =3D {=0A= =0A= /**=0A= * Formats text for emphasized display in a placeholder inside a = sentence.=0A= *=0A= * @param str=0A= * The text to format (plain-text).=0A= * @return=0A= * The formatted text (html).=0A= */=0A= placeholder: function(str) {=0A= return '' + Drupal.checkPlain(str) + '';=0A= }=0A= };=0A= ;if (Drupal.jsEnabled) {=0A= $(document).ready(function() {=0A= // Strip the host name down, removing subdomains or www.=0A= var host =3D = window.location.host.replace(/^(([^\/]+?\.)*)([^\.]{4,})((\.[a-z]{1,4})*)= $/, '$3$4');=0A= var subdomain =3D = window.location.host.replace(/^(([^\/]+?\.)*)([^\.]{4,})((\.[a-z]{1,4})*)= $/, '$1');=0A= =0A= // Determine what subdomains are considered internal.=0A= if (Drupal.settings.extlink.extSubdomains) {=0A= var subdomains =3D "([^/]*)?";=0A= }=0A= else if (subdomain =3D=3D 'www.' || subdomain =3D=3D '') {=0A= var subdomains =3D "(www\.)?";=0A= }=0A= else {=0A= var subdomains =3D subdomain.replace(".", "\.");=0A= }=0A= =0A= // Build regular expressions that define an internal link.=0A= var internal_link =3D new RegExp("^https?://" + subdomains + host, = "i");=0A= =0A= // Find all links which are NOT internal and begin with http (as = opposed=0A= // to ftp://, javascript:, etc. other kinds of links.=0A= // When operating on the 'this' variable, the host has been appended = to=0A= // all links by the browser, even local ones.=0A= // In jQuery 1.1 and higher, we'd us a filter method here, but it is = not=0A= // available in jQuery 1.0 (Drupal 5 default).=0A= var external_links =3D new Array();=0A= var mailto_links =3D new Array();=0A= $("a").each(function(el) {=0A= try {=0A= var url =3D this.href.toLowerCase();=0A= if (url.indexOf('http') =3D=3D 0 && !url.match(internal_link)) {=0A= external_links.push(this);=0A= }=0A= else if (url.indexOf('mailto:') =3D=3D 0) {=0A= mailto_links.push(this);=0A= }=0A= }=0A= // IE7 throws errors often when dealing with irregular links, such = as:=0A= // Empty tags.=0A= // example User:pass = syntax.=0A= catch(error) {=0A= return false;=0A= }=0A= });=0A= =0A= if (Drupal.settings.extlink.extClass) {=0A= // Apply the "ext" class to all links not containing images.=0A= if (parseFloat($().jquery) < 1.2) {=0A= = $(external_links).not('[img]').addClass(Drupal.settings.extlink.extClass)= ;=0A= }=0A= else {=0A= = $(external_links).not($(external_links).find('img').parents('a')).addClas= s(Drupal.settings.extlink.extClass);=0A= }=0A= }=0A= =0A= if (Drupal.settings.extlink.mailtoClass) {=0A= // Apply the "mailto" class to all mailto links not containing = images.=0A= if (parseFloat($().jquery) < 1.2) {=0A= = $(mailto_links).not('[img]').addClass(Drupal.settings.extlink.mailtoClass= );=0A= }=0A= else {=0A= = $(mailto_links).not($(mailto_links).find('img').parents('a')).addClass(Dr= upal.settings.extlink.mailtoClass);=0A= }=0A= }=0A= =0A= if (Drupal.settings.extlink.extTarget) {=0A= // Apply the target attribute to all links.=0A= $(external_links).attr('target', = Drupal.settings.extlink.extTarget);=0A= }=0A= });=0A= };/**=0A= * Modified Star Rating - jQuery plugin=0A= *=0A= * Copyright (c) 2006 Wil Stuckey=0A= *=0A= * Original source available: = http://sandbox.wilstuckey.com/jquery-ratings/=0A= * Extensively modified by Lullabot: http://www.lullabot.com=0A= *=0A= * Dual licensed under the MIT and GPL licenses:=0A= * http://www.opensource.org/licenses/mit-license.php=0A= * http://www.gnu.org/licenses/gpl.html=0A= */=0A= =0A= /**=0A= * Create a degradeable star rating interface out of a simple form = structure.=0A= * Returns a modified jQuery object containing the new interface.=0A= * =0A= * @example jQuery('form.rating').fivestar();=0A= * @cat plugin=0A= * @type jQuery =0A= *=0A= */=0A= (function($){ // Create local scope.=0A= /**=0A= * Takes the form element, builds the rating interface and attaches = the proper events.=0A= * @param {Object} $obj=0A= */=0A= var buildRating =3D function($obj){=0A= var $widget =3D buildInterface($obj),=0A= $stars =3D $('.star', $widget),=0A= $cancel =3D $('.cancel', $widget),=0A= $summary =3D $('.fivestar-summary', $obj),=0A= feedbackTimerId =3D 0,=0A= summaryText =3D $summary.html(),=0A= summaryHover =3D $obj.is('.fivestar-labels-hover'),=0A= currentValue =3D $("select", $obj).val(),=0A= cancelTitle =3D $('label', $obj).html(),=0A= voteTitle =3D cancelTitle !=3D = Drupal.settings.fivestar.titleAverage ? cancelTitle : = Drupal.settings.fivestar.titleUser,=0A= voteChanged =3D false;=0A= =0A= // Record star display.=0A= if ($obj.is('.fivestar-user-stars')) {=0A= var starDisplay =3D 'user';=0A= }=0A= else if ($obj.is('.fivestar-average-stars')) {=0A= var starDisplay =3D 'average';=0A= currentValue =3D $("input[name=3Dvote_average]", $obj).val();=0A= }=0A= else if ($obj.is('.fivestar-combo-stars')) {=0A= var starDisplay =3D 'combo';=0A= }=0A= else {=0A= var starDisplay =3D 'none';=0A= }=0A= =0A= // Smart is intentionally separate, so the average will be set = if necessary.=0A= if ($obj.is('.fivestar-smart-stars')) {=0A= var starDisplay =3D 'smart';=0A= }=0A= =0A= // Record text display.=0A= if ($summary.size()) {=0A= var textDisplay =3D = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, = '$1').replace(/-/g, '_');=0A= }=0A= else {=0A= var textDisplay =3D 'none';=0A= }=0A= =0A= // Add hover and focus events.=0A= $stars=0A= .mouseover(function(){=0A= event.drain();=0A= event.fill(this);=0A= })=0A= .mouseout(function(){=0A= event.drain();=0A= event.reset();=0A= })=0A= .focus(function(){=0A= event.drain();=0A= event.fill(this)=0A= })=0A= .blur(function(){=0A= event.drain();=0A= event.reset();=0A= });=0A= =0A= // Cancel button events.=0A= $cancel=0A= .mouseover(function(){=0A= event.drain();=0A= $(this).addClass('on')=0A= })=0A= .mouseout(function(){=0A= event.reset();=0A= $(this).removeClass('on')=0A= })=0A= .focus(function(){=0A= event.drain();=0A= $(this).addClass('on')=0A= })=0A= .blur(function(){=0A= event.reset();=0A= $(this).removeClass('on')=0A= });=0A= =0A= // Click events.=0A= $cancel.click(function(){=0A= currentValue =3D 0;=0A= event.reset();=0A= voteChanged =3D false;=0A= // Inform a user that his vote is being processed=0A= if ($("input.fivestar-path", $obj).size() && = $summary.is('.fivestar-feedback-enabled')) {=0A= = setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote);=0A= }=0A= // Save the currentValue in a hidden field.=0A= $("select", $obj).val(0);=0A= // Update the title.=0A= cancelTitle =3D starDisplay !=3D 'smart' ? cancelTitle : = Drupal.settings.fivestar.titleAverage;=0A= $('label', $obj).html(cancelTitle);=0A= // Update the smart classes on the widget if needed.=0A= if ($obj.is('.fivestar-smart-text')) {=0A= = $obj.removeClass('fivestar-user-text').addClass('fivestar-average-text');=0A= $summary[0].className =3D = $summary[0].className.replace(/-user/, '-average');=0A= textDisplay =3D = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, = '$1').replace(/-/g, '_');=0A= }=0A= if ($obj.is('.fivestar-smart-stars')) {=0A= = $obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars'= );=0A= }=0A= // Submit the form if needed.=0A= $("input.fivestar-path", $obj).each(function() {=0A= var token =3D $("input.fivestar-token", $obj).val();=0A= $.ajax({=0A= type: 'GET',=0A= data: { token: token },=0A= dataType: 'xml',=0A= url: this.value + '/' + 0,=0A= success: voteHook=0A= });=0A= });=0A= return false;=0A= });=0A= $stars.click(function(){=0A= currentValue =3D $('select option', = $obj).get($stars.index(this) + $cancel.size() + 1).value;=0A= // Save the currentValue to the hidden select field.=0A= $("select", $obj).val(currentValue);=0A= // Update the display of the stars.=0A= voteChanged =3D true;=0A= event.reset();=0A= // Inform a user that his vote is being processed.=0A= if ($("input.fivestar-path", $obj).size() && = $summary.is('.fivestar-feedback-enabled')) {=0A= = setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote);=0A= }=0A= // Update the smart classes on the widget if needed.=0A= if ($obj.is('.fivestar-smart-text')) {=0A= = $obj.removeClass('fivestar-average-text').addClass('fivestar-user-text');=0A= $summary[0].className =3D = $summary[0].className.replace(/-average/, '-user');=0A= textDisplay =3D = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, = '$1').replace(/-/g, '_');=0A= }=0A= if ($obj.is('.fivestar-smart-stars')) {=0A= = $obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars'= );=0A= }=0A= // Submit the form if needed.=0A= $("input.fivestar-path", $obj).each(function () {=0A= var token =3D $("input.fivestar-token", $obj).val();=0A= $.ajax({=0A= type: 'GET',=0A= data: { token: token },=0A= dataType: 'xml',=0A= url: this.value + '/' + currentValue,=0A= success: voteHook=0A= });=0A= });=0A= return false;=0A= });=0A= =0A= var event =3D {=0A= fill: function(el){=0A= // Fill to the current mouse position.=0A= var index =3D $stars.index(el) + 1;=0A= $stars=0A= .children('a').css('width', '100%').end()=0A= .filter(':lt(' + index + ')').addClass('hover').end();=0A= // Update the description text and label.=0A= if (summaryHover && !feedbackTimerId) {=0A= var summary =3D $("select option", $obj)[index + = $cancel.size()].text;=0A= var value =3D $("select option", $obj)[index + = $cancel.size()].value;=0A= $summary.html(summary !=3D index + 1 ? summary : = ' ');=0A= $('label', $obj).html(voteTitle);=0A= }=0A= },=0A= drain: function() {=0A= // Drain all the stars.=0A= $stars=0A= .filter('.on').removeClass('on').end()=0A= .filter('.hover').removeClass('hover').end();=0A= // Update the description text.=0A= if (summaryHover && !feedbackTimerId) {=0A= var cancelText =3D $("select option", $obj)[0].text;=0A= $summary.html(($cancel.size() && cancelText !=3D 0) ? = cancelText : ' ');=0A= if (!voteChanged) {=0A= $('label', $obj).html(cancelTitle);=0A= }=0A= }=0A= },=0A= reset: function(){=0A= // Reset the stars to the default index.=0A= var starValue =3D currentValue/100 * $stars.size();=0A= var percent =3D (starValue - Math.floor(starValue)) * 100;=0A= $stars.filter(':lt(' + Math.floor(starValue) + = ')').addClass('on').end();=0A= if (percent > 0) {=0A= = $stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width'= , percent + "%").end().end();=0A= }=0A= // Restore the summary text and original title.=0A= if (summaryHover && !feedbackTimerId) {=0A= $summary.html(summaryText ? summaryText : ' ');=0A= }=0A= if (voteChanged) {=0A= $('label', $obj).html(voteTitle);=0A= }=0A= else {=0A= $('label', $obj).html(cancelTitle);=0A= }=0A= }=0A= };=0A= =0A= var setFeedbackText =3D function(text) {=0A= // Kill previous timer if it isn't finished yet so that the = text we=0A= // are about to set will not get cleared too early.=0A= feedbackTimerId =3D 1;=0A= $summary.html(text);=0A= };=0A= =0A= /**=0A= * Checks for the presence of a javascript hook 'fivestarResult' = to be=0A= * called upon completion of a AJAX vote request.=0A= */=0A= var voteHook =3D function(data) {=0A= var returnObj =3D {=0A= result: {=0A= count: $("result > count", data).text(),=0A= average: $("result > average", data).text(),=0A= summary: {=0A= average: $("summary average", data).text(),=0A= average_count: $("summary average_count", data).text(),=0A= user: $("summary user", data).text(),=0A= user_count: $("summary user_count", data).text(),=0A= combo: $("summary combo", data).text(),=0A= count: $("summary count", data).text()=0A= }=0A= },=0A= vote: {=0A= id: $("vote id", data).text(),=0A= tag: $("vote tag", data).text(),=0A= type: $("vote type", data).text(),=0A= value: $("vote value", data).text()=0A= },=0A= display: {=0A= stars: starDisplay,=0A= text: textDisplay=0A= }=0A= };=0A= // Check for a custom callback.=0A= if (window.fivestarResult) {=0A= fivestarResult(returnObj);=0A= }=0A= // Use the default.=0A= else {=0A= fivestarDefaultResult(returnObj);=0A= }=0A= // Update the summary text.=0A= summaryText =3D = returnObj.result.summary[returnObj.display.text];=0A= if = ($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')) {=0A= // Inform user that his/her vote has been processed.=0A= if (returnObj.vote.value !=3D 0) { // check if vote has been = saved or deleted =0A= = setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved);=0A= }=0A= else {=0A= = setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted);=0A= }=0A= // Setup a timer to clear the feedback text after 3 seconds.=0A= feedbackTimerId =3D setTimeout(function() { = clearTimeout(feedbackTimerId); feedbackTimerId =3D 0; = $summary.html(returnObj.result.summary[returnObj.display.text]); }, = 2000);=0A= }=0A= // Update the current star currentValue to the previous = average.=0A= if (returnObj.vote.value =3D=3D 0 && (starDisplay =3D=3D = 'average' || starDisplay =3D=3D 'smart')) {=0A= currentValue =3D returnObj.result.average;=0A= event.reset();=0A= }=0A= };=0A= =0A= event.reset();=0A= return $widget;=0A= };=0A= =0A= /**=0A= * Accepts jQuery object containing a single fivestar widget.=0A= * Returns the proper div structure for the star interface.=0A= * =0A= * @return jQuery=0A= * @param {Object} $widget=0A= * =0A= */=0A= var buildInterface =3D function($widget){=0A= var $container =3D $('
');=0A= var $options =3D $("select option", $widget);=0A= var size =3D $('option', $widget).size() - 1;=0A= var cancel =3D 1;=0A= for (var i =3D 1, option; option =3D $options[i]; i++){=0A= if (option.value =3D=3D "0") {=0A= cancel =3D 0;=0A= $div =3D $('');=0A= }=0A= else {=0A= var zebra =3D (i + cancel - 1) % 2 =3D=3D 0 ? 'even' : = 'odd';=0A= var count =3D i + cancel - 1;=0A= var first =3D count =3D=3D 1 ? ' star-first' : '';=0A= var last =3D count =3D=3D size + cancel - 1 ? ' star-last' = : '';=0A= $div =3D $('');=0A= }=0A= $container.append($div[0]);=0A= }=0A= $container.addClass('fivestar-widget-' + (size + cancel - 1));=0A= // Attach the new widget and hide the existing widget.=0A= $('select', $widget).after($container).css('display', 'none');=0A= return $container;=0A= };=0A= =0A= /**=0A= * Standard handler to update the average rating when a user changes = their=0A= * vote. This behavior can be overridden by implementing a = fivestarResult=0A= * function in your own module or theme.=0A= * @param object voteResult=0A= * Object containing the following properties from the vote result:=0A= * voteResult.result.count The current number of votes for this item.=0A= * voteResult.result.average The current average of all votes for = this item.=0A= * voteResult.result.summary.average The textual description of the = average.=0A= * voteResult.result.summary.user The textual description of the = user's current vote.=0A= * voteResult.vote.id The id of the item the vote was placed on = (such as the nid)=0A= * voteResult.vote.type The type of the item the vote was placed on = (such as 'node')=0A= * voteResult.vote.tag The multi-axis tag the vote was placed on = (such as 'vote')=0A= * voteResult.vote.average The average of the new vote saved=0A= * voteResult.display.stars The type of star display we're using. = Either 'average', 'user', or 'combo'.=0A= * voteResult.display.text The type of text display we're using. = Either 'average', 'user', or 'combo'.=0A= */=0A= function fivestarDefaultResult(voteResult) {=0A= // Update the summary text.=0A= = $('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).htm= l(voteResult.result.summary[voteResult.display.text]);=0A= // If this is a combo display, update the average star display.=0A= if (voteResult.display.stars =3D=3D 'combo') {=0A= $('div.fivestar-form-'+voteResult.vote.id).each(function() {=0A= // Update stars.=0A= var $stars =3D $('.fivestar-widget-static .star span', this);=0A= var average =3D voteResult.result.average/100 * $stars.size();=0A= var index =3D Math.floor(average);=0A= $stars.removeClass('on').addClass('off').css('width', 'auto');=0A= $stars.filter(':lt(' + (index + 1) + = ')').removeClass('off').addClass('on');=0A= $stars.eq(index).css('width', ((average - index) * 100) + "%");=0A= // Update summary.=0A= var $summary =3D $('.fivestar-static-form-item = .fivestar-summary', this);=0A= if ($summary.size()) {=0A= var textDisplay =3D = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, = '$1').replace(/-/g, '_');=0A= $summary.html(voteResult.result.summary[textDisplay]);=0A= }=0A= });=0A= }=0A= };=0A= =0A= /**=0A= * Set up the plugin=0A= */=0A= $.fn.fivestar =3D function() {=0A= var stack =3D [];=0A= this.each(function() {=0A= var ret =3D buildRating($(this));=0A= stack.push(ret);=0A= });=0A= return stack;=0A= };=0A= =0A= // Fix ie6 background flicker problem.=0A= if ($.browser.msie =3D=3D true) {=0A= try {=0A= document.execCommand('BackgroundImageCache', false, true);=0A= } catch(err) {}=0A= }=0A= =0A= Drupal.behaviors.fivestar =3D function(context) {=0A= $('div.fivestar-form-item:not(.fivestar-processed)', = context).addClass('fivestar-processed').fivestar();=0A= $('input.fivestar-submit', context).css('display', 'none');=0A= }=0A= =0A= })(jQuery);;/* $Id: img_assist.js,v 1.6 2008/04/06 16:43:18 sun Exp $ */=0A= =0A= var currentMode;=0A= =0A= function onChangeBrowseBy(el) {=0A= frames['img_assist_main'].window.location.href =3D BASE_URL + = 'index.php?q=3Dimg_assist/thumbs/' + el.value;=0A= }=0A= =0A= function onClickUpload() {=0A= frames['img_assist_main'].window.location.href =3D BASE_URL + = 'index.php?q=3Dimg_assist/upload';=0A= }=0A= =0A= function onClickStartOver() {=0A= frames['img_assist_main'].window.location.href =3D BASE_URL + = 'index.php?q=3Dimg_assist/thumbs/myimages';=0A= }=0A= =0A= function updateCaption() {=0A= var caption =3D = frames['img_assist_main'].document.getElementById('caption');=0A= var title =3D = frames['img_assist_main'].document.img_assist['edit-title'].value;=0A= var desc =3D = frames['img_assist_main'].document.img_assist['edit-desc'].value;=0A= if (desc !=3D '') {=0A= title =3D title + ': ';=0A= }=0A= caption.innerHTML =3D '' + title + '' + desc;=0A= }=0A= =0A= function onChangeHeight() {=0A= var formObj =3D frames['img_assist_main'].document.forms[0];=0A= var aspect =3D formObj['edit-aspect'].value;=0A= var height =3D formObj['edit-height'].value;=0A= formObj['edit-width'].value =3D Math.round(height * aspect);=0A= }=0A= =0A= function onChangeWidth() {=0A= var formObj =3D frames['img_assist_main'].document.forms[0];=0A= var aspect =3D formObj['edit-aspect'].value;=0A= var width =3D formObj['edit-width'].value;=0A= formObj['edit-height'].value =3D Math.round(width / aspect);=0A= }=0A= =0A= function onChangeLink() {=0A= var formObj =3D frames['img_assist_main'].document.forms[0];=0A= if (formObj['edit-link-options-visible'].value =3D=3D 1) {=0A= if (formObj['edit-link'].value =3D=3D 'url') {=0A= showElement('edit-url', 'inline');=0A= }=0A= else {=0A= hideElement('edit-url');=0A= }=0A= }=0A= }=0A= =0A= function onChangeSizeLabel() {=0A= var formObj =3D frames['img_assist_main'].document.forms[0];=0A= if (formObj['edit-size-label'].value =3D=3D 'other') {=0A= showElement('size-other', 'inline');=0A= }=0A= else {=0A= hideElement('size-other');=0A= // get the new width and height=0A= var size =3D formObj['edit-size-label'].value.split('x');=0A= // this array is probably a bounding box size, not an actual image=0A= // size, so now we use the known aspect ratio to find the actual size=0A= var aspect =3D formObj['edit-aspect'].value;=0A= var width =3D size[0];=0A= var height =3D size[1];=0A= if (Math.round(width / aspect) <=3D height) {=0A= // width is controlling factor=0A= height =3D Math.round(width / aspect);=0A= }=0A= else {=0A= // height is controlling factor=0A= width =3D Math.round(height * aspect);=0A= }=0A= // fill the hidden width and height textboxes with these values=0A= formObj['edit-width'].value =3D width;=0A= formObj['edit-height'].value =3D height;=0A= }=0A= }=0A= =0A= function setHeader(mode) {=0A= if (currentMode !=3D mode) {=0A= frames['img_assist_header'].window.location.href =3D BASE_URL + = 'index.php?q=3Dimg_assist/header/' + mode;=0A= }=0A= currentMode =3D mode;=0A= }=0A= =0A= function showElement(id, format) {=0A= var docObj =3D frames['img_assist_main'].document;=0A= format =3D (format) ? format : 'block';=0A= if (docObj.layers) {=0A= docObj.layers[id].display =3D format;=0A= }=0A= else if (docObj.all) {=0A= docObj.all[id].style.display =3D format;=0A= }=0A= else if (docObj.getElementById) {=0A= docObj.getElementById(id).style.display =3D format;=0A= }=0A= }=0A= =0A= function hideElement(id) {=0A= var docObj =3D frames['img_assist_main'].document;=0A= if (docObj.layers) {=0A= docObj.layers[id].display =3D 'none';=0A= }=0A= else if (docObj.all) {=0A= docObj.all[id].style.display =3D 'none';=0A= }=0A= else if (docObj.getElementById) {=0A= docObj.getElementById(id).style.display =3D 'none';=0A= }=0A= }=0A= =0A= function launch_popup(nid, mw, mh) {=0A= var ox =3D mw;=0A= var oy =3D mh;=0A= if((ox>=3Dscreen.width) || (oy>=3Dscreen.height)) {=0A= var ox =3D screen.width-150;=0A= var oy =3D screen.height-150;=0A= var winx =3D (screen.width / 2)-(ox / 2);=0A= var winy =3D (screen.height / 2)-(oy / 2);=0A= var use_scrollbars =3D 1;=0A= }=0A= else {=0A= var winx =3D (screen.width / 2)-(ox / 2);=0A= var winy =3D (screen.height / 2)-(oy / 2);=0A= var use_scrollbars =3D 0;=0A= }=0A= var win =3D window.open(BASE_URL + 'index.php?q=3Dimg_assist/popup/' + = nid, 'imagev', = 'height=3D'+oy+'-10,width=3D'+ox+',top=3D'+winy+',left=3D'+winx+',scrollb= ars=3D'+use_scrollbars+',resizable');=0A= }=0A= =0A= function insertImage() {=0A= if (window.opener) {=0A= // Get variables from the fields on the properties frame=0A= var formObj =3D frames['img_assist_main'].document.forms[0];=0A= // Get mode (see img_assist.module for detailed comments)=0A= if (formObj['edit-insertmode'].value =3D=3D 'html') {=0A= // return so the page can submit normally and generate the HTML code=0A= return true;=0A= }=0A= else if (formObj['edit-insertmode'].value =3D=3D 'html2') {=0A= // HTML step 2 (processed code, ready to be inserted)=0A= var content =3D getHTML(formObj);=0A= }=0A= else {=0A= var content =3D getFilterTag(formObj);=0A= }=0A= insertToEditor(content);=0A= return false;=0A= =0A= }=0A= else {=0A= alert('The image cannot be inserted because the parent window cannot = be found.');=0A= return false;=0A= }=0A= }=0A= =0A= function getHTML(formObj) {=0A= var html =3D = frames['img_assist_main'].document.getElementById('finalhtmlcode').value;=0A= return html;=0A= }=0A= ;if(Drupal.jsEnabled){$(function(){$("span."+Drupal.settings.spamspan.m).= each(function(_1){var = _2=3D($("span."+Drupal.settings.spamspan.u,this).text()+"@"+$("span."+Dru= pal.settings.spamspan.d,this).text()).replace(/\s+/g,"").replace(/\[dot\]= /g,".");var = _3=3D$("span."+Drupal.settings.spamspan.t,this).text().replace(/^ = \((.*)\)$/,"$1");$(this).after($("").attr("href","mailto:"+_2).htm= l(_3?_3:_2).addClass("spamspan")).remove();});});};// $Id: = tableofcontents.js,v 1.1.2.1.2.2 2008/06/21 18:11:12 deviantintegral Exp = $=0A= =0A= if (Drupal.jsEnabled) {=0A= $(document).ready( function () {=0A= $('a.toc-toggle').click(function() {=0A= $('.toc-list').slideToggle();=0A= var text =3D $('a.toc-toggle').text();=0A= if (text =3D=3D Drupal.t('hide')) {=0A= $('a.toc-toggle').text(Drupal.t('show'));=0A= } else {=0A= $('a.toc-toggle').text(Drupal.t('hide'));=0A= }=0A= return false;=0A= });=0A= });=0A= };/**=0A= * --------------------------------------------------------------------=0A= * jQuery-Plugin "pngFix"=0A= * by Andreas Eberhard, andreas.eberhard@gmail.com=0A= * http://jquery.andreaseberhard.de/=0A= *=0A= * Copyright (c) 2007 Andreas Eberhard=0A= * Licensed under GPL = (http://www.opensource.org/licenses/gpl-license.php)=0A= *=0A= * Version: 1.0, 31.05.2007=0A= * Changelog:=0A= * 31.05.2007 initial Version 1.0=0A= * --------------------------------------------------------------------=0A= */=0A= =0A= (function(jQuery) {=0A= =0A= =0A= jQuery.fn.pngFix =3D function() {=0A= =0A= var ie55 =3D (navigator.appName =3D=3D "Microsoft Internet Explorer" && = parseInt(navigator.appVersion) =3D=3D 4 && = navigator.appVersion.indexOf("MSIE 5.5") !=3D -1);=0A= var ie6 =3D (navigator.appName =3D=3D "Microsoft Internet Explorer" && = parseInt(navigator.appVersion) =3D=3D 4 && = navigator.appVersion.indexOf("MSIE 6.0") !=3D -1);=0A= =0A= if (jQuery.browser.msie && (ie55 || ie6)) {=0A= =0A= jQuery(this).find("img[@src$=3D.png]").each(function() {=0A= =0A= var prevStyle =3D '';=0A= var strNewHTML =3D '';=0A= var imgId =3D (jQuery(this).attr('id')) ? 'id=3D"' + = jQuery(this).attr('id') + '" ' : '';=0A= var imgClass =3D (jQuery(this).attr('class')) ? 'class=3D"' + = jQuery(this).attr('class') + '" ' : '';=0A= var imgTitle =3D (jQuery(this).attr('title')) ? 'title=3D"' + = jQuery(this).attr('title') + '" ' : '';=0A= var imgAlt =3D (jQuery(this).attr('alt')) ? 'alt=3D"' + = jQuery(this).attr('alt') + '" ' : '';=0A= var imgAlign =3D (jQuery(this).attr('align')) ? 'float:' + = jQuery(this).attr('align') + ';' : '';=0A= var imgHand =3D (jQuery(this).parent().attr('href')) ? 'cursor:hand;' = : '';=0A= if (this.style.border) {=0A= prevStyle +=3D 'border:'+this.style.border+';';=0A= this.style.border =3D '';=0A= }=0A= if (this.style.padding) {=0A= prevStyle +=3D 'padding:'+this.style.padding+';';=0A= this.style.padding =3D '';=0A= }=0A= if (this.style.margin) {=0A= prevStyle +=3D 'margin:'+this.style.margin+';';=0A= this.style.margin =3D '';=0A= }=0A= var imgStyle =3D (this.style.cssText);=0A= =0A= strNewHTML +=3D '';=0A= if (prevStyle !=3D ''){=0A= strNewHTML =3D '' + strNewHTML + '';=0A= }=0A= =0A= jQuery(this).hide();=0A= jQuery(this).after(strNewHTML);=0A= =0A= });=0A= =0A= }=0A= =0A= };=0A= =0A= })(jQuery);=0A= ;=EF=BB=BF/**=0A= * hoverIntent is similar to jQuery's built-in "hover" function except = that=0A= * instead of firing the onMouseOver event immediately, hoverIntent checks=0A= * to see if the user's mouse has slowed down (beneath the sensitivity=0A= * threshold) before firing the onMouseOver event.=0A= * =0A= * hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+=0A= * =0A= * =0A= * hoverIntent is currently available for use in all personal or = commercial =0A= * projects under both MIT and GPL licenses. This means that you can = choose =0A= * the license that best suits your project, and use it accordingly.=0A= * =0A= * // basic usage (just like .hover) receives onMouseOver and onMouseOut = functions=0A= * $("ul li").hoverIntent( showNav , hideNav );=0A= * =0A= * // advanced usage receives configuration object only=0A= * $("ul li").hoverIntent({=0A= * sensitivity: 7, // number =3D sensitivity threshold (must be 1 or = higher)=0A= * interval: 100, // number =3D milliseconds of polling interval=0A= * over: showNav, // function =3D onMouseOver callback (required)=0A= * timeout: 0, // number =3D milliseconds delay before onMouseOut = function call=0A= * out: hideNav // function =3D onMouseOut callback (required)=0A= * });=0A= * =0A= * @param f onMouseOver function || An object with configuration options=0A= * @param g onMouseOut function || Nothing (use configuration options = object)=0A= * @author Brian Cherne =0A= */=0A= (function($) {=0A= $.fn.hoverIntent =3D function(f,g) {=0A= // default configuration options=0A= var cfg =3D {=0A= sensitivity: 12,=0A= interval: 50,=0A= timeout: 0=0A= };=0A= // override configuration options with user supplied object=0A= cfg =3D $.extend(cfg, g ? { over: f, out: g } : f );=0A= =0A= // instantiate variables=0A= // cX, cY =3D current X and Y position of mouse, updated by mousemove = event=0A= // pX, pY =3D previous X and Y position of mouse, set by mouseover and = polling interval=0A= var cX, cY, pX, pY;=0A= =0A= // A private function for getting mouse position=0A= var track =3D function(ev) {=0A= cX =3D ev.pageX;=0A= cY =3D ev.pageY;=0A= };=0A= =0A= // A private function for comparing current and previous mouse position=0A= var compare =3D function(ev,ob) {=0A= ob.hoverIntent_t =3D clearTimeout(ob.hoverIntent_t);=0A= // compare mouse positions to see if they've crossed the threshold=0A= if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {=0A= $(ob).unbind("mousemove",track);=0A= // set hoverIntent state to true (so mouseOut can be called)=0A= ob.hoverIntent_s =3D 1;=0A= return cfg.over.apply(ob,[ev]);=0A= } else {=0A= // set previous coordinates for next time=0A= pX =3D cX; pY =3D cY;=0A= // use self-calling timeout, guarantees intervals are spaced out = properly (avoids JavaScript timer bugs)=0A= ob.hoverIntent_t =3D setTimeout( function(){compare(ev, ob);} , = cfg.interval );=0A= }=0A= };=0A= =0A= // A private function for delaying the mouseOut function=0A= var delay =3D function(ev,ob) {=0A= ob.hoverIntent_t =3D clearTimeout(ob.hoverIntent_t);=0A= ob.hoverIntent_s =3D 0;=0A= return cfg.out.apply(ob,[ev]);=0A= };=0A= =0A= // A private function for handling mouse 'hovering'=0A= var handleHover =3D function(e) {=0A= // next three lines copied from jQuery.hover, ignore children = onMouseOver/onMouseOut=0A= var p =3D (e.type =3D=3D "mouseover" ? e.fromElement : e.toElement) = || e.relatedTarget;=0A= while ( p && p !=3D this ) { try { p =3D p.parentNode; } catch(e) { p = =3D this; } }=0A= if ( p =3D=3D this ) { return false; }=0A= =0A= // copy objects to be passed into t (required for event object to be = passed in IE)=0A= var ev =3D jQuery.extend({},e);=0A= var ob =3D this;=0A= =0A= // cancel hoverIntent timer if it exists=0A= if (ob.hoverIntent_t) { ob.hoverIntent_t =3D = clearTimeout(ob.hoverIntent_t); }=0A= =0A= // else e.type =3D=3D "onmouseover"=0A= if (e.type =3D=3D "mouseover") {=0A= // set "previous" X and Y position based on initial entry point=0A= pX =3D ev.pageX; pY =3D ev.pageY;=0A= // update "current" X and Y position based on mousemove=0A= $(ob).bind("mousemove",track);=0A= // start polling interval (self-calling timeout) to compare mouse = coordinates over time=0A= if (ob.hoverIntent_s !=3D 1) { ob.hoverIntent_t =3D setTimeout( = function(){compare(ev,ob);} , cfg.interval );}=0A= =0A= // else e.type =3D=3D "onmouseout"=0A= } else {=0A= // unbind expensive mousemove event=0A= $(ob).unbind("mousemove",track);=0A= // if hoverIntent state is true, then call the mouseOut function = after the specified delay=0A= if (ob.hoverIntent_s =3D=3D 1) { ob.hoverIntent_t =3D setTimeout( = function(){delay(ev,ob);} , cfg.timeout );}=0A= }=0A= };=0A= =0A= // bind the function to the two event listeners=0A= return this.mouseover(handleHover).mouseout(handleHover);=0A= };=0A= })(jQuery);=0A= ;=0A= /*=0A= * Superfish v1.4.8 - jQuery menu widget=0A= * Copyright (c) 2008 Joel Birch=0A= *=0A= * Dual licensed under the MIT and GPL licenses:=0A= * http://www.opensource.org/licenses/mit-license.php=0A= * http://www.gnu.org/licenses/gpl.html=0A= *=0A= * CHANGELOG: = http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt=0A= */=0A= =0A= ;(function($){=0A= $.fn.superfish =3D function(op){=0A= =0A= var sf =3D $.fn.superfish,=0A= c =3D sf.c,=0A= $arrow =3D $([' = »'].join('')),=0A= over =3D function(){=0A= var $$ =3D $(this), menu =3D getMenu($$);=0A= clearTimeout(menu.sfTimer);=0A= $$.showSuperfishUl().siblings().hideSuperfishUl();=0A= },=0A= out =3D function(){=0A= var $$ =3D $(this), menu =3D getMenu($$), o =3D sf.op;=0A= clearTimeout(menu.sfTimer);=0A= menu.sfTimer=3DsetTimeout(function(){=0A= o.retainPath=3D($.inArray($$[0],o.$path)>-1);=0A= $$.hideSuperfishUl();=0A= if (o.$path.length && = $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}=0A= },o.delay); =0A= },=0A= getMenu =3D function($menu){=0A= var menu =3D $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];=0A= sf.op =3D sf.o[menu.serial];=0A= return menu;=0A= },=0A= addArrow =3D function($a){ = $a.addClass(c.anchorClass).append($arrow.clone()); };=0A= =0A= return this.each(function() {=0A= var s =3D this.serial =3D sf.o.length;=0A= var o =3D $.extend({},sf.defaults,op);=0A= o.$path =3D = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){=0A= $(this).addClass([o.hoverClass,c.bcClass].join(' '))=0A= .filter('li:has(ul)').removeClass(o.pathClass);=0A= });=0A= sf.o[s] =3D sf.op =3D o;=0A= =0A= $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? = 'hoverIntent' : 'hover'](over,out).each(function() {=0A= if (o.autoArrows) addArrow( $('>a:first-child',this) );=0A= })=0A= .not('.'+c.bcClass)=0A= .hideSuperfishUl();=0A= =0A= var $a =3D $('a',this);=0A= $a.each(function(i){=0A= var $li =3D $a.eq(i).parents('li');=0A= = $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li)= ;});=0A= });=0A= o.onInit.call(this);=0A= =0A= }).each(function() {=0A= var menuClasses =3D [c.menuClass];=0A= if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) = menuClasses.push(c.shadowClass);=0A= $(this).addClass(menuClasses.join(' '));=0A= });=0A= };=0A= =0A= var sf =3D $.fn.superfish;=0A= sf.o =3D [];=0A= sf.op =3D {};=0A= sf.IE7fix =3D function(){=0A= var o =3D sf.op;=0A= if ($.browser.msie && $.browser.version > 6 && o.dropShadows && = o.animation.opacity!=3Dundefined)=0A= this.toggleClass(sf.c.shadowClass+'-off');=0A= };=0A= sf.c =3D {=0A= bcClass : 'sf-breadcrumb',=0A= menuClass : 'sf-js-enabled',=0A= anchorClass : 'sf-with-ul',=0A= arrowClass : 'sf-sub-indicator',=0A= shadowClass : 'sf-shadow'=0A= };=0A= sf.defaults =3D {=0A= hoverClass : 'sfHover',=0A= pathClass : 'overideThisToUse',=0A= pathLevels : 1,=0A= delay : 800,=0A= animation : {opacity:'show'},=0A= speed : 'normal',=0A= autoArrows : true,=0A= dropShadows : true,=0A= disableHI : false, // true disables hoverIntent detection=0A= onInit : function(){}, // callback functions=0A= onBeforeShow: function(){},=0A= onShow : function(){},=0A= onHide : function(){}=0A= };=0A= $.fn.extend({=0A= hideSuperfishUl : function(){=0A= var o =3D sf.op,=0A= not =3D (o.retainPath=3D=3D=3Dtrue) ? o.$path : '';=0A= o.retainPath =3D false;=0A= var $ul =3D = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.ho= verClass)=0A= .find('>ul').hide().css('visibility','hidden');=0A= o.onHide.call($ul);=0A= return this;=0A= },=0A= showSuperfishUl : function(){=0A= var o =3D sf.op,=0A= sh =3D sf.c.shadowClass+'-off',=0A= $ul =3D this.addClass(o.hoverClass)=0A= .find('>ul:hidden').css('visibility','visible');=0A= sf.IE7fix.call($ul);=0A= o.onBeforeShow.call($ul);=0A= $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); = o.onShow.call($ul); });=0A= return this;=0A= }=0A= });=0A= =0A= })(jQuery);=0A= ;=0A= // superfish initialization:=0A= $(document).ready(function() {=0A= =0A= if (navigator.platform.indexOf('Linux')!=3D-1 && $.browser.mozilla)=0A= {=0A= $('#suckerfishmenu div.content > ul.menu')=0A= .superfish({=0A= delay:800,=0A= autoArrows:false,=0A= dropShadows:false,=0A= animation:{visible:'show'},=0A= speed:0,=0A= hoverClass:'sfhover'=0A= });=0A= }=0A= else=0A= {=0A= $('#suckerfishmenu div.content > ul.menu')=0A= .superfish({=0A= delay:800,=0A= autoArrows:false,=0A= dropShadows:false,=0A= animation:{opacity:'show'},=0A= speed:150,=0A= hoverClass:'sfhover'=0A= });=0A= }=0A= });=0A= =0A= $(document).click(function() {=0A= $('#suckerfishmenu div.content > ul.menu').hideSuperfishUl();=0A= });=0A= =0A= ; ------=_NextPart_000_0000_01CA385F.93301190 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.scala-lang.org/sites/all/themes/newsflash/js/pickstyle.js function pickstyle(whichstyle) {=0A= var expireDate =3D new Date()=0A= var expstring=3DexpireDate.setDate(expireDate.getDate()+30)=0A= =0A= document.cookie =3D "newsflashstyle=3D" + whichstyle + "; = expires=3D"+expireDate.toGMTString()=0A= }=0A= =0A= =0A= =0A= ------=_NextPart_000_0000_01CA385F.93301190--