diff --git a/10/index.txt b/10/index.txt new file mode 100644 index 0000000..24a4ecf --- /dev/null +++ b/10/index.txt @@ -0,0 +1 @@ +Please note that there are no examples in this folder diff --git a/11/01.php b/11/01.php new file mode 100644 index 0000000..9a16353 --- /dev/null +++ b/11/01.php @@ -0,0 +1,14 @@ + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, + PDO::ATTR_EMULATE_PREPARES => false, + ]; +?> diff --git a/11/02.php b/11/02.php new file mode 100644 index 0000000..4c48601 --- /dev/null +++ b/11/02.php @@ -0,0 +1,12 @@ +getMessage(), (int)$e->getCode()); + } +?> diff --git a/11/03.php b/11/03.php new file mode 100644 index 0000000..2c0019a --- /dev/null +++ b/11/03.php @@ -0,0 +1,4 @@ +query($query); +?> diff --git a/11/04.php b/11/04.php new file mode 100644 index 0000000..18fd833 --- /dev/null +++ b/11/04.php @@ -0,0 +1,24 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "SELECT * FROM classics"; + $result = $pdo->query($query); + + while ($row = $result->fetch()) + { + echo 'Author: ' . htmlspecialchars($row['author']) . "
"; + echo 'Title: ' . htmlspecialchars($row['title']) . "
"; + echo 'Category: ' . htmlspecialchars($row['categoryr']) . "
"; + echo 'Year: ' . htmlspecialchars($row['year']) . "
"; + echo 'ISBN: ' . htmlspecialchars($row['isbn']) . "

"; + } +?> diff --git a/11/05.php b/11/05.php new file mode 100644 index 0000000..20aa34a --- /dev/null +++ b/11/05.php @@ -0,0 +1,24 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "SELECT * FROM classics"; + $result = $pdo->query($query); + + while ($row = $result->fetch(PDO::FETCH_BOTH)) // Style of fetch + { + echo 'Author: ' . htmlspecialchars($row['author']) . "
"; + echo 'Title: ' . htmlspecialchars($row['title']) . "
"; + echo 'Category: ' . htmlspecialchars($row['categoryr']) . "
"; + echo 'Year: ' . htmlspecialchars($row['year']) . "
"; + echo 'ISBN: ' . htmlspecialchars($row['isbn']) . "

"; + } +?> \ No newline at end of file diff --git a/11/06.php b/11/06.php new file mode 100644 index 0000000..4676b6b --- /dev/null +++ b/11/06.php @@ -0,0 +1,78 @@ +getMessage(), (int)$e->getCode()); + } + + if (isset($_POST['delete']) && isset($_POST['isbn'])) + { + $isbn = get_post($pdo, 'isbn'); + $query = "DELETE FROM classics WHERE isbn=$isbn"; + $result = $pdo->query($query); + } + + if (isset($_POST['author']) && + isset($_POST['title']) && + isset($_POST['category']) && + isset($_POST['year']) && + isset($_POST['isbn'])) + { + $author = get_post($pdo, 'author'); + $title = get_post($pdo, 'title'); + $category = get_post($pdo, 'category'); + $year = get_post($pdo, 'year'); + $isbn = get_post($pdo, 'isbn'); + + $query = "INSERT INTO classics VALUES" . + "($author, $title, $category, $year, $isbn)"; + $result = $pdo->query($query); + } + + echo <<<_END +
+    Author 
+     Title 
+  Category 
+      Year 
+      ISBN 
+           
+  
+_END; + + $query = "SELECT * FROM classics"; + $result = $pdo->query($query); + + while ($row = $result->fetch()) + { + $r0 = htmlspecialchars($row['author']); + $r1 = htmlspecialchars($row['title']); + $r2 = htmlspecialchars($row['category']); + $r3 = htmlspecialchars($row['year']); + $r4 = htmlspecialchars($row['isbn']); + + echo <<<_END +
+    Author $r0
+     Title $r1
+  Category $r2
+      Year $r3
+      ISBN $r4
+  
+
+ + +
+_END; + } + + function get_post($pdo, $var) + { + return $pdo->quote($_POST[$var]); + } +?> \ No newline at end of file diff --git a/11/07.php b/11/07.php new file mode 100644 index 0000000..72cfa12 --- /dev/null +++ b/11/07.php @@ -0,0 +1,22 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "CREATE TABLE cats ( + id SMALLINT NOT NULL AUTO_INCREMENT, + family VARCHAR(32) NOT NULL, + name VARCHAR(32) NOT NULL, + age TINYINT NOT NULL, + PRIMARY KEY (id) + )"; + + $result = $pdo->query($query); +?> diff --git a/11/08.php b/11/08.php new file mode 100644 index 0000000..31f0357 --- /dev/null +++ b/11/08.php @@ -0,0 +1,27 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "DESCRIBE cats"; + $result = $pdo->query($query); + + echo ""; + + while ($row = $result->fetch(PDO::FETCH_NUM)) + { + echo ""; + for ($k = 0 ; $k < 4 ; ++$k) + echo ""; + echo ""; + } + + echo "
ColumnTypeNullKey
" . htmlspecialchars($row[$k]) . "
"; +?> diff --git a/11/09.php b/11/09.php new file mode 100644 index 0000000..b8e665c --- /dev/null +++ b/11/09.php @@ -0,0 +1,15 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "DROP TABLE cats"; + $result = $pdo->query($query); +?> diff --git a/11/10.php b/11/10.php new file mode 100644 index 0000000..8f16b2c --- /dev/null +++ b/11/10.php @@ -0,0 +1,19 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "INSERT INTO cats VALUES(NULL, 'Lion', 'Leo', 4)"; + $result = $pdo->query($query); + $query = "INSERT INTO cats VALUES(NULL, 'Cougar', 'Growler', 2)"; + $result = $pdo->query($query); + $query = "INSERT INTO cats VALUES(NULL, 'Cheetah', 'Charly', 3)"; + $result = $pdo->query($query); +?> diff --git a/11/11.php b/11/11.php new file mode 100644 index 0000000..02bd42a --- /dev/null +++ b/11/11.php @@ -0,0 +1,27 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "SELECT * FROM cats"; + $result = $pdo->query($query); + + echo ""; + + while ($row = $result->fetch(PDO::FETCH_NUM)) + { + echo ""; + for ($k = 0 ; $k < 4 ; ++$k) + echo ""; + echo ""; + } + + echo "
Id FamilyNameAge
" . htmlspecialchars($row[$k]) . "
"; +?> diff --git a/11/12.php b/11/12.php new file mode 100644 index 0000000..d37392d --- /dev/null +++ b/11/12.php @@ -0,0 +1,15 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "UPDATE cats SET name='Charlie' WHERE name='Charly'"; + $result = $pdo->query($query); +?> diff --git a/11/13.php b/11/13.php new file mode 100644 index 0000000..404dea5 --- /dev/null +++ b/11/13.php @@ -0,0 +1,15 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "DELETE FROM cats WHERE name='Growler'"; + $result = $pdo->query($query); +?> diff --git a/11/14.php b/11/14.php new file mode 100644 index 0000000..1a7d7f4 --- /dev/null +++ b/11/14.php @@ -0,0 +1,17 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "INSERT INTO cats VALUES(NULL, 'Lynx', 'Stumpy', 5)"; + $result = $pdo->query($query); + + echo "The Insert ID was: " . $pdo->lastInsertId(); +?> diff --git a/11/15.php b/11/15.php new file mode 100644 index 0000000..a51ff7e --- /dev/null +++ b/11/15.php @@ -0,0 +1,32 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "SELECT * FROM customers"; + $result = $pdo->query($query); + + while ($row = $result->fetch()) + { + $custname = htmlspecialchars($row['name']); + $custisbn = htmlspecialchars($row['isbn']); + + echo "$custname purchased ISBN $custisbn:
"; + + $subquery = "SELECT * FROM classics WHERE isbn='$custisbn'"; + $subresult = $pdo->query($subquery); + $subrow = $subresult->fetch(); + + $custbook = htmlspecialchars($subrow['title']); + $custauth = htmlspecialchars($subrow['author']); + + echo "   '$custbook' by $custauth

"; + } +?> diff --git a/11/16.php b/11/16.php new file mode 100644 index 0000000..3b569d8 --- /dev/null +++ b/11/16.php @@ -0,0 +1,7 @@ +quote($string); + } +?> diff --git a/11/17.php b/11/17.php new file mode 100644 index 0000000..f3d0bd6 --- /dev/null +++ b/11/17.php @@ -0,0 +1,24 @@ +getMessage(), (int)$e->getCode()); + } + + $user = mysql_fix_string($pdo, $_POST['user']); + $pass = mysql_fix_string($pdo, $_POST['pass']); + $query = "SELECT * FROM users WHERE user=$user AND pass=$pass"; + + // Etc... + + function mysql_fix_string($pdo, $string) + { + if (get_magic_quotes_gpc()) $string = stripslashes($string); + return $pdo->quote($string); + } +?> diff --git a/11/18.sql b/11/18.sql new file mode 100644 index 0000000..9aa95c9 --- /dev/null +++ b/11/18.sql @@ -0,0 +1,10 @@ +PREPARE statement FROM "INSERT INTO classics VALUES(?,?,?,?,?)"; + +SET @author = "Emily Brontë", + @title = "Wuthering Heights", + @category = "Classic Fiction", + @year = "1847", + @isbn = "9780553212587"; + +EXECUTE statement USING @author,@title,@category,@year,@isbn; +DEALLOCATE PREPARE statement; diff --git a/11/19.php b/11/19.php new file mode 100644 index 0000000..2451208 --- /dev/null +++ b/11/19.php @@ -0,0 +1,28 @@ +getMessage(), (int)$e->getCode()); + } + + $stmt = $pdo->prepare('INSERT INTO classics VALUES(?,?,?,?,?)'); + $stmt->bindParam(1, $author, PDO::PARAM_STR, 128); + $stmt->bindParam(2, $title, PDO::PARAM_STR, 128); + $stmt->bindParam(3, $category, PDO::PARAM_STR, 16 ); + $stmt->bindParam(4, $year, PDO::PARAM_INT ); + $stmt->bindParam(5, $isbn, PDO::PARAM_STR, 13 ); + + $author = 'Emily Brontë'; + $title = 'Wuthering Heights'; + $category = 'Classic Fiction'; + $year = '1847'; + $isbn = '9780553212587'; + + $stmt->execute([$author, $title, $category, $year, $isbn]); + printf("%d Row inserted.\n", $stmt->rowCount()); +?> diff --git a/11/20.php b/11/20.php new file mode 100644 index 0000000..68da3e0 --- /dev/null +++ b/11/20.php @@ -0,0 +1,12 @@ +real_escape_string($string); + } +?> diff --git a/11/21.php b/11/21.php new file mode 100644 index 0000000..b8c09b9 --- /dev/null +++ b/11/21.php @@ -0,0 +1,29 @@ +getMessage(), (int)$e->getCode()); + } + + $user = mysql_entities_fix_string($pdo, $_POST['user']); + $pass = mysql_entities_fix_string($pdo, $_POST['pass']); + $query = "SELECT * FROM users WHERE user='$user' AND pass='$pass'"; + + //Etc… + + function mysql_entities_fix_string($pdo, $string) + { + return htmlentities(mysql_fix_string($pdo, $string)); + } + + function mysql_fix_string($pdo, $string) + { + if (get_magic_quotes_gpc()) $string = stripslashes($string); + return $pdo->quote($string); + } +?> diff --git a/11/login.php b/11/login.php new file mode 100644 index 0000000..31a2bed --- /dev/null +++ b/11/login.php @@ -0,0 +1,14 @@ + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, + PDO::ATTR_EMULATE_PREPARES => false, + ]; +?> diff --git a/11/sqltest.php b/11/sqltest.php new file mode 100644 index 0000000..4676b6b --- /dev/null +++ b/11/sqltest.php @@ -0,0 +1,78 @@ +getMessage(), (int)$e->getCode()); + } + + if (isset($_POST['delete']) && isset($_POST['isbn'])) + { + $isbn = get_post($pdo, 'isbn'); + $query = "DELETE FROM classics WHERE isbn=$isbn"; + $result = $pdo->query($query); + } + + if (isset($_POST['author']) && + isset($_POST['title']) && + isset($_POST['category']) && + isset($_POST['year']) && + isset($_POST['isbn'])) + { + $author = get_post($pdo, 'author'); + $title = get_post($pdo, 'title'); + $category = get_post($pdo, 'category'); + $year = get_post($pdo, 'year'); + $isbn = get_post($pdo, 'isbn'); + + $query = "INSERT INTO classics VALUES" . + "($author, $title, $category, $year, $isbn)"; + $result = $pdo->query($query); + } + + echo <<<_END +
+    Author 
+     Title 
+  Category 
+      Year 
+      ISBN 
+           
+  
+_END; + + $query = "SELECT * FROM classics"; + $result = $pdo->query($query); + + while ($row = $result->fetch()) + { + $r0 = htmlspecialchars($row['author']); + $r1 = htmlspecialchars($row['title']); + $r2 = htmlspecialchars($row['category']); + $r3 = htmlspecialchars($row['year']); + $r4 = htmlspecialchars($row['isbn']); + + echo <<<_END +
+    Author $r0
+     Title $r1
+  Category $r2
+      Year $r3
+      ISBN $r4
+  
+
+ + +
+_END; + } + + function get_post($pdo, $var) + { + return $pdo->quote($_POST[$var]); + } +?> \ No newline at end of file diff --git a/12/01.php b/12/01.php new file mode 100644 index 0000000..c6c8265 --- /dev/null +++ b/12/01.php @@ -0,0 +1,16 @@ + + + Form Test + + +
+ What is your name? + + +
+ + +_END; +?> diff --git a/12/02.php b/12/02.php new file mode 100644 index 0000000..e827d3a --- /dev/null +++ b/12/02.php @@ -0,0 +1,20 @@ + + + Form Test + + + Your name is: $name
+
+ What is your name? + + +
+ + +_END; +?> diff --git a/12/03.html b/12/03.html new file mode 100644 index 0000000..6dc9882 --- /dev/null +++ b/12/03.html @@ -0,0 +1,7 @@ +
+      Loan Amount 
+Monthly Repayment 
+  Number of Years 
+    Interest Rate 
+                  
+
diff --git a/12/04.html b/12/04.html new file mode 100644 index 0000000..6f25e5d --- /dev/null +++ b/12/04.html @@ -0,0 +1,4 @@ + Vanilla + Chocolate +Strawberry + diff --git a/12/05.html b/12/05.html new file mode 100644 index 0000000..11f4c78 --- /dev/null +++ b/12/05.html @@ -0,0 +1,3 @@ + Vanilla + Chocolate +Strawberry diff --git a/12/06.html b/12/06.html new file mode 100644 index 0000000..b9ffcf3 --- /dev/null +++ b/12/06.html @@ -0,0 +1,3 @@ +8am-Noon +Noon-4pm + 4pm-8pm \ No newline at end of file diff --git a/12/07.html b/12/07.html new file mode 100644 index 0000000..a73c024 --- /dev/null +++ b/12/07.html @@ -0,0 +1,8 @@ +Vegetables + diff --git a/12/08.html b/12/08.html new file mode 100644 index 0000000..b3f51d8 --- /dev/null +++ b/12/08.html @@ -0,0 +1,8 @@ +Vegetables + diff --git a/12/09.php b/12/09.php new file mode 100644 index 0000000..eff3597 --- /dev/null +++ b/12/09.php @@ -0,0 +1,17 @@ +quote($var); + $var = sanitizeString($var); + return $var; + } +?> diff --git a/12/10.php b/12/10.php new file mode 100644 index 0000000..8d1dc6d --- /dev/null +++ b/12/10.php @@ -0,0 +1,47 @@ + + + Temperature Converter + + +
+      Enter either Fahrenheit or Celsius and click on Convert
+        
+      $out
+      
+ Fahrenheit + Celsius + +
+
+ + +_END; + +function sanitizeString($var) +{ + if (get_magic_quotes_gpc()) + $var = stripslashes($var); + $var = htmlentities($var); + $var = strip_tags($var); + return $var; +} +?> \ No newline at end of file diff --git a/12/convert.php b/12/convert.php new file mode 100644 index 0000000..8d1dc6d --- /dev/null +++ b/12/convert.php @@ -0,0 +1,47 @@ + + + Temperature Converter + + +
+      Enter either Fahrenheit or Celsius and click on Convert
+        
+      $out
+      
+ Fahrenheit + Celsius + +
+
+ + +_END; + +function sanitizeString($var) +{ + if (get_magic_quotes_gpc()) + $var = stripslashes($var); + $var = htmlentities($var); + $var = strip_tags($var); + return $var; +} +?> \ No newline at end of file diff --git a/12/formtest.php b/12/formtest.php new file mode 100644 index 0000000..c6c8265 --- /dev/null +++ b/12/formtest.php @@ -0,0 +1,16 @@ + + + Form Test + + +
+ What is your name? + + +
+ + +_END; +?> diff --git a/12/formtest2.php b/12/formtest2.php new file mode 100644 index 0000000..b3a17a2 --- /dev/null +++ b/12/formtest2.php @@ -0,0 +1,20 @@ + + + Form Test + + + Your name is: $name
+
+ What is your name? + + +
+ + +_END; +?> diff --git a/13/01.php b/13/01.php new file mode 100644 index 0000000..79bc532 --- /dev/null +++ b/13/01.php @@ -0,0 +1,14 @@ + diff --git a/13/02.php b/13/02.php new file mode 100644 index 0000000..e938e98 --- /dev/null +++ b/13/02.php @@ -0,0 +1,19 @@ + diff --git a/13/03.php b/13/03.php new file mode 100644 index 0000000..88b6688 --- /dev/null +++ b/13/03.php @@ -0,0 +1,49 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "CREATE TABLE users ( + forename VARCHAR(32) NOT NULL, + surname VARCHAR(32) NOT NULL, + username VARCHAR(32) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL + )"; + + $result = $pdo->query($query); + + $forename = 'Bill'; + $surname = 'Smith'; + $username = 'bsmith'; + $password = 'mysecret'; + $hash = password_hash($password, PASSWORD_DEFAULT); + + add_user($pdo, $forename, $surname, $username, $hash); + + $forename = 'Pauline'; + $surname = 'Jones'; + $username = 'pjones'; + $password = 'acrobat'; + $hash = password_hash($password, PASSWORD_DEFAULT); + + add_user($pdo, $forename, $surname, $username, $hash); + + function add_user($pdo, $fn, $sn, $un, $pw) + { + $stmt = $pdo->prepare('INSERT INTO users VALUES(?,?,?,?)'); + + $stmt->bindParam(1, $fn, PDO::PARAM_STR, 32); + $stmt->bindParam(2, $sn, PDO::PARAM_STR, 32); + $stmt->bindParam(3, $un, PDO::PARAM_STR, 32); + $stmt->bindParam(4, $pw, PDO::PARAM_STR, 255); + + $stmt->execute([$fn, $sn, $un, $pw]); + } +?> diff --git a/13/04.php b/13/04.php new file mode 100644 index 0000000..2bfe117 --- /dev/null +++ b/13/04.php @@ -0,0 +1,46 @@ +getMessage(), (int)$e->getCode()); + } + + if (isset($_SERVER['PHP_AUTH_USER']) && + isset($_SERVER['PHP_AUTH_PW'])) + { + $un_temp = sanitise($pdo, $_SERVER['PHP_AUTH_USER']); + $pw_temp = sanitise($pdo, $_SERVER['PHP_AUTH_PW']); + $query = "SELECT * FROM users WHERE username=$un_temp"; + $result = $pdo->query($query); + + if (!$result->rowCount()) die("User not found"); + + $row = $result->fetch(); + $fn = $row['forename']; + $sn = $row['surname']; + $un = $row['username']; + $pw = $row['password']; + + if (password_verify(str_replace("'", "", $pw_temp), $pw)) + echo htmlspecialchars("$fn $sn : Hi $fn, + you are now logged in as '$un'"); + else die("Invalid username/password combination"); + } + else + { + header('WWW-Authenticate: Basic realm="Restricted Area"'); + header('HTTP/1.0 401 Unauthorized'); + die ("Please enter your username and password"); + } + + function sanitise($pdo, $str) + { + $str = htmlentities($str); + return $pdo->quote($str); + } +?> diff --git a/13/05.php b/13/05.php new file mode 100644 index 0000000..306745d --- /dev/null +++ b/13/05.php @@ -0,0 +1,54 @@ +getMessage(), (int)$e->getCode()); + } + + if (isset($_SERVER['PHP_AUTH_USER']) && + isset($_SERVER['PHP_AUTH_PW'])) + { + $un_temp = sanitise($pdo, $_SERVER['PHP_AUTH_USER']); + $pw_temp = sanitise($pdo, $_SERVER['PHP_AUTH_PW']); + $query = "SELECT * FROM users WHERE username=$un_temp"; + $result = $pdo->query($query); + + if (!$result->rowCount()) die("User not found"); + + $row = $result->fetch(); + $fn = $row['forename']; + $sn = $row['surname']; + $un = $row['username']; + $pw = $row['password']; + + if (password_verify(str_replace("'", "", $pw_temp), $pw)) + { + session_start(); + + $_SESSION['forename'] = $fn; + $_SESSION['surname'] = $sn; + + echo htmlspecialchars("$fn $sn : Hi $fn, + you are now logged in as '$un'"); + die ("

Click here to continue

"); + } + else die("Invalid username/password combination"); + } + else + { + header('WWW-Authenticate: Basic realm="Restricted Area"'); + header('HTTP/1.0 401 Unauthorized'); + die ("Please enter your username and password"); + } + + function sanitise($pdo, $str) + { + $str = htmlentities($str); + return $pdo->quote($str); + } +?> diff --git a/13/06.php b/13/06.php new file mode 100644 index 0000000..225021b --- /dev/null +++ b/13/06.php @@ -0,0 +1,13 @@ + + Your full name is $forename $surname.
"; + } + else echo "Please Click Here to log in."; +?> diff --git a/13/07.php b/13/07.php new file mode 100644 index 0000000..ef6ebba --- /dev/null +++ b/13/07.php @@ -0,0 +1,9 @@ + diff --git a/13/08.php b/13/08.php new file mode 100644 index 0000000..baf89e1 --- /dev/null +++ b/13/08.php @@ -0,0 +1,23 @@ +"; + echo htmlspecialchars("Your full name is $forename $surname."); + } + else echo "Please click here to log in."; + + function destroy_session_and_data() + { + $_SESSION = array(); + setcookie(session_name(), '', time() - 2592000, '/'); + session_destroy(); + } +?> diff --git a/13/09.php b/13/09.php new file mode 100644 index 0000000..85a20da --- /dev/null +++ b/13/09.php @@ -0,0 +1,8 @@ + diff --git a/13/10.php b/13/10.php new file mode 100644 index 0000000..3c08dd0 --- /dev/null +++ b/13/10.php @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/13/authenticate.php b/13/authenticate.php new file mode 100644 index 0000000..8eebff8 --- /dev/null +++ b/13/authenticate.php @@ -0,0 +1,45 @@ +getMessage(), (int)$e->getCode()); + } + + if (isset($_SERVER['PHP_AUTH_USER']) && + isset($_SERVER['PHP_AUTH_PW'])) + { + $un_temp = sanitise($pdo, $_SERVER['PHP_AUTH_USER']); + $pw_temp = sanitise($pdo, $_SERVER['PHP_AUTH_PW']); + $query = "SELECT * FROM users WHERE username=$un_temp"; + $result = $pdo->query($query); + + if (!$result->rowCount()) die("User not found"); + + $row = $result->fetch(); + $fn = $row['forename']; + $sn = $row['surname']; + $un = $row['username']; + $pw = $row['password']; + + if (password_verify(str_replace("'", "", $pw_temp), $pw)) + echo htmlspecialchars("$fn $sn : Hi $fn, you are now logged in as '$un'"); + else die("Invalid username/password combination"); + } + else + { + header('WWW-Authenticate: Basic realm="Restricted Area"'); + header('HTTP/1.0 401 Unauthorized'); + die ("Please enter your username and password"); + } + + function sanitise($pdo, $str) + { + $str = htmlentities($str); + return $pdo->quote($str); + } +?> diff --git a/13/authenticate2.php b/13/authenticate2.php new file mode 100644 index 0000000..306745d --- /dev/null +++ b/13/authenticate2.php @@ -0,0 +1,54 @@ +getMessage(), (int)$e->getCode()); + } + + if (isset($_SERVER['PHP_AUTH_USER']) && + isset($_SERVER['PHP_AUTH_PW'])) + { + $un_temp = sanitise($pdo, $_SERVER['PHP_AUTH_USER']); + $pw_temp = sanitise($pdo, $_SERVER['PHP_AUTH_PW']); + $query = "SELECT * FROM users WHERE username=$un_temp"; + $result = $pdo->query($query); + + if (!$result->rowCount()) die("User not found"); + + $row = $result->fetch(); + $fn = $row['forename']; + $sn = $row['surname']; + $un = $row['username']; + $pw = $row['password']; + + if (password_verify(str_replace("'", "", $pw_temp), $pw)) + { + session_start(); + + $_SESSION['forename'] = $fn; + $_SESSION['surname'] = $sn; + + echo htmlspecialchars("$fn $sn : Hi $fn, + you are now logged in as '$un'"); + die ("

Click here to continue

"); + } + else die("Invalid username/password combination"); + } + else + { + header('WWW-Authenticate: Basic realm="Restricted Area"'); + header('HTTP/1.0 401 Unauthorized'); + die ("Please enter your username and password"); + } + + function sanitise($pdo, $str) + { + $str = htmlentities($str); + return $pdo->quote($str); + } +?> diff --git a/13/continue.php b/13/continue.php new file mode 100644 index 0000000..225021b --- /dev/null +++ b/13/continue.php @@ -0,0 +1,13 @@ + + Your full name is $forename $surname.
"; + } + else echo "Please Click Here to log in."; +?> diff --git a/13/continue2.php b/13/continue2.php new file mode 100644 index 0000000..baf89e1 --- /dev/null +++ b/13/continue2.php @@ -0,0 +1,23 @@ +"; + echo htmlspecialchars("Your full name is $forename $surname."); + } + else echo "Please click here to log in."; + + function destroy_session_and_data() + { + $_SESSION = array(); + setcookie(session_name(), '', time() - 2592000, '/'); + session_destroy(); + } +?> diff --git a/13/javascript-cookies.htm b/13/javascript-cookies.htm new file mode 100644 index 0000000..bf2063c --- /dev/null +++ b/13/javascript-cookies.htm @@ -0,0 +1,46 @@ + + + + Using JavaScript Cookies + + + +

The first time this page loads no cookie should have been set and the alert window should show that the cookie with the name test has the value false (meaning it is not set).

+

After you click OK a value is assigned to the cookie test. To see this new cookie's value click Reload.

+ + + diff --git a/13/login.php b/13/login.php new file mode 100644 index 0000000..31a2bed --- /dev/null +++ b/13/login.php @@ -0,0 +1,14 @@ + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, + PDO::ATTR_EMULATE_PREPARES => false, + ]; +?> diff --git a/13/php-cookies.php b/13/php-cookies.php new file mode 100644 index 0000000..3d56086 --- /dev/null +++ b/13/php-cookies.php @@ -0,0 +1,16 @@ + + + + Using Cookies + + +

The first time this page loads no cookie should have been set and the message below should show that the cookie with the name test has the value false (meaning it is not set).

+

But then a value is assigned to the cookie test. To see this new cookie's value click Reload.

+ The value of the cookie 'test' is: $test

"; + setcookie('test', 'I love cookies'); + ?> + + diff --git a/13/sessiontest.php b/13/sessiontest.php new file mode 100644 index 0000000..85a20da --- /dev/null +++ b/13/sessiontest.php @@ -0,0 +1,8 @@ + diff --git a/13/setupusers.php b/13/setupusers.php new file mode 100644 index 0000000..88b6688 --- /dev/null +++ b/13/setupusers.php @@ -0,0 +1,49 @@ +getMessage(), (int)$e->getCode()); + } + + $query = "CREATE TABLE users ( + forename VARCHAR(32) NOT NULL, + surname VARCHAR(32) NOT NULL, + username VARCHAR(32) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL + )"; + + $result = $pdo->query($query); + + $forename = 'Bill'; + $surname = 'Smith'; + $username = 'bsmith'; + $password = 'mysecret'; + $hash = password_hash($password, PASSWORD_DEFAULT); + + add_user($pdo, $forename, $surname, $username, $hash); + + $forename = 'Pauline'; + $surname = 'Jones'; + $username = 'pjones'; + $password = 'acrobat'; + $hash = password_hash($password, PASSWORD_DEFAULT); + + add_user($pdo, $forename, $surname, $username, $hash); + + function add_user($pdo, $fn, $sn, $un, $pw) + { + $stmt = $pdo->prepare('INSERT INTO users VALUES(?,?,?,?)'); + + $stmt->bindParam(1, $fn, PDO::PARAM_STR, 32); + $stmt->bindParam(2, $sn, PDO::PARAM_STR, 32); + $stmt->bindParam(3, $un, PDO::PARAM_STR, 32); + $stmt->bindParam(4, $pw, PDO::PARAM_STR, 255); + + $stmt->execute([$fn, $sn, $un, $pw]); + } +?> diff --git a/14/01.html b/14/01.html new file mode 100644 index 0000000..d388764 --- /dev/null +++ b/14/01.html @@ -0,0 +1,11 @@ + + Hello World + + + + + diff --git a/14/02.html b/14/02.html new file mode 100644 index 0000000..457b38b --- /dev/null +++ b/14/02.html @@ -0,0 +1,9 @@ + + Hello World + + + + diff --git a/14/03.html b/14/03.html new file mode 100644 index 0000000..791aed6 --- /dev/null +++ b/14/03.html @@ -0,0 +1,8 @@ + + Hello World + + + + diff --git a/14/04 - 07.txt b/14/04 - 07.txt new file mode 100644 index 0000000..3e99333 --- /dev/null +++ b/14/04 - 07.txt @@ -0,0 +1 @@ +Examples 04 to 07 are non-runnable illustrations of error messages \ No newline at end of file diff --git a/14/05.js b/14/05.js new file mode 100644 index 0000000..14f3914 --- /dev/null +++ b/14/05.js @@ -0,0 +1,6 @@ + diff --git a/14/08.js b/14/08.js new file mode 100644 index 0000000..5e11f3f --- /dev/null +++ b/14/08.js @@ -0,0 +1,10 @@ + diff --git a/14/09.js b/14/09.js new file mode 100644 index 0000000..541b387 --- /dev/null +++ b/14/09.js @@ -0,0 +1,6 @@ + diff --git a/14/10.js b/14/10.js new file mode 100644 index 0000000..211d1d9 --- /dev/null +++ b/14/10.js @@ -0,0 +1,8 @@ + diff --git a/14/11.js b/14/11.js new file mode 100644 index 0000000..9408467 --- /dev/null +++ b/14/11.js @@ -0,0 +1,16 @@ + + diff --git a/14/12.html b/14/12.html new file mode 100644 index 0000000..17cd59f --- /dev/null +++ b/14/12.html @@ -0,0 +1,12 @@ + + + Link Test + + + Click me
+ + + diff --git a/14/13.js b/14/13.js new file mode 100644 index 0000000..cdbb26b --- /dev/null +++ b/14/13.js @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/15/01.html b/15/01.html new file mode 100644 index 0000000..7ee8f8a --- /dev/null +++ b/15/01.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/15/02.html b/15/02.html new file mode 100644 index 0000000..3c65b71 --- /dev/null +++ b/15/02.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/15/03.html b/15/03.html new file mode 100644 index 0000000..0fb0cd6 --- /dev/null +++ b/15/03.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/15/04.html b/15/04.html new file mode 100644 index 0000000..297263b --- /dev/null +++ b/15/04.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/15/05.html b/15/05.html new file mode 100644 index 0000000..f0e0d84 --- /dev/null +++ b/15/05.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/15/06.html b/15/06.html new file mode 100644 index 0000000..8a99311 --- /dev/null +++ b/15/06.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/15/07.html b/15/07.html new file mode 100644 index 0000000..4d2b922 --- /dev/null +++ b/15/07.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/15/08.html b/15/08.html new file mode 100644 index 0000000..6649110 --- /dev/null +++ b/15/08.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/15/09.html b/15/09.html new file mode 100644 index 0000000..59046d7 --- /dev/null +++ b/15/09.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/15/10.html b/15/10.html new file mode 100644 index 0000000..13b52dd --- /dev/null +++ b/15/10.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/15/11.html b/15/11.html new file mode 100644 index 0000000..6368d00 --- /dev/null +++ b/15/11.html @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/15/12.html b/15/12.html new file mode 100644 index 0000000..d23265f --- /dev/null +++ b/15/12.html @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/15/13.html b/15/13.html new file mode 100644 index 0000000..2348efd --- /dev/null +++ b/15/13.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/15/14.html b/15/14.html new file mode 100644 index 0000000..e152608 --- /dev/null +++ b/15/14.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/15/15.html b/15/15.html new file mode 100644 index 0000000..87f314d --- /dev/null +++ b/15/15.html @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/15/16.html b/15/16.html new file mode 100644 index 0000000..fe7f605 --- /dev/null +++ b/15/16.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/15/17.html b/15/17.html new file mode 100644 index 0000000..944079e --- /dev/null +++ b/15/17.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/15/18.html b/15/18.html new file mode 100644 index 0000000..867e5b4 --- /dev/null +++ b/15/18.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/15/19.html b/15/19.html new file mode 100644 index 0000000..c017c37 --- /dev/null +++ b/15/19.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/15/20.html b/15/20.html new file mode 100644 index 0000000..e213a5d --- /dev/null +++ b/15/20.html @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/15/21.html b/15/21.html new file mode 100644 index 0000000..a1abd31 --- /dev/null +++ b/15/21.html @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/16/01.html b/16/01.html new file mode 100644 index 0000000..1ca98ac --- /dev/null +++ b/16/01.html @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/16/02.html b/16/02.html new file mode 100644 index 0000000..24f1ca1 --- /dev/null +++ b/16/02.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/16/03.html b/16/03.html new file mode 100644 index 0000000..5b0e681 --- /dev/null +++ b/16/03.html @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/16/04.html b/16/04.html new file mode 100644 index 0000000..57e383c --- /dev/null +++ b/16/04.html @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/16/05.html b/16/05.html new file mode 100644 index 0000000..5804c61 --- /dev/null +++ b/16/05.html @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/16/06.html b/16/06.html new file mode 100644 index 0000000..7e252ac --- /dev/null +++ b/16/06.html @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/16/07.html b/16/07.html new file mode 100644 index 0000000..766f698 --- /dev/null +++ b/16/07.html @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/16/08.html b/16/08.html new file mode 100644 index 0000000..6da0193 --- /dev/null +++ b/16/08.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/16/09.html b/16/09.html new file mode 100644 index 0000000..63d1467 --- /dev/null +++ b/16/09.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/16/10.html b/16/10.html new file mode 100644 index 0000000..66474c2 --- /dev/null +++ b/16/10.html @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/16/11.html b/16/11.html new file mode 100644 index 0000000..cdca078 --- /dev/null +++ b/16/11.html @@ -0,0 +1,10 @@ + diff --git a/16/12.html b/16/12.html new file mode 100644 index 0000000..d9c617b --- /dev/null +++ b/16/12.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/16/13.html b/16/13.html new file mode 100644 index 0000000..780aacb --- /dev/null +++ b/16/13.html @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/16/14.html b/16/14.html new file mode 100644 index 0000000..4f799fb --- /dev/null +++ b/16/14.html @@ -0,0 +1,23 @@ + diff --git a/16/15.html b/16/15.html new file mode 100644 index 0000000..7b188a4 --- /dev/null +++ b/16/15.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/16/16.html b/16/16.html new file mode 100644 index 0000000..c05bf32 --- /dev/null +++ b/16/16.html @@ -0,0 +1,21 @@ + diff --git a/17/01.html b/17/01.html new file mode 100644 index 0000000..53a9df6 --- /dev/null +++ b/17/01.html @@ -0,0 +1,98 @@ + + + + An Example Form + + + + + + + + + + + + + + + + + + + + + + +
Signup Form
Forename
Surname
Username
Password
Age
Email
+ + diff --git a/17/02.js b/17/02.js new file mode 100644 index 0000000..a3406fc --- /dev/null +++ b/17/02.js @@ -0,0 +1,48 @@ +function validateForename(field) +{ + return (field == "") ? "No Forename was entered.\n" : "" +} + +function validateSurname(field) +{ + return (field == "") ? "No Surname was entered.\n" : "" +} + +function validateUsername(field) +{ + if (field == "") return "No Username was entered.\n" + else if (field.length < 5) + return "Usernames must be at least 5 characters.\n" + else if (/[^a-zA-Z0-9_-]/.test(field)) + return "Only a-z, A-Z, 0-9, - and _ allowed in Usernames.\n" + return "" +} + +function validatePassword(field) +{ + if (field == "") return "No Password was entered.\n" + else if (field.length < 6) + return "Passwords must be at least 6 characters.\n" + else if (!/[a-z]/.test(field) || ! /[A-Z]/.test(field) || + !/[0-9]/.test(field)) + return "Passwords require one each of a-z, A-Z and 0-9.\n" + return "" +} + +function validateAge(field) +{ + if (field == "" || isNaN(field)) return "No Age was entered.\n" + else if (field < 18 || field > 110) + return "Age must be between 18 and 110.\n" + return "" +} + +function validateEmail(field) +{ + if (field == "") return "No Email was entered.\n" + else if (!((field.indexOf(".") > 0) && + (field.indexOf("@") > 0)) || + /[^a-zA-Z0-9.@_-]/.test(field)) + return "The Email address is invalid.\n" + return "" +} diff --git a/17/03.php b/17/03.php new file mode 100644 index 0000000..2fc4293 --- /dev/null +++ b/17/03.php @@ -0,0 +1,203 @@ +\nAn Example Form"; + + if ($fail == "") + { + echo "Form data successfully validated: + $forename, $surname, $username, $password, $age, $email."; + + // This is where you would enter the posted fields into a database, + // preferably using hash encryption for the password. + + exit; + } + + echo <<<_END + + + + + + + + + + + + + + + + + + + + + + + +
Signup Form
Sorry, the following errors were found
+ in your form:

$fail

+
Forename +
Surname +
Username +
Password +
Age +
Email +
+ + + +_END; + + // The PHP functions + + function validate_forename($field) + { + return ($field == "") ? "No Forename was entered
": ""; + } + + function validate_surname($field) + { + return($field == "") ? "No Surname was entered
" : ""; + } + + function validate_username($field) + { + if ($field == "") return "No Username was entered
"; + else if (strlen($field) < 5) + return "Usernames must be at least 5 characters
"; + else if (preg_match("/[^a-zA-Z0-9_-]/", $field)) + return "Only letters, numbers, - and _ in usernames
"; + return ""; + } + + function validate_password($field) + { + if ($field == "") return "No Password was entered
"; + else if (strlen($field) < 6) + return "Passwords must be at least 6 characters
"; + else if (!preg_match("/[a-z]/", $field) || + !preg_match("/[A-Z]/", $field) || + !preg_match("/[0-9]/", $field)) + return "Passwords require 1 each of a-z, A-Z and 0-9
"; + return ""; + } + + function validate_age($field) + { + if ($field == "") return "No Age was entered
"; + else if ($field < 18 || $field > 110) + return "Age must be between 18 and 110
"; + return ""; + } + + function validate_email($field) + { + if ($field == "") return "No Email was entered
"; + else if (!((strpos($field, ".") > 0) && + (strpos($field, "@") > 0)) || + preg_match("/[^a-zA-Z0-9.@_-]/", $field)) + return "The Email address is invalid
"; + return ""; + } + + function fix_string($string) + { + if (get_magic_quotes_gpc()) $string = stripslashes($string); + return htmlentities ($string); + } +?> diff --git a/18/01.js b/18/01.js new file mode 100644 index 0000000..9fcebc8 --- /dev/null +++ b/18/01.js @@ -0,0 +1,28 @@ + diff --git a/18/02.html b/18/02.html new file mode 100644 index 0000000..6b1b76c --- /dev/null +++ b/18/02.html @@ -0,0 +1,65 @@ + + + + Asynchronous Communication Example + + +

Loading a web page into a DIV

+
This sentence will be replaced
+ + + + \ No newline at end of file diff --git a/18/03.php b/18/03.php new file mode 100644 index 0000000..08b0787 --- /dev/null +++ b/18/03.php @@ -0,0 +1,13 @@ + diff --git a/18/04.html b/18/04.html new file mode 100644 index 0000000..432553c --- /dev/null +++ b/18/04.html @@ -0,0 +1,62 @@ + + + + Asynchronous Communication Example + + +

Loading a web page into a DIV

+
This sentence will be replaced
+ + + + \ No newline at end of file diff --git a/18/05.php b/18/05.php new file mode 100644 index 0000000..801381d --- /dev/null +++ b/18/05.php @@ -0,0 +1,13 @@ + diff --git a/18/06.php b/18/06.php new file mode 100644 index 0000000..3889454 --- /dev/null +++ b/18/06.php @@ -0,0 +1,14 @@ + diff --git a/18/07.html b/18/07.html new file mode 100644 index 0000000..37d0bdd --- /dev/null +++ b/18/07.html @@ -0,0 +1,70 @@ + + + + Asynchronous Communication Example + + +

Loading XML data into a DIV

+
This sentence will be replaced
+ + + + diff --git a/18/08.xml b/18/08.xml new file mode 100644 index 0000000..06867b8 --- /dev/null +++ b/18/08.xml @@ -0,0 +1,19 @@ + + + + RSS Feed + http://website.com + website.com's RSS Feed + Mon, 11 May 2020 00:00:00 GMT + + Headline + http://website.com/headline + This is a headline + + + Headline 2 + http://website.com/headline2 + The 2nd headline + + + diff --git a/18/urlget.php b/18/urlget.php new file mode 100644 index 0000000..174e87a --- /dev/null +++ b/18/urlget.php @@ -0,0 +1,14 @@ + diff --git a/18/urlpost.php b/18/urlpost.php new file mode 100644 index 0000000..e5247e2 --- /dev/null +++ b/18/urlpost.php @@ -0,0 +1,13 @@ + diff --git a/19/01.html b/19/01.html new file mode 100644 index 0000000..3802ad5 --- /dev/null +++ b/19/01.html @@ -0,0 +1,16 @@ + + + + Hello World + + + +

Hello there

+ + diff --git a/19/02.html b/19/02.html new file mode 100644 index 0000000..e8b0878 --- /dev/null +++ b/19/02.html @@ -0,0 +1,24 @@ + + + + Div and span example + + + +
This text is within a div tag
+ This isn't.
And this is again.

+ + This text is inside a span tag. + This isn't. And this is again.

+ +
This is a larger amount of text in a div that wraps around + to the next line of the browser

+ + This is a larger amount of text in a span that wraps around + to the next line of the browser + + diff --git a/19/03.html b/19/03.html new file mode 100644 index 0000000..f2c1ff5 --- /dev/null +++ b/19/03.html @@ -0,0 +1,19 @@ + + + + Creating a linear gradient + + + +
Black text
+ on an orange
linear gradient
+ + diff --git a/19/04.html b/19/04.html new file mode 100644 index 0000000..f529368 --- /dev/null +++ b/19/04.html @@ -0,0 +1,45 @@ + + + + Positioning + + + +




+
+
Absolute Positioning
+
Relative Positioning
+
Fixed Positioning
+
+ + diff --git a/19/05.html b/19/05.html new file mode 100644 index 0000000..68daa19 --- /dev/null +++ b/19/05.html @@ -0,0 +1,18 @@ + + + + Pseudo classes + + + + Link to Google'
+ Link to nowhere'
+ + + diff --git a/19/06.html b/19/06.html new file mode 100644 index 0000000..4669311 --- /dev/null +++ b/19/06.html @@ -0,0 +1,33 @@ + + + + Margins + + + + + + + +
+
margin:
10px 20px 30px 40px;
+
+ + diff --git a/19/07.html b/19/07.html new file mode 100644 index 0000000..754a0fb --- /dev/null +++ b/19/07.html @@ -0,0 +1,26 @@ + + + + Padding + + + +
To be, or not to be that is the question: + Whether 'tis Nobler in the mind to suffer + The Slings and Arrows of outrageous Fortune, + Or to take Arms against a Sea of troubles, + And by opposing end them.
+ + diff --git a/20/01.html b/20/01.html new file mode 100644 index 0000000..5acfa37 --- /dev/null +++ b/20/01.html @@ -0,0 +1,34 @@ + + + + CSS3 Multiple Backgrounds Example + + + +
+

Employee of the month

+

Awarded To:

+

__________________

+

Date:

+

___/___/_____

+
+ + diff --git a/20/02.html b/20/02.html new file mode 100644 index 0000000..d6b8c81 --- /dev/null +++ b/20/02.html @@ -0,0 +1,79 @@ + + + + CSS3 Border Radius Examples + + + +
+ border-radius:40px; +
+ +
+ border-radius:40px 40px 20px 20px; +
+ +
+ border-top-left-radius    :20px;
+ border-top-right-radius   :40px;
+ border-bottom-left-radius :60px;
+ border-bottom-right-radius:80px; +
+ +
+ border-top-left-radius    :40px 20px;
+ border-top-right-radius   :40px 20px;
+ border-bottom-left-radius :20px 40px;
+ border-bottom-right-radius:20px 40px; +
+ + diff --git a/20/03.html b/20/03.html new file mode 100644 index 0000000..e2722a2 --- /dev/null +++ b/20/03.html @@ -0,0 +1,38 @@ + + + + Multiple Columns + + + +
+ Now is the winter of our discontent + Made glorious summer by this sun of York; + And all the clouds that lour'd upon our house + In the deep bosom of the ocean buried. + Now are our brows bound with victorious wreaths; + Our bruised arms hung up for monuments; + Our stern alarums changed to merry meetings, + Our dreadful marches to delightful measures. + Grim-visaged war hath smooth'd his wrinkled front; + And now, instead of mounting barded steeds + To fright the souls of fearful adversaries, + He capers nimbly in a lady's chamber + To the lascivious pleasing of a lute. +
+ + diff --git a/20/04.html b/20/04.html new file mode 100644 index 0000000..466355d --- /dev/null +++ b/20/04.html @@ -0,0 +1,42 @@ + + + + Transitioning on hover + + + +
+ Square shape
+ created using
+ a simple div
+ element with
+ a 1px border +
+ + diff --git a/20/b1.gif b/20/b1.gif new file mode 100644 index 0000000..c8adac0 Binary files /dev/null and b/20/b1.gif differ diff --git a/20/b2.gif b/20/b2.gif new file mode 100644 index 0000000..6b58b1a Binary files /dev/null and b/20/b2.gif differ diff --git a/20/b3.gif b/20/b3.gif new file mode 100644 index 0000000..4a92b70 Binary files /dev/null and b/20/b3.gif differ diff --git a/20/b4.gif b/20/b4.gif new file mode 100644 index 0000000..a8a5e0d Binary files /dev/null and b/20/b4.gif differ diff --git a/20/ba.gif b/20/ba.gif new file mode 100644 index 0000000..37fda77 Binary files /dev/null and b/20/ba.gif differ diff --git a/20/bb.gif b/20/bb.gif new file mode 100644 index 0000000..73637b2 Binary files /dev/null and b/20/bb.gif differ diff --git a/20/bc.gif b/20/bc.gif new file mode 100644 index 0000000..4249eb6 Binary files /dev/null and b/20/bc.gif differ diff --git a/20/bd.gif b/20/bd.gif new file mode 100644 index 0000000..a252f89 Binary files /dev/null and b/20/bd.gif differ diff --git a/21/01.js b/21/01.js new file mode 100644 index 0000000..54ade9a --- /dev/null +++ b/21/01.js @@ -0,0 +1,4 @@ +function O(i) +{ + return typeof i == 'object' ? i : document.getElementById(i) +} diff --git a/21/02.js b/21/02.js new file mode 100644 index 0000000..cdd4ea1 --- /dev/null +++ b/21/02.js @@ -0,0 +1,4 @@ +function S(i) +{ + return O(i).style +} diff --git a/21/03.js b/21/03.js new file mode 100644 index 0000000..a186f02 --- /dev/null +++ b/21/03.js @@ -0,0 +1,4 @@ +function C(i) +{ + return document.getElementsByClassname(i) +} diff --git a/21/04.js b/21/04.js new file mode 100644 index 0000000..273d246 --- /dev/null +++ b/21/04.js @@ -0,0 +1,3 @@ +function O(i) { return typeof i == 'object' ? i : document.getElementById(i) } +function S(i) { return O(i).style } +function C(i) { return document.getElementsByClassname(i) } diff --git a/21/05.html b/21/05.html new file mode 100644 index 0000000..e3cbb96 --- /dev/null +++ b/21/05.html @@ -0,0 +1,22 @@ + + + + Accessing CSS Properties + + + +
Div Object
+ + + + + diff --git a/21/06.html b/21/06.html new file mode 100644 index 0000000..a7d70be --- /dev/null +++ b/21/06.html @@ -0,0 +1,12 @@ + + + + Inline JavaScript + + + + + + diff --git a/21/07.html b/21/07.html new file mode 100644 index 0000000..241e875 --- /dev/null +++ b/21/07.html @@ -0,0 +1,17 @@ + + + + Non-inline JavaScript + + + + + + + + + + diff --git a/21/08.html b/21/08.html new file mode 100644 index 0000000..da85053 --- /dev/null +++ b/21/08.html @@ -0,0 +1,29 @@ + + + + Adding Elements + + + + This is a document with only this text in it.

+ + + + diff --git a/21/09.html b/21/09.html new file mode 100644 index 0000000..fb1d7ad --- /dev/null +++ b/21/09.html @@ -0,0 +1,20 @@ + + + + Using setInterval + + + + The time is: 00:00:00
+ + + + diff --git a/21/10.html b/21/10.html new file mode 100644 index 0000000..34a6ce5 --- /dev/null +++ b/21/10.html @@ -0,0 +1,36 @@ + + + + Simple Animation + + + + +
+ + + + \ No newline at end of file diff --git a/21/OSC.js b/21/OSC.js new file mode 100644 index 0000000..636cf00 --- /dev/null +++ b/21/OSC.js @@ -0,0 +1,3 @@ +function O(i) { return typeof i == 'object' ? i : document.getElementById(i) } +function S(i) { return O(i).style } +function C(i) { return document.getElementsByClassName(i) } diff --git a/21/apple.png b/21/apple.png new file mode 100644 index 0000000..c5518e6 Binary files /dev/null and b/21/apple.png differ diff --git a/21/orange.png b/21/orange.png new file mode 100644 index 0000000..9ba8e45 Binary files /dev/null and b/21/orange.png differ diff --git a/22/01.htm b/22/01.htm new file mode 100644 index 0000000..b01120f --- /dev/null +++ b/22/01.htm @@ -0,0 +1,14 @@ + + + + First jQuery Example + + + + The jQuery library uses either the $() + or jQuery() function names. + + + diff --git a/22/02.htm b/22/02.htm new file mode 100644 index 0000000..686c742 --- /dev/null +++ b/22/02.htm @@ -0,0 +1,21 @@ + + + + Second jQuery Example + + + +
Powerful and flexible as JavaScript is, with a plethora of + built-in functions, it is still necessary to use additional code for + simple things that cannot be achieved natively or with CSS, such as + animations, event handling, and asynchronous communication.
+ +

This is my new website

+ + + diff --git a/22/03.htm b/22/03.htm new file mode 100644 index 0000000..27ea7f8 --- /dev/null +++ b/22/03.htm @@ -0,0 +1,17 @@ + + + + jQuery Events + + + + +

I am a paragraph

+ + + diff --git a/22/04.js b/22/04.js new file mode 100644 index 0000000..564ed51 --- /dev/null +++ b/22/04.js @@ -0,0 +1,7 @@ +// The smallest jQuery 'ready' code encapsulation function +// -- Make sure jQuery is loaded first + +$(function() +{ + // Your code goes here +}) diff --git a/22/05.htm b/22/05.htm new file mode 100644 index 0000000..98c1643 --- /dev/null +++ b/22/05.htm @@ -0,0 +1,16 @@ + + + + Events: blur + + + +

Click in and out of these fields

+ + + + diff --git a/22/06.htm b/22/06.htm new file mode 100644 index 0000000..5bbc0c7 --- /dev/null +++ b/22/06.htm @@ -0,0 +1,27 @@ + + + + Events: click & dblclick + + + +

Click and double click the buttons

+ + + + + + + + diff --git a/22/07.htm b/22/07.htm new file mode 100644 index 0000000..022cd10 --- /dev/null +++ b/22/07.htm @@ -0,0 +1,25 @@ + + + + Events: keypress + + + +

Press some keys

+
+ + + diff --git a/22/08.htm b/22/08.htm new file mode 100644 index 0000000..94472d9 --- /dev/null +++ b/22/08.htm @@ -0,0 +1,35 @@ + + + + Events: Mouse Handling + + + + + + + + diff --git a/22/09.htm b/22/09.htm new file mode 100644 index 0000000..66138ab --- /dev/null +++ b/22/09.htm @@ -0,0 +1,29 @@ + + + + Events: Further Mouse Handling + + + +

Pass the mouse over me

+ + + diff --git a/22/10.htm b/22/10.htm new file mode 100644 index 0000000..bd0f14c --- /dev/null +++ b/22/10.htm @@ -0,0 +1,25 @@ + + + + Events: submit + + + +
+ First name:
+ Last name:
+ +
+ + + diff --git a/22/11.htm b/22/11.htm new file mode 100644 index 0000000..93f42b9 --- /dev/null +++ b/22/11.htm @@ -0,0 +1,16 @@ + + + + Effects: hide & show + + + + + +

Click the Hide and Show buttons

+ + + diff --git a/22/12.htm b/22/12.htm new file mode 100644 index 0000000..2c780b8 --- /dev/null +++ b/22/12.htm @@ -0,0 +1,14 @@ + + + + Effects: toggle + + + + +

Click the Toggle button

+ + + diff --git a/22/13.htm b/22/13.htm new file mode 100644 index 0000000..9c79f2f --- /dev/null +++ b/22/13.htm @@ -0,0 +1,20 @@ + + + + Effects: Fading + + + + + + + +

Click the buttons above

+ + + diff --git a/22/14.htm b/22/14.htm new file mode 100644 index 0000000..1f92074 --- /dev/null +++ b/22/14.htm @@ -0,0 +1,29 @@ + + + + Effects: Sliding + + + + + + +
+

From A Tale of Two Cities - By Charles Dickens

+

It was the best of times, it was the worst of times, it was the age of + wisdom, it was the age of foolishness, it was the epoch of belief, it was + the epoch of incredulity, it was the season of Light, it was the season of + Darkness, it was the spring of hope, it was the winter of despair, we had + everything before us, we had nothing before us, we were all going direct to + Heaven, we were all going direct the other way - in short, the period was so + far like the present period, that some of its noisiest authorities insisted + on its being received, for good or for evil, in the superlative degree of + comparison only

+
+ + + diff --git a/22/15.htm b/22/15.htm new file mode 100644 index 0000000..32a98af --- /dev/null +++ b/22/15.htm @@ -0,0 +1,37 @@ + + + + Effects: Animation + + + + +
+ +
+ + + diff --git a/22/16.htm b/22/16.htm new file mode 100644 index 0000000..edfc74e --- /dev/null +++ b/22/16.htm @@ -0,0 +1,14 @@ + + + + The DOM: html & text + + + +

Example Document

+

This is an example document

+ + + diff --git a/22/17.htm b/22/17.htm new file mode 100644 index 0000000..162f4e7 --- /dev/null +++ b/22/17.htm @@ -0,0 +1,16 @@ + + + + The DOM: attr + + + +

Example Document

+

Visit Google

+ + + diff --git a/22/18.htm b/22/18.htm new file mode 100644 index 0000000..a5bd49d --- /dev/null +++ b/22/18.htm @@ -0,0 +1,29 @@ + + + + Modifying The DOM + + + +

Example Document

+ Visit Google + + This is a code section + +

+ + +

+ +
+ test +
+ + + diff --git a/22/19.htm b/22/19.htm new file mode 100644 index 0000000..025f0fb --- /dev/null +++ b/22/19.htm @@ -0,0 +1,38 @@ + + + + Dimensions + + + +

+ + + + +

+
+ + + diff --git a/22/20.htm b/22/20.htm new file mode 100644 index 0000000..2b562e7 --- /dev/null +++ b/22/20.htm @@ -0,0 +1,28 @@ + + + + DOM Traversal: Parent + + + + + + + + + diff --git a/22/21.htm b/22/21.htm new file mode 100644 index 0000000..a3d8180 --- /dev/null +++ b/22/21.htm @@ -0,0 +1,37 @@ + + + + DOM Traversal: Parents + + + +
+
+
+
+
    +
  • Item 1
  • +
  • Item 2
  • +
  • Item 3
  • +
+
+
+
+
+
+
+
    +
  • Item 1
  • +
  • Item 2
  • +
  • Item 3
  • +
+
+
+
+
+ + + diff --git a/22/22.htm b/22/22.htm new file mode 100644 index 0000000..e53e6ac --- /dev/null +++ b/22/22.htm @@ -0,0 +1,24 @@ + + + + DOM Traversal: Siblings + + + + + + + diff --git a/22/23.htm b/22/23.htm new file mode 100644 index 0000000..ee80248 --- /dev/null +++ b/22/23.htm @@ -0,0 +1,32 @@ + + + + Selection Traversal + + + + + + + diff --git a/22/24.htm b/22/24.htm new file mode 100644 index 0000000..c3f395a --- /dev/null +++ b/22/24.htm @@ -0,0 +1,26 @@ + + + + Using is + + + +
+
+ +
+ +

+ + + diff --git a/22/25.htm b/22/25.htm new file mode 100644 index 0000000..7fa3bf7 --- /dev/null +++ b/22/25.htm @@ -0,0 +1,37 @@ + + + + Using each & map + + + +
+ + + diff --git a/22/26.htm b/22/26.htm new file mode 100644 index 0000000..f5038b4 --- /dev/null +++ b/22/26.htm @@ -0,0 +1,18 @@ + + + + jQuery Asynchronous Post + + + +

Loading a web page into a DIV

+
This sentence will be replaced
+ + + + diff --git a/22/27.htm b/22/27.htm new file mode 100644 index 0000000..ee43754 --- /dev/null +++ b/22/27.htm @@ -0,0 +1,18 @@ + + + + jQuery Asynchronous Get + + + +

Loading a web page into a DIV

+
This sentence will be replaced
+ + + + diff --git a/22/ball.png b/22/ball.png new file mode 100644 index 0000000..19d3fb3 Binary files /dev/null and b/22/ball.png differ diff --git a/22/jquery-3.5.1.min.js b/22/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/22/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 diff --git a/22/urlpost.php b/22/urlpost.php new file mode 100644 index 0000000..e5247e2 --- /dev/null +++ b/22/urlpost.php @@ -0,0 +1,13 @@ + diff --git a/23/buttons.html b/23/buttons.html new file mode 100644 index 0000000..0e52c01 --- /dev/null +++ b/23/buttons.html @@ -0,0 +1,40 @@ + + + + + + Buttons + + + + + +
+
+

jQuery Mobile Buttons

+
+ + +
+ + diff --git a/23/images/ajax-loader.gif b/23/images/ajax-loader.gif new file mode 100644 index 0000000..57f5624 Binary files /dev/null and b/23/images/ajax-loader.gif differ diff --git a/23/images/icons-png/action-black.png b/23/images/icons-png/action-black.png new file mode 100644 index 0000000..15e8e48 Binary files /dev/null and b/23/images/icons-png/action-black.png differ diff --git a/23/images/icons-png/action-white.png b/23/images/icons-png/action-white.png new file mode 100644 index 0000000..9f31c01 Binary files /dev/null and b/23/images/icons-png/action-white.png differ diff --git a/23/images/icons-png/alert-black.png b/23/images/icons-png/alert-black.png new file mode 100644 index 0000000..0a34a99 Binary files /dev/null and b/23/images/icons-png/alert-black.png differ diff --git a/23/images/icons-png/alert-white.png b/23/images/icons-png/alert-white.png new file mode 100644 index 0000000..d44e25b Binary files /dev/null and b/23/images/icons-png/alert-white.png differ diff --git a/23/images/icons-png/arrow-d-black.png b/23/images/icons-png/arrow-d-black.png new file mode 100644 index 0000000..797ab9b Binary files /dev/null and b/23/images/icons-png/arrow-d-black.png differ diff --git a/23/images/icons-png/arrow-d-l-black.png b/23/images/icons-png/arrow-d-l-black.png new file mode 100644 index 0000000..0701883 Binary files /dev/null and b/23/images/icons-png/arrow-d-l-black.png differ diff --git a/23/images/icons-png/arrow-d-l-white.png b/23/images/icons-png/arrow-d-l-white.png new file mode 100644 index 0000000..4234114 Binary files /dev/null and b/23/images/icons-png/arrow-d-l-white.png differ diff --git a/23/images/icons-png/arrow-d-r-black.png b/23/images/icons-png/arrow-d-r-black.png new file mode 100644 index 0000000..33cd363 Binary files /dev/null and b/23/images/icons-png/arrow-d-r-black.png differ diff --git a/23/images/icons-png/arrow-d-r-white.png b/23/images/icons-png/arrow-d-r-white.png new file mode 100644 index 0000000..3db6ebd Binary files /dev/null and b/23/images/icons-png/arrow-d-r-white.png differ diff --git a/23/images/icons-png/arrow-d-white.png b/23/images/icons-png/arrow-d-white.png new file mode 100644 index 0000000..0fcdb6c Binary files /dev/null and b/23/images/icons-png/arrow-d-white.png differ diff --git a/23/images/icons-png/arrow-l-black.png b/23/images/icons-png/arrow-l-black.png new file mode 100644 index 0000000..93a248e Binary files /dev/null and b/23/images/icons-png/arrow-l-black.png differ diff --git a/23/images/icons-png/arrow-l-white.png b/23/images/icons-png/arrow-l-white.png new file mode 100644 index 0000000..3c8b133 Binary files /dev/null and b/23/images/icons-png/arrow-l-white.png differ diff --git a/23/images/icons-png/arrow-r-black.png b/23/images/icons-png/arrow-r-black.png new file mode 100644 index 0000000..b5f5d49 Binary files /dev/null and b/23/images/icons-png/arrow-r-black.png differ diff --git a/23/images/icons-png/arrow-r-white.png b/23/images/icons-png/arrow-r-white.png new file mode 100644 index 0000000..bf31606 Binary files /dev/null and b/23/images/icons-png/arrow-r-white.png differ diff --git a/23/images/icons-png/arrow-u-black.png b/23/images/icons-png/arrow-u-black.png new file mode 100644 index 0000000..f9e15da Binary files /dev/null and b/23/images/icons-png/arrow-u-black.png differ diff --git a/23/images/icons-png/arrow-u-l-black.png b/23/images/icons-png/arrow-u-l-black.png new file mode 100644 index 0000000..b518a1d Binary files /dev/null and b/23/images/icons-png/arrow-u-l-black.png differ diff --git a/23/images/icons-png/arrow-u-l-white.png b/23/images/icons-png/arrow-u-l-white.png new file mode 100644 index 0000000..71adaa1 Binary files /dev/null and b/23/images/icons-png/arrow-u-l-white.png differ diff --git a/23/images/icons-png/arrow-u-r-black.png b/23/images/icons-png/arrow-u-r-black.png new file mode 100644 index 0000000..375b097 Binary files /dev/null and b/23/images/icons-png/arrow-u-r-black.png differ diff --git a/23/images/icons-png/arrow-u-r-white.png b/23/images/icons-png/arrow-u-r-white.png new file mode 100644 index 0000000..45b518d Binary files /dev/null and b/23/images/icons-png/arrow-u-r-white.png differ diff --git a/23/images/icons-png/arrow-u-white.png b/23/images/icons-png/arrow-u-white.png new file mode 100644 index 0000000..18afaa1 Binary files /dev/null and b/23/images/icons-png/arrow-u-white.png differ diff --git a/23/images/icons-png/audio-black.png b/23/images/icons-png/audio-black.png new file mode 100644 index 0000000..b7901c5 Binary files /dev/null and b/23/images/icons-png/audio-black.png differ diff --git a/23/images/icons-png/audio-white.png b/23/images/icons-png/audio-white.png new file mode 100644 index 0000000..3408282 Binary files /dev/null and b/23/images/icons-png/audio-white.png differ diff --git a/23/images/icons-png/back-black.png b/23/images/icons-png/back-black.png new file mode 100644 index 0000000..b58685d Binary files /dev/null and b/23/images/icons-png/back-black.png differ diff --git a/23/images/icons-png/back-white.png b/23/images/icons-png/back-white.png new file mode 100644 index 0000000..856d515 Binary files /dev/null and b/23/images/icons-png/back-white.png differ diff --git a/23/images/icons-png/bars-black.png b/23/images/icons-png/bars-black.png new file mode 100644 index 0000000..f3e99e6 Binary files /dev/null and b/23/images/icons-png/bars-black.png differ diff --git a/23/images/icons-png/bars-white.png b/23/images/icons-png/bars-white.png new file mode 100644 index 0000000..84059c6 Binary files /dev/null and b/23/images/icons-png/bars-white.png differ diff --git a/23/images/icons-png/bullets-black.png b/23/images/icons-png/bullets-black.png new file mode 100644 index 0000000..10a2f1c Binary files /dev/null and b/23/images/icons-png/bullets-black.png differ diff --git a/23/images/icons-png/bullets-white.png b/23/images/icons-png/bullets-white.png new file mode 100644 index 0000000..49971a1 Binary files /dev/null and b/23/images/icons-png/bullets-white.png differ diff --git a/23/images/icons-png/calendar-black.png b/23/images/icons-png/calendar-black.png new file mode 100644 index 0000000..c4a643c Binary files /dev/null and b/23/images/icons-png/calendar-black.png differ diff --git a/23/images/icons-png/calendar-white.png b/23/images/icons-png/calendar-white.png new file mode 100644 index 0000000..e5b7b9f Binary files /dev/null and b/23/images/icons-png/calendar-white.png differ diff --git a/23/images/icons-png/camera-black.png b/23/images/icons-png/camera-black.png new file mode 100644 index 0000000..6a029ea Binary files /dev/null and b/23/images/icons-png/camera-black.png differ diff --git a/23/images/icons-png/camera-white.png b/23/images/icons-png/camera-white.png new file mode 100644 index 0000000..7f00e23 Binary files /dev/null and b/23/images/icons-png/camera-white.png differ diff --git a/23/images/icons-png/carat-d-black.png b/23/images/icons-png/carat-d-black.png new file mode 100644 index 0000000..0653b69 Binary files /dev/null and b/23/images/icons-png/carat-d-black.png differ diff --git a/23/images/icons-png/carat-d-white.png b/23/images/icons-png/carat-d-white.png new file mode 100644 index 0000000..9e7e9e9 Binary files /dev/null and b/23/images/icons-png/carat-d-white.png differ diff --git a/23/images/icons-png/carat-l-black.png b/23/images/icons-png/carat-l-black.png new file mode 100644 index 0000000..c8c495d Binary files /dev/null and b/23/images/icons-png/carat-l-black.png differ diff --git a/23/images/icons-png/carat-l-white.png b/23/images/icons-png/carat-l-white.png new file mode 100644 index 0000000..af941a0 Binary files /dev/null and b/23/images/icons-png/carat-l-white.png differ diff --git a/23/images/icons-png/carat-r-black.png b/23/images/icons-png/carat-r-black.png new file mode 100644 index 0000000..1343997 Binary files /dev/null and b/23/images/icons-png/carat-r-black.png differ diff --git a/23/images/icons-png/carat-r-white.png b/23/images/icons-png/carat-r-white.png new file mode 100644 index 0000000..f377fd8 Binary files /dev/null and b/23/images/icons-png/carat-r-white.png differ diff --git a/23/images/icons-png/carat-u-black.png b/23/images/icons-png/carat-u-black.png new file mode 100644 index 0000000..a1a5ab6 Binary files /dev/null and b/23/images/icons-png/carat-u-black.png differ diff --git a/23/images/icons-png/carat-u-white.png b/23/images/icons-png/carat-u-white.png new file mode 100644 index 0000000..5b2deba Binary files /dev/null and b/23/images/icons-png/carat-u-white.png differ diff --git a/23/images/icons-png/check-black.png b/23/images/icons-png/check-black.png new file mode 100644 index 0000000..2cf2fc6 Binary files /dev/null and b/23/images/icons-png/check-black.png differ diff --git a/23/images/icons-png/check-white.png b/23/images/icons-png/check-white.png new file mode 100644 index 0000000..b9f558c Binary files /dev/null and b/23/images/icons-png/check-white.png differ diff --git a/23/images/icons-png/clock-black.png b/23/images/icons-png/clock-black.png new file mode 100644 index 0000000..0c38d91 Binary files /dev/null and b/23/images/icons-png/clock-black.png differ diff --git a/23/images/icons-png/clock-white.png b/23/images/icons-png/clock-white.png new file mode 100644 index 0000000..bf5a877 Binary files /dev/null and b/23/images/icons-png/clock-white.png differ diff --git a/23/images/icons-png/cloud-black.png b/23/images/icons-png/cloud-black.png new file mode 100644 index 0000000..7c50e37 Binary files /dev/null and b/23/images/icons-png/cloud-black.png differ diff --git a/23/images/icons-png/cloud-white.png b/23/images/icons-png/cloud-white.png new file mode 100644 index 0000000..6bbe752 Binary files /dev/null and b/23/images/icons-png/cloud-white.png differ diff --git a/23/images/icons-png/comment-black.png b/23/images/icons-png/comment-black.png new file mode 100644 index 0000000..8de9ce8 Binary files /dev/null and b/23/images/icons-png/comment-black.png differ diff --git a/23/images/icons-png/comment-white.png b/23/images/icons-png/comment-white.png new file mode 100644 index 0000000..5ff59e3 Binary files /dev/null and b/23/images/icons-png/comment-white.png differ diff --git a/23/images/icons-png/delete-black.png b/23/images/icons-png/delete-black.png new file mode 100644 index 0000000..94a5b9f Binary files /dev/null and b/23/images/icons-png/delete-black.png differ diff --git a/23/images/icons-png/delete-white.png b/23/images/icons-png/delete-white.png new file mode 100644 index 0000000..ff984a9 Binary files /dev/null and b/23/images/icons-png/delete-white.png differ diff --git a/23/images/icons-png/edit-black.png b/23/images/icons-png/edit-black.png new file mode 100644 index 0000000..ab390d7 Binary files /dev/null and b/23/images/icons-png/edit-black.png differ diff --git a/23/images/icons-png/edit-white.png b/23/images/icons-png/edit-white.png new file mode 100644 index 0000000..ae657a0 Binary files /dev/null and b/23/images/icons-png/edit-white.png differ diff --git a/23/images/icons-png/eye-black.png b/23/images/icons-png/eye-black.png new file mode 100644 index 0000000..d7cc1d0 Binary files /dev/null and b/23/images/icons-png/eye-black.png differ diff --git a/23/images/icons-png/eye-white.png b/23/images/icons-png/eye-white.png new file mode 100644 index 0000000..c05bd0d Binary files /dev/null and b/23/images/icons-png/eye-white.png differ diff --git a/23/images/icons-png/forbidden-black.png b/23/images/icons-png/forbidden-black.png new file mode 100644 index 0000000..7509825 Binary files /dev/null and b/23/images/icons-png/forbidden-black.png differ diff --git a/23/images/icons-png/forbidden-white.png b/23/images/icons-png/forbidden-white.png new file mode 100644 index 0000000..bf13593 Binary files /dev/null and b/23/images/icons-png/forbidden-white.png differ diff --git a/23/images/icons-png/forward-black.png b/23/images/icons-png/forward-black.png new file mode 100644 index 0000000..bcc4622 Binary files /dev/null and b/23/images/icons-png/forward-black.png differ diff --git a/23/images/icons-png/forward-white.png b/23/images/icons-png/forward-white.png new file mode 100644 index 0000000..fa80f36 Binary files /dev/null and b/23/images/icons-png/forward-white.png differ diff --git a/23/images/icons-png/gear-black.png b/23/images/icons-png/gear-black.png new file mode 100644 index 0000000..b6b37b4 Binary files /dev/null and b/23/images/icons-png/gear-black.png differ diff --git a/23/images/icons-png/gear-white.png b/23/images/icons-png/gear-white.png new file mode 100644 index 0000000..72c9767 Binary files /dev/null and b/23/images/icons-png/gear-white.png differ diff --git a/23/images/icons-png/grid-black.png b/23/images/icons-png/grid-black.png new file mode 100644 index 0000000..aee3160 Binary files /dev/null and b/23/images/icons-png/grid-black.png differ diff --git a/23/images/icons-png/grid-white.png b/23/images/icons-png/grid-white.png new file mode 100644 index 0000000..19652cd Binary files /dev/null and b/23/images/icons-png/grid-white.png differ diff --git a/23/images/icons-png/heart-black.png b/23/images/icons-png/heart-black.png new file mode 100644 index 0000000..fda9f92 Binary files /dev/null and b/23/images/icons-png/heart-black.png differ diff --git a/23/images/icons-png/heart-white.png b/23/images/icons-png/heart-white.png new file mode 100644 index 0000000..ba7a949 Binary files /dev/null and b/23/images/icons-png/heart-white.png differ diff --git a/23/images/icons-png/home-black.png b/23/images/icons-png/home-black.png new file mode 100644 index 0000000..6b4e5f3 Binary files /dev/null and b/23/images/icons-png/home-black.png differ diff --git a/23/images/icons-png/home-white.png b/23/images/icons-png/home-white.png new file mode 100644 index 0000000..c1f8fed Binary files /dev/null and b/23/images/icons-png/home-white.png differ diff --git a/23/images/icons-png/info-black.png b/23/images/icons-png/info-black.png new file mode 100644 index 0000000..46ee7e3 Binary files /dev/null and b/23/images/icons-png/info-black.png differ diff --git a/23/images/icons-png/info-white.png b/23/images/icons-png/info-white.png new file mode 100644 index 0000000..af8346f Binary files /dev/null and b/23/images/icons-png/info-white.png differ diff --git a/23/images/icons-png/location-black.png b/23/images/icons-png/location-black.png new file mode 100644 index 0000000..4cd8998 Binary files /dev/null and b/23/images/icons-png/location-black.png differ diff --git a/23/images/icons-png/location-white.png b/23/images/icons-png/location-white.png new file mode 100644 index 0000000..f6eeacd Binary files /dev/null and b/23/images/icons-png/location-white.png differ diff --git a/23/images/icons-png/lock-black.png b/23/images/icons-png/lock-black.png new file mode 100644 index 0000000..bf947e8 Binary files /dev/null and b/23/images/icons-png/lock-black.png differ diff --git a/23/images/icons-png/lock-white.png b/23/images/icons-png/lock-white.png new file mode 100644 index 0000000..aa60e23 Binary files /dev/null and b/23/images/icons-png/lock-white.png differ diff --git a/23/images/icons-png/mail-black.png b/23/images/icons-png/mail-black.png new file mode 100644 index 0000000..cb67c0e Binary files /dev/null and b/23/images/icons-png/mail-black.png differ diff --git a/23/images/icons-png/mail-white.png b/23/images/icons-png/mail-white.png new file mode 100644 index 0000000..06a6083 Binary files /dev/null and b/23/images/icons-png/mail-white.png differ diff --git a/23/images/icons-png/minus-black.png b/23/images/icons-png/minus-black.png new file mode 100644 index 0000000..97589d7 Binary files /dev/null and b/23/images/icons-png/minus-black.png differ diff --git a/23/images/icons-png/minus-white.png b/23/images/icons-png/minus-white.png new file mode 100644 index 0000000..874eaf3 Binary files /dev/null and b/23/images/icons-png/minus-white.png differ diff --git a/23/images/icons-png/navigation-black.png b/23/images/icons-png/navigation-black.png new file mode 100644 index 0000000..17abd7b Binary files /dev/null and b/23/images/icons-png/navigation-black.png differ diff --git a/23/images/icons-png/navigation-white.png b/23/images/icons-png/navigation-white.png new file mode 100644 index 0000000..195388d Binary files /dev/null and b/23/images/icons-png/navigation-white.png differ diff --git a/23/images/icons-png/phone-black.png b/23/images/icons-png/phone-black.png new file mode 100644 index 0000000..6d0a09c Binary files /dev/null and b/23/images/icons-png/phone-black.png differ diff --git a/23/images/icons-png/phone-white.png b/23/images/icons-png/phone-white.png new file mode 100644 index 0000000..773b602 Binary files /dev/null and b/23/images/icons-png/phone-white.png differ diff --git a/23/images/icons-png/plus-black.png b/23/images/icons-png/plus-black.png new file mode 100644 index 0000000..0854727 Binary files /dev/null and b/23/images/icons-png/plus-black.png differ diff --git a/23/images/icons-png/plus-white.png b/23/images/icons-png/plus-white.png new file mode 100644 index 0000000..7b48418 Binary files /dev/null and b/23/images/icons-png/plus-white.png differ diff --git a/23/images/icons-png/power-black.png b/23/images/icons-png/power-black.png new file mode 100644 index 0000000..bb95411 Binary files /dev/null and b/23/images/icons-png/power-black.png differ diff --git a/23/images/icons-png/power-white.png b/23/images/icons-png/power-white.png new file mode 100644 index 0000000..8852da1 Binary files /dev/null and b/23/images/icons-png/power-white.png differ diff --git a/23/images/icons-png/recycle-black.png b/23/images/icons-png/recycle-black.png new file mode 100644 index 0000000..dabed38 Binary files /dev/null and b/23/images/icons-png/recycle-black.png differ diff --git a/23/images/icons-png/recycle-white.png b/23/images/icons-png/recycle-white.png new file mode 100644 index 0000000..42c37b6 Binary files /dev/null and b/23/images/icons-png/recycle-white.png differ diff --git a/23/images/icons-png/refresh-black.png b/23/images/icons-png/refresh-black.png new file mode 100644 index 0000000..fb19712 Binary files /dev/null and b/23/images/icons-png/refresh-black.png differ diff --git a/23/images/icons-png/refresh-white.png b/23/images/icons-png/refresh-white.png new file mode 100644 index 0000000..fdd59ad Binary files /dev/null and b/23/images/icons-png/refresh-white.png differ diff --git a/23/images/icons-png/search-black.png b/23/images/icons-png/search-black.png new file mode 100644 index 0000000..02b66cf Binary files /dev/null and b/23/images/icons-png/search-black.png differ diff --git a/23/images/icons-png/search-white.png b/23/images/icons-png/search-white.png new file mode 100644 index 0000000..274517d Binary files /dev/null and b/23/images/icons-png/search-white.png differ diff --git a/23/images/icons-png/shop-black.png b/23/images/icons-png/shop-black.png new file mode 100644 index 0000000..c2f3719 Binary files /dev/null and b/23/images/icons-png/shop-black.png differ diff --git a/23/images/icons-png/shop-white.png b/23/images/icons-png/shop-white.png new file mode 100644 index 0000000..96de975 Binary files /dev/null and b/23/images/icons-png/shop-white.png differ diff --git a/23/images/icons-png/star-black.png b/23/images/icons-png/star-black.png new file mode 100644 index 0000000..381e1f2 Binary files /dev/null and b/23/images/icons-png/star-black.png differ diff --git a/23/images/icons-png/star-white.png b/23/images/icons-png/star-white.png new file mode 100644 index 0000000..bf6c4ab Binary files /dev/null and b/23/images/icons-png/star-white.png differ diff --git a/23/images/icons-png/tag-black.png b/23/images/icons-png/tag-black.png new file mode 100644 index 0000000..d6f65d1 Binary files /dev/null and b/23/images/icons-png/tag-black.png differ diff --git a/23/images/icons-png/tag-white.png b/23/images/icons-png/tag-white.png new file mode 100644 index 0000000..fc0df96 Binary files /dev/null and b/23/images/icons-png/tag-white.png differ diff --git a/23/images/icons-png/user-black.png b/23/images/icons-png/user-black.png new file mode 100644 index 0000000..1a0cb07 Binary files /dev/null and b/23/images/icons-png/user-black.png differ diff --git a/23/images/icons-png/user-white.png b/23/images/icons-png/user-white.png new file mode 100644 index 0000000..f843f6f Binary files /dev/null and b/23/images/icons-png/user-white.png differ diff --git a/23/images/icons-png/video-black.png b/23/images/icons-png/video-black.png new file mode 100644 index 0000000..97e74d4 Binary files /dev/null and b/23/images/icons-png/video-black.png differ diff --git a/23/images/icons-png/video-white.png b/23/images/icons-png/video-white.png new file mode 100644 index 0000000..cbe8bde Binary files /dev/null and b/23/images/icons-png/video-white.png differ diff --git a/23/images/icons-svg/action-black.svg b/23/images/icons-svg/action-black.svg new file mode 100644 index 0000000..ae0670a --- /dev/null +++ b/23/images/icons-svg/action-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/action-white.svg b/23/images/icons-svg/action-white.svg new file mode 100644 index 0000000..381b002 --- /dev/null +++ b/23/images/icons-svg/action-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/alert-black.svg b/23/images/icons-svg/alert-black.svg new file mode 100644 index 0000000..e1cf40c --- /dev/null +++ b/23/images/icons-svg/alert-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/alert-white.svg b/23/images/icons-svg/alert-white.svg new file mode 100644 index 0000000..69d8c0a --- /dev/null +++ b/23/images/icons-svg/alert-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/arrow-d-black.svg b/23/images/icons-svg/arrow-d-black.svg new file mode 100644 index 0000000..7a8b7de --- /dev/null +++ b/23/images/icons-svg/arrow-d-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-d-l-black.svg b/23/images/icons-svg/arrow-d-l-black.svg new file mode 100644 index 0000000..8c8d305 --- /dev/null +++ b/23/images/icons-svg/arrow-d-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-d-l-white.svg b/23/images/icons-svg/arrow-d-l-white.svg new file mode 100644 index 0000000..f7379cd --- /dev/null +++ b/23/images/icons-svg/arrow-d-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-d-r-black.svg b/23/images/icons-svg/arrow-d-r-black.svg new file mode 100644 index 0000000..95861e0 --- /dev/null +++ b/23/images/icons-svg/arrow-d-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-d-r-white.svg b/23/images/icons-svg/arrow-d-r-white.svg new file mode 100644 index 0000000..7874ca8 --- /dev/null +++ b/23/images/icons-svg/arrow-d-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-d-white.svg b/23/images/icons-svg/arrow-d-white.svg new file mode 100644 index 0000000..f80ad1b --- /dev/null +++ b/23/images/icons-svg/arrow-d-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-l-black.svg b/23/images/icons-svg/arrow-l-black.svg new file mode 100644 index 0000000..0190649 --- /dev/null +++ b/23/images/icons-svg/arrow-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-l-white.svg b/23/images/icons-svg/arrow-l-white.svg new file mode 100644 index 0000000..d9de81d --- /dev/null +++ b/23/images/icons-svg/arrow-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-r-black.svg b/23/images/icons-svg/arrow-r-black.svg new file mode 100644 index 0000000..7853c5f --- /dev/null +++ b/23/images/icons-svg/arrow-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-r-white.svg b/23/images/icons-svg/arrow-r-white.svg new file mode 100644 index 0000000..8c28fc7 --- /dev/null +++ b/23/images/icons-svg/arrow-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-u-black.svg b/23/images/icons-svg/arrow-u-black.svg new file mode 100644 index 0000000..abf9d90 --- /dev/null +++ b/23/images/icons-svg/arrow-u-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-u-l-black.svg b/23/images/icons-svg/arrow-u-l-black.svg new file mode 100644 index 0000000..08b5c6d --- /dev/null +++ b/23/images/icons-svg/arrow-u-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-u-l-white.svg b/23/images/icons-svg/arrow-u-l-white.svg new file mode 100644 index 0000000..234471e --- /dev/null +++ b/23/images/icons-svg/arrow-u-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-u-r-black.svg b/23/images/icons-svg/arrow-u-r-black.svg new file mode 100644 index 0000000..db1536d --- /dev/null +++ b/23/images/icons-svg/arrow-u-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-u-r-white.svg b/23/images/icons-svg/arrow-u-r-white.svg new file mode 100644 index 0000000..5a510f2 --- /dev/null +++ b/23/images/icons-svg/arrow-u-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/arrow-u-white.svg b/23/images/icons-svg/arrow-u-white.svg new file mode 100644 index 0000000..7e2aeb2 --- /dev/null +++ b/23/images/icons-svg/arrow-u-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/audio-black.svg b/23/images/icons-svg/audio-black.svg new file mode 100644 index 0000000..f3651d7 --- /dev/null +++ b/23/images/icons-svg/audio-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/audio-white.svg b/23/images/icons-svg/audio-white.svg new file mode 100644 index 0000000..a689699 --- /dev/null +++ b/23/images/icons-svg/audio-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/back-black.svg b/23/images/icons-svg/back-black.svg new file mode 100644 index 0000000..0b281e8 --- /dev/null +++ b/23/images/icons-svg/back-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/back-white.svg b/23/images/icons-svg/back-white.svg new file mode 100644 index 0000000..c13ff0a --- /dev/null +++ b/23/images/icons-svg/back-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/bars-black.svg b/23/images/icons-svg/bars-black.svg new file mode 100644 index 0000000..86b42c9 --- /dev/null +++ b/23/images/icons-svg/bars-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/bars-white.svg b/23/images/icons-svg/bars-white.svg new file mode 100644 index 0000000..035c299 --- /dev/null +++ b/23/images/icons-svg/bars-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/bullets-black.svg b/23/images/icons-svg/bullets-black.svg new file mode 100644 index 0000000..cd96193 --- /dev/null +++ b/23/images/icons-svg/bullets-black.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/23/images/icons-svg/bullets-white.svg b/23/images/icons-svg/bullets-white.svg new file mode 100644 index 0000000..4655f15 --- /dev/null +++ b/23/images/icons-svg/bullets-white.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/23/images/icons-svg/calendar-black.svg b/23/images/icons-svg/calendar-black.svg new file mode 100644 index 0000000..5c3aede --- /dev/null +++ b/23/images/icons-svg/calendar-black.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/calendar-white.svg b/23/images/icons-svg/calendar-white.svg new file mode 100644 index 0000000..177dab9 --- /dev/null +++ b/23/images/icons-svg/calendar-white.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/camera-black.svg b/23/images/icons-svg/camera-black.svg new file mode 100644 index 0000000..58a3182 --- /dev/null +++ b/23/images/icons-svg/camera-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/camera-white.svg b/23/images/icons-svg/camera-white.svg new file mode 100644 index 0000000..78c620e --- /dev/null +++ b/23/images/icons-svg/camera-white.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/23/images/icons-svg/carat-d-black.svg b/23/images/icons-svg/carat-d-black.svg new file mode 100644 index 0000000..03dc079 --- /dev/null +++ b/23/images/icons-svg/carat-d-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-d-white.svg b/23/images/icons-svg/carat-d-white.svg new file mode 100644 index 0000000..21ea91f --- /dev/null +++ b/23/images/icons-svg/carat-d-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-l-black.svg b/23/images/icons-svg/carat-l-black.svg new file mode 100644 index 0000000..bc853bc --- /dev/null +++ b/23/images/icons-svg/carat-l-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-l-white.svg b/23/images/icons-svg/carat-l-white.svg new file mode 100644 index 0000000..d9a6ce7 --- /dev/null +++ b/23/images/icons-svg/carat-l-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-r-black.svg b/23/images/icons-svg/carat-r-black.svg new file mode 100644 index 0000000..594cfa2 --- /dev/null +++ b/23/images/icons-svg/carat-r-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-r-white.svg b/23/images/icons-svg/carat-r-white.svg new file mode 100644 index 0000000..d384145 --- /dev/null +++ b/23/images/icons-svg/carat-r-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-u-black.svg b/23/images/icons-svg/carat-u-black.svg new file mode 100644 index 0000000..7647d06 --- /dev/null +++ b/23/images/icons-svg/carat-u-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/carat-u-white.svg b/23/images/icons-svg/carat-u-white.svg new file mode 100644 index 0000000..cdbc1cf --- /dev/null +++ b/23/images/icons-svg/carat-u-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/check-black.svg b/23/images/icons-svg/check-black.svg new file mode 100644 index 0000000..a4b8663 --- /dev/null +++ b/23/images/icons-svg/check-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/check-white.svg b/23/images/icons-svg/check-white.svg new file mode 100644 index 0000000..7afefd5 --- /dev/null +++ b/23/images/icons-svg/check-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/clock-black.svg b/23/images/icons-svg/clock-black.svg new file mode 100644 index 0000000..c68abef --- /dev/null +++ b/23/images/icons-svg/clock-black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/clock-white.svg b/23/images/icons-svg/clock-white.svg new file mode 100644 index 0000000..5589238 --- /dev/null +++ b/23/images/icons-svg/clock-white.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/cloud-black.svg b/23/images/icons-svg/cloud-black.svg new file mode 100644 index 0000000..ddfbde5 --- /dev/null +++ b/23/images/icons-svg/cloud-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/cloud-white.svg b/23/images/icons-svg/cloud-white.svg new file mode 100644 index 0000000..d5b0794 --- /dev/null +++ b/23/images/icons-svg/cloud-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/comment-black.svg b/23/images/icons-svg/comment-black.svg new file mode 100644 index 0000000..485fcc8 --- /dev/null +++ b/23/images/icons-svg/comment-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/comment-white.svg b/23/images/icons-svg/comment-white.svg new file mode 100644 index 0000000..8d188db --- /dev/null +++ b/23/images/icons-svg/comment-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/delete-black.svg b/23/images/icons-svg/delete-black.svg new file mode 100644 index 0000000..74d9988 --- /dev/null +++ b/23/images/icons-svg/delete-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/delete-white.svg b/23/images/icons-svg/delete-white.svg new file mode 100644 index 0000000..a6cc735 --- /dev/null +++ b/23/images/icons-svg/delete-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/edit-black.svg b/23/images/icons-svg/edit-black.svg new file mode 100644 index 0000000..d908f9d --- /dev/null +++ b/23/images/icons-svg/edit-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/edit-white.svg b/23/images/icons-svg/edit-white.svg new file mode 100644 index 0000000..a88643d --- /dev/null +++ b/23/images/icons-svg/edit-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/eye-black.svg b/23/images/icons-svg/eye-black.svg new file mode 100644 index 0000000..d55bc65 --- /dev/null +++ b/23/images/icons-svg/eye-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/eye-white.svg b/23/images/icons-svg/eye-white.svg new file mode 100644 index 0000000..f95ad50 --- /dev/null +++ b/23/images/icons-svg/eye-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/forbidden-black.svg b/23/images/icons-svg/forbidden-black.svg new file mode 100644 index 0000000..fe831bc --- /dev/null +++ b/23/images/icons-svg/forbidden-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/forbidden-white.svg b/23/images/icons-svg/forbidden-white.svg new file mode 100644 index 0000000..710ac39 --- /dev/null +++ b/23/images/icons-svg/forbidden-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/forward-black.svg b/23/images/icons-svg/forward-black.svg new file mode 100644 index 0000000..b0001d9 --- /dev/null +++ b/23/images/icons-svg/forward-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/forward-white.svg b/23/images/icons-svg/forward-white.svg new file mode 100644 index 0000000..e1f3a6a --- /dev/null +++ b/23/images/icons-svg/forward-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/gear-black.svg b/23/images/icons-svg/gear-black.svg new file mode 100644 index 0000000..4f397c5 --- /dev/null +++ b/23/images/icons-svg/gear-black.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/gear-white.svg b/23/images/icons-svg/gear-white.svg new file mode 100644 index 0000000..3a5668f --- /dev/null +++ b/23/images/icons-svg/gear-white.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/grid-black.svg b/23/images/icons-svg/grid-black.svg new file mode 100644 index 0000000..e692e1f --- /dev/null +++ b/23/images/icons-svg/grid-black.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/grid-white.svg b/23/images/icons-svg/grid-white.svg new file mode 100644 index 0000000..5cfaa7c --- /dev/null +++ b/23/images/icons-svg/grid-white.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/heart-black.svg b/23/images/icons-svg/heart-black.svg new file mode 100644 index 0000000..f4946b0 --- /dev/null +++ b/23/images/icons-svg/heart-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/heart-white.svg b/23/images/icons-svg/heart-white.svg new file mode 100644 index 0000000..190ebef --- /dev/null +++ b/23/images/icons-svg/heart-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/home-black.svg b/23/images/icons-svg/home-black.svg new file mode 100644 index 0000000..a4950a3 --- /dev/null +++ b/23/images/icons-svg/home-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/home-white.svg b/23/images/icons-svg/home-white.svg new file mode 100644 index 0000000..b7c1a61 --- /dev/null +++ b/23/images/icons-svg/home-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/info-black.svg b/23/images/icons-svg/info-black.svg new file mode 100644 index 0000000..151cfa2 --- /dev/null +++ b/23/images/icons-svg/info-black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/info-white.svg b/23/images/icons-svg/info-white.svg new file mode 100644 index 0000000..dd0f885 --- /dev/null +++ b/23/images/icons-svg/info-white.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/location-black.svg b/23/images/icons-svg/location-black.svg new file mode 100644 index 0000000..4a29d73 --- /dev/null +++ b/23/images/icons-svg/location-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/location-white.svg b/23/images/icons-svg/location-white.svg new file mode 100644 index 0000000..2b6ac8a --- /dev/null +++ b/23/images/icons-svg/location-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/lock-black.svg b/23/images/icons-svg/lock-black.svg new file mode 100644 index 0000000..0a005ea --- /dev/null +++ b/23/images/icons-svg/lock-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/lock-white.svg b/23/images/icons-svg/lock-white.svg new file mode 100644 index 0000000..b1e042c --- /dev/null +++ b/23/images/icons-svg/lock-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/mail-black.svg b/23/images/icons-svg/mail-black.svg new file mode 100644 index 0000000..635c615 --- /dev/null +++ b/23/images/icons-svg/mail-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/mail-white.svg b/23/images/icons-svg/mail-white.svg new file mode 100644 index 0000000..547f512 --- /dev/null +++ b/23/images/icons-svg/mail-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/minus-black.svg b/23/images/icons-svg/minus-black.svg new file mode 100644 index 0000000..a20df14 --- /dev/null +++ b/23/images/icons-svg/minus-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/minus-white.svg b/23/images/icons-svg/minus-white.svg new file mode 100644 index 0000000..8063cdc --- /dev/null +++ b/23/images/icons-svg/minus-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/navigation-black.svg b/23/images/icons-svg/navigation-black.svg new file mode 100644 index 0000000..6867808 --- /dev/null +++ b/23/images/icons-svg/navigation-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/navigation-white.svg b/23/images/icons-svg/navigation-white.svg new file mode 100644 index 0000000..0d3115f --- /dev/null +++ b/23/images/icons-svg/navigation-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/phone-black.svg b/23/images/icons-svg/phone-black.svg new file mode 100644 index 0000000..cf84c78 --- /dev/null +++ b/23/images/icons-svg/phone-black.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/23/images/icons-svg/phone-white.svg b/23/images/icons-svg/phone-white.svg new file mode 100644 index 0000000..825425e --- /dev/null +++ b/23/images/icons-svg/phone-white.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/23/images/icons-svg/plus-black.svg b/23/images/icons-svg/plus-black.svg new file mode 100644 index 0000000..2e268b0 --- /dev/null +++ b/23/images/icons-svg/plus-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/plus-white.svg b/23/images/icons-svg/plus-white.svg new file mode 100644 index 0000000..488129f --- /dev/null +++ b/23/images/icons-svg/plus-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/power-black.svg b/23/images/icons-svg/power-black.svg new file mode 100644 index 0000000..461ea1f --- /dev/null +++ b/23/images/icons-svg/power-black.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/23/images/icons-svg/power-white.svg b/23/images/icons-svg/power-white.svg new file mode 100644 index 0000000..5c82ba7 --- /dev/null +++ b/23/images/icons-svg/power-white.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/23/images/icons-svg/recycle-black.svg b/23/images/icons-svg/recycle-black.svg new file mode 100644 index 0000000..25078b7 --- /dev/null +++ b/23/images/icons-svg/recycle-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/images/icons-svg/recycle-white.svg b/23/images/icons-svg/recycle-white.svg new file mode 100644 index 0000000..8a9f5e7 --- /dev/null +++ b/23/images/icons-svg/recycle-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/refresh-black.svg b/23/images/icons-svg/refresh-black.svg new file mode 100644 index 0000000..16c978c --- /dev/null +++ b/23/images/icons-svg/refresh-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/refresh-white.svg b/23/images/icons-svg/refresh-white.svg new file mode 100644 index 0000000..fa370e6 --- /dev/null +++ b/23/images/icons-svg/refresh-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/search-black.svg b/23/images/icons-svg/search-black.svg new file mode 100644 index 0000000..229b221 --- /dev/null +++ b/23/images/icons-svg/search-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/search-white.svg b/23/images/icons-svg/search-white.svg new file mode 100644 index 0000000..a54a52a --- /dev/null +++ b/23/images/icons-svg/search-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/shop-black.svg b/23/images/icons-svg/shop-black.svg new file mode 100644 index 0000000..ba541b4 --- /dev/null +++ b/23/images/icons-svg/shop-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/shop-white.svg b/23/images/icons-svg/shop-white.svg new file mode 100644 index 0000000..3acf9e8 --- /dev/null +++ b/23/images/icons-svg/shop-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/23/images/icons-svg/star-black.svg b/23/images/icons-svg/star-black.svg new file mode 100644 index 0000000..43076c0 --- /dev/null +++ b/23/images/icons-svg/star-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/star-white.svg b/23/images/icons-svg/star-white.svg new file mode 100644 index 0000000..e0cc53d --- /dev/null +++ b/23/images/icons-svg/star-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/tag-black.svg b/23/images/icons-svg/tag-black.svg new file mode 100644 index 0000000..bd11ae6 --- /dev/null +++ b/23/images/icons-svg/tag-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/tag-white.svg b/23/images/icons-svg/tag-white.svg new file mode 100644 index 0000000..7cd4a50 --- /dev/null +++ b/23/images/icons-svg/tag-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/user-black.svg b/23/images/icons-svg/user-black.svg new file mode 100644 index 0000000..7530c98 --- /dev/null +++ b/23/images/icons-svg/user-black.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/user-white.svg b/23/images/icons-svg/user-white.svg new file mode 100644 index 0000000..5528c2e --- /dev/null +++ b/23/images/icons-svg/user-white.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/23/images/icons-svg/video-black.svg b/23/images/icons-svg/video-black.svg new file mode 100644 index 0000000..9474acd --- /dev/null +++ b/23/images/icons-svg/video-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/23/images/icons-svg/video-white.svg b/23/images/icons-svg/video-white.svg new file mode 100644 index 0000000..3619868 --- /dev/null +++ b/23/images/icons-svg/video-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/23/jquery-2.2.4.min.js b/23/jquery-2.2.4.min.js new file mode 100644 index 0000000..4024b66 --- /dev/null +++ b/23/jquery-2.2.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; +}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n(" + + + + \ No newline at end of file diff --git a/28/07.html b/28/07.html new file mode 100644 index 0000000..eb4dcd7 --- /dev/null +++ b/28/07.html @@ -0,0 +1,25 @@ + + + + Web Messaging (b) + + + + +
Received messages will display here
+ + + \ No newline at end of file diff --git a/28/OSC.js b/28/OSC.js new file mode 100644 index 0000000..636cf00 --- /dev/null +++ b/28/OSC.js @@ -0,0 +1,3 @@ +function O(i) { return typeof i == 'object' ? i : document.getElementById(i) } +function S(i) { return O(i).style } +function C(i) { return document.getElementsByClassName(i) } diff --git a/28/image1.png b/28/image1.png new file mode 100644 index 0000000..c4a3249 Binary files /dev/null and b/28/image1.png differ diff --git a/28/image2.png b/28/image2.png new file mode 100644 index 0000000..19d3fb3 Binary files /dev/null and b/28/image2.png differ diff --git a/28/image3.png b/28/image3.png new file mode 100644 index 0000000..969645a Binary files /dev/null and b/28/image3.png differ diff --git a/28/worker.js b/28/worker.js new file mode 100644 index 0000000..ec87ddd --- /dev/null +++ b/28/worker.js @@ -0,0 +1,13 @@ +var n = 1 + +search: while (true) +{ + n += 1 + + for (var i = 2; i <= Math.sqrt(n); i += 1) + { + if (n % i == 0) continue search + } + + postMessage(n) +} \ No newline at end of file diff --git a/29/01.php b/29/01.php new file mode 100644 index 0000000..e6cb1cd --- /dev/null +++ b/29/01.php @@ -0,0 +1,71 @@ + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, + PDO::ATTR_EMULATE_PREPARES => false, + ]; + + try + { + $pdo = new PDO($attr, $user, $pass, $opts); + } + catch (\PDOException $e) + { + throw new \PDOException($e->getMessage(), (int)$e->getCode()); + } + + function createTable($name, $query) + { + queryMysql("CREATE TABLE IF NOT EXISTS $name($query)"); + echo "Table '$name' created or already exists.
"; + } + + function queryMysql($query) + { + global $pdo; + return $pdo->query($query); + } + + function destroySession() + { + $_SESSION=array(); + + if (session_id() != "" || isset($_COOKIE[session_name()])) + setcookie(session_name(), '', time()-2592000, '/'); + + session_destroy(); + } + + function sanitizeString($var) + { + global $pdo; + $var = strip_tags($var); + $var = htmlentities($var); + if (get_magic_quotes_gpc()) + $var = stripslashes($var); + $result = $pdo->quote($var); // This adds single quotes + return str_replace("'", "", $result); // So now remove them + } + + function showProfile($user) + { + if (file_exists("$user.jpg")) + echo ""; + + $result = queryMysql("SELECT * FROM profiles WHERE user='$user'"); + + if ($result->num_rows) + { + $row = $result->fetch_array(MYSQLI_ASSOC); + echo stripslashes($row['text']) . "

"; + } + else echo "

Nothing to see here, yet


"; + } +?> diff --git a/29/02.php b/29/02.php new file mode 100644 index 0000000..6a7aeb6 --- /dev/null +++ b/29/02.php @@ -0,0 +1,79 @@ + + + + + + + + + + + +_INIT; + + require_once 'functions.php'; + + $userstr = 'Welcome Guest'; + $randstr = substr(md5(rand()), 0, 7); + + if (isset($_SESSION['user'])) + { + $user = $_SESSION['user']; + $loggedin = TRUE; + $userstr = "Logged in as: $user"; + } + else $loggedin = FALSE; + +echo <<<_MAIN + Robin's Nest: $userstr + + +
+
+ +
$userstr
+
+
+ +_MAIN; + + if ($loggedin) + { +echo <<<_LOGGEDIN + + +_LOGGEDIN; + } + else + { +echo <<<_GUEST +
+ Home + Sign Up + Log In +
+

(You must be logged in to use this app)

+ +_GUEST; + } +?> diff --git a/29/03.php b/29/03.php new file mode 100644 index 0000000..b46b6d8 --- /dev/null +++ b/29/03.php @@ -0,0 +1,41 @@ + + + + Setting up database + + +

Setting up...

+ + + +
...done. + + diff --git a/29/04.php b/29/04.php new file mode 100644 index 0000000..735550a --- /dev/null +++ b/29/04.php @@ -0,0 +1,20 @@ +Welcome to Robin's Nest,"; + + if ($loggedin) echo " $user, you are logged in"; + else echo ' please sign up or log in'; + + echo <<<_END +

+
+ + + +_END; +?> diff --git a/29/05.php b/29/05.php new file mode 100644 index 0000000..0c8d298 --- /dev/null +++ b/29/05.php @@ -0,0 +1,75 @@ + + function checkUser(user) + { + if (user.value == '') + { + $('#used').html(' ') + return + } + + $.post + ( + 'checkuser.php', + { user : user.value }, + function(data) + { + $('#used').html(data) + } + ) + } + +_END; + + $error = $user = $pass = ""; + if (isset($_SESSION['user'])) destroySession(); + + if (isset($_POST['user'])) + { + $user = sanitizeString($_POST['user']); + $pass = sanitizeString($_POST['pass']); + + if ($user == "" || $pass == "") + $error = 'Not all fields were entered

'; + else + { + $result = queryMysql("SELECT * FROM members WHERE user='$user'"); + + if ($result->rowCount()) + $error = 'That username already exists

'; + else + { + queryMysql("INSERT INTO members VALUES('$user', '$pass')"); + die('

Account created

Please Log in.'); + } + } + } + +echo <<<_END +
$error +
+ + Please enter your details to sign up +
+
+ + +
 
+
+
+ + +
+
+ + +
+ + + +_END; +?> diff --git a/29/06.php b/29/06.php new file mode 100644 index 0000000..336ae46 --- /dev/null +++ b/29/06.php @@ -0,0 +1,16 @@ +rowCount()) + echo " ✘ " . + "The username '$user' is taken"; + else + echo " ✔ " . + "The username '$user' is available"; + } +?> diff --git a/29/07.php b/29/07.php new file mode 100644 index 0000000..32f8bba --- /dev/null +++ b/29/07.php @@ -0,0 +1,60 @@ +rowCount() == 0) + { + $error = "Invalid login attempt"; + } + else + { + $_SESSION['user'] = $user; + $_SESSION['pass'] = $pass; + die("
You are now logged in. Please + click here + to continue.
"); + } + } + } + +echo <<<_END + +
+ + $error +
+
+ + Please enter your details to log in +
+
+ + +
+
+ + +
+
+ + +
+
+ + + +_END; +?> diff --git a/29/08.php b/29/08.php new file mode 100644 index 0000000..60e78a5 --- /dev/null +++ b/29/08.php @@ -0,0 +1,93 @@ +"); + + echo "

Your Profile

"; + + $result = queryMysql("SELECT * FROM profiles WHERE user='$user'"); + + if (isset($_POST['text'])) + { + $text = sanitizeString($_POST['text']); + $text = preg_replace('/\s\s+/', ' ', $text); + + if ($result->rowCount()) + queryMysql("UPDATE profiles SET text='$text' where user='$user'"); + else queryMysql("INSERT INTO profiles VALUES('$user', '$text')"); + } + else + { + if ($result->rowCount()) + { + $row = $result->fetch(); + $text = stripslashes($row['text']); + } + else $text = ""; + } + + $text = stripslashes(preg_replace('/\s\s+/', ' ', $text)); + + if (isset($_FILES['image']['name'])) + { + $saveto = "$user.jpg"; + move_uploaded_file($_FILES['image']['tmp_name'], $saveto); + $typeok = TRUE; + + switch($_FILES['image']['type']) + { + case "image/gif": $src = imagecreatefromgif($saveto); break; + case "image/jpeg": // Both regular and progressive jpegs + case "image/pjpeg": $src = imagecreatefromjpeg($saveto); break; + case "image/png": $src = imagecreatefrompng($saveto); break; + default: $typeok = FALSE; break; + } + + if ($typeok) + { + list($w, $h) = getimagesize($saveto); + + $max = 100; + $tw = $w; + $th = $h; + + if ($w > $h && $max < $w) + { + $th = $max / $w * $h; + $tw = $max; + } + elseif ($h > $w && $max < $h) + { + $tw = $max / $h * $w; + $th = $max; + } + elseif ($max < $w) + { + $tw = $th = $max; + } + + $tmp = imagecreatetruecolor($tw, $th); + imagecopyresampled($tmp, $src, 0, 0, 0, 0, $tw, $th, $w, $h); + imageconvolution($tmp, array(array(-1, -1, -1), + array(-1, 16, -1), array(-1, -1, -1)), 8, 0); + imagejpeg($tmp, $saveto); + imagedestroy($tmp); + imagedestroy($src); + } + } + + showProfile($user); + +echo <<<_END +
+

Enter or edit your details and/or upload an image

+
+ Image: + +
+
+ + +_END; +?> diff --git a/29/09.php b/29/09.php new file mode 100644 index 0000000..ca5da14 --- /dev/null +++ b/29/09.php @@ -0,0 +1,69 @@ +"); + + if (isset($_GET['view'])) + { + $view = sanitizeString($_GET['view']); + + if ($view == $user) $name = "Your"; + else $name = "$view's"; + + echo "

$name Profile

"; + showProfile($view); + echo "View $name messages"; + die(""); + } + + if (isset($_GET['add'])) + { + $add = sanitizeString($_GET['add']); + + $result = queryMysql("SELECT * FROM friends + WHERE user='$add' AND friend='$user'"); + if (!$result->rowCount) + queryMysql("INSERT INTO friends VALUES ('$add', '$user')"); + } + elseif (isset($_GET['remove'])) + { + $remove = sanitizeString($_GET['remove']); + queryMysql("DELETE FROM friends + WHERE user='$remove' AND friend='$user'"); + } + + $result = queryMysql("SELECT user FROM members ORDER BY user"); + $num = $result->rowCount(); + + while ($row = $result->fetch()) + { + if ($row['user'] == $user) continue; + + echo "
  • " . $row['user'] . ""; + $follow = "follow"; + + $result1 = queryMysql("SELECT * FROM friends WHERE + user='" . $row['user'] . "' AND friend='$user'"); + $t1 = $result1->rowCount(); + + $result1 = queryMysql("SELECT * FROM friends WHERE + user='$user' AND friend='" . $row['user'] . "'"); + $t2 = $result1->rowCount(); + + if (($t1 + $t2) > 1) echo " ↔ is a mutual friend"; + elseif ($t1) echo " ← you are following"; + elseif ($t2) { echo " → is following you"; + $follow = "recip"; } + + if (!$t1) echo " [$follow]"; + else echo " [drop]"; + } + +?> + + + diff --git a/29/10.php b/29/10.php new file mode 100644 index 0000000..5d608d2 --- /dev/null +++ b/29/10.php @@ -0,0 +1,83 @@ +"); + + if (isset($_GET['view'])) $view = sanitizeString($_GET['view']); + else $view = $user; + + if ($view == $user) + { + $name1 = $name2 = "Your"; + $name3 = "You are"; + } + else + { + $name1 = "$view's"; + $name2 = "$view's"; + $name3 = "$view is"; + } + + // Uncomment this line if you wish the user’s profile to show here + // showProfile($view); + + $followers = array(); + $following = array(); + + $result = queryMysql("SELECT * FROM friends WHERE user='$view'"); + + while ($row = $result->fetch()) + { + $followers[$j] = $row['friend']; + } + + $result = queryMysql("SELECT * FROM friends WHERE friend='$view'"); + + while ($row = $result->fetch()) + { + $following[$j] = $row['user']; + } + + $mutual = array_intersect($followers, $following); + $followers = array_diff($followers, $mutual); + $following = array_diff($following, $mutual); + $friends = FALSE; + + echo "
    "; + + if (sizeof($mutual)) + { + echo "$name2 mutual friends
      "; + foreach($mutual as $friend) + echo "
    • $friend"; + echo "
    "; + $friends = TRUE; + } + + if (sizeof($followers)) + { + echo "$name2 followers
      "; + foreach($followers as $friend) + echo "
    • $friend"; + echo "
    "; + $friends = TRUE; + } + + if (sizeof($following)) + { + echo "$name3 following
      "; + foreach($following as $friend) + echo "
    • $friend"; + echo "
    "; + $friends = TRUE; + } + + if (!$friends) echo "
    You don't have any friends yet."; +?> +
    + + diff --git a/29/11.php b/29/11.php new file mode 100644 index 0000000..be8543f --- /dev/null +++ b/29/11.php @@ -0,0 +1,91 @@ +"); + + if (isset($_GET['view'])) $view = sanitizeString($_GET['view']); + else $view = $user; + + if (isset($_POST['text'])) + { + $text = sanitizeString($_POST['text']); + + if ($text != "") + { + $pm = substr(sanitizeString($_POST['pm']),0,1); + $time = time(); + queryMysql("INSERT INTO messages VALUES(NULL, '$user', + '$view', '$pm', $time, '$text')"); + } + } + + if ($view != "") + { + if ($view == $user) $name1 = $name2 = "Your"; + else + { + $name1 = "$view's"; + $name2 = "$view's"; + } + + echo "

    $name1 Messages

    "; + showProfile($view); + + echo <<<_END +
    +
    + Type here to leave a message + + + + +
    + + +

    +_END; + + date_default_timezone_set('UTC'); + + if (isset($_GET['erase'])) + { + $erase = sanitizeString($_GET['erase']); + queryMysql("DELETE FROM messages WHERE id='$erase' AND recip='$user'"); + } + + $query = "SELECT * FROM messages WHERE recip='$view' ORDER BY time DESC"; + $result = queryMysql($query); + + while ($row = $result->fetch()) + { + if ($row['pm'] == 0 || $row['auth'] == $user || $row['recip'] == $user) + { + echo date('M jS \'y g:ia:', $row['time']); + echo " " . $row['auth']. " "; + + if ($row['pm'] == 0) + echo "wrote: "" . $row['message'] . "" "; + else + echo "whispered: "" . + $row['message']. "" "; + + if ($row['recip'] == $user) + echo "[erase]"; + + echo "
    "; + } + } + } + + if (!$num) + echo "
    No messages yet

    "; + + echo "
    Refresh messages"; +?> + +
    + + diff --git a/29/12.php b/29/12.php new file mode 100644 index 0000000..404e90c --- /dev/null +++ b/29/12.php @@ -0,0 +1,17 @@ +
    You have been logged out. Please + click here + to refresh the screen.
    "; + } + else echo "
    You cannot log out because + you are not logged in
    "; +?> + + + diff --git a/29/13.css b/29/13.css new file mode 100644 index 0000000..bce19a4 --- /dev/null +++ b/29/13.css @@ -0,0 +1,84 @@ +/* Example 13: styles.css */ + +* { + font-family:verdana,sans-serif; + font-size :14pt; +} + +body { + width :700px; + margin :20px auto; + background:#f8f8f8; + border :1px solid #888; +} + +html { + background:#fff +} + +img { + border :1px solid black; + margin-right :15px; + -moz-box-shadow :2px 2px 2px #888; + -webkit-box-shadow:2px 2px 2px #888; + box-shadow :2px 2px 2px #888; +} + +.username { + text-align :center; + background :#eb8; + color :#40d; + font-family:helvetica; + font-size :20pt; + padding :4px; +} + +.info { + font-style :italic; + margin :40px 0px; + text-align :center; +} + +.center { + text-align:center; +} + +.subhead { + font-weight:bold; +} + +.taken, .error { + color:red; +} + +.available { + color:green; +} + +.whisper { + font-style:italic; + color :#006600; +} + +#logo { + font-family:Georgia; + font-weight:bold; + font-style :italic; + font-size :97px; + color :red; + } + +#robin { + position :relative; + border :0px; + margin-left :-6px; + margin-right :0px; + top :17px; + -moz-box-shadow :0px 0px 0px; + -webkit-box-shadow:0px 0px 0px; + box-shadow :0px 0px 0px; +} + +#used { + margin-top:50px; +} \ No newline at end of file diff --git a/29/14.js b/29/14.js new file mode 100644 index 0000000..3ede4fd --- /dev/null +++ b/29/14.js @@ -0,0 +1,5 @@ +// Example 14: javascript.js + +function O(i) { return typeof i == 'object' ? i : document.getElementById(i) } +function S(i) { return O(i).style } +function C(i) { return document.getElementsByClassName(i) } diff --git a/29/images/ajax-loader.gif b/29/images/ajax-loader.gif new file mode 100644 index 0000000..57f5624 Binary files /dev/null and b/29/images/ajax-loader.gif differ diff --git a/29/images/icons-png/action-black.png b/29/images/icons-png/action-black.png new file mode 100644 index 0000000..15e8e48 Binary files /dev/null and b/29/images/icons-png/action-black.png differ diff --git a/29/images/icons-png/action-white.png b/29/images/icons-png/action-white.png new file mode 100644 index 0000000..9f31c01 Binary files /dev/null and b/29/images/icons-png/action-white.png differ diff --git a/29/images/icons-png/alert-black.png b/29/images/icons-png/alert-black.png new file mode 100644 index 0000000..0a34a99 Binary files /dev/null and b/29/images/icons-png/alert-black.png differ diff --git a/29/images/icons-png/alert-white.png b/29/images/icons-png/alert-white.png new file mode 100644 index 0000000..d44e25b Binary files /dev/null and b/29/images/icons-png/alert-white.png differ diff --git a/29/images/icons-png/arrow-d-black.png b/29/images/icons-png/arrow-d-black.png new file mode 100644 index 0000000..797ab9b Binary files /dev/null and b/29/images/icons-png/arrow-d-black.png differ diff --git a/29/images/icons-png/arrow-d-l-black.png b/29/images/icons-png/arrow-d-l-black.png new file mode 100644 index 0000000..0701883 Binary files /dev/null and b/29/images/icons-png/arrow-d-l-black.png differ diff --git a/29/images/icons-png/arrow-d-l-white.png b/29/images/icons-png/arrow-d-l-white.png new file mode 100644 index 0000000..4234114 Binary files /dev/null and b/29/images/icons-png/arrow-d-l-white.png differ diff --git a/29/images/icons-png/arrow-d-r-black.png b/29/images/icons-png/arrow-d-r-black.png new file mode 100644 index 0000000..33cd363 Binary files /dev/null and b/29/images/icons-png/arrow-d-r-black.png differ diff --git a/29/images/icons-png/arrow-d-r-white.png b/29/images/icons-png/arrow-d-r-white.png new file mode 100644 index 0000000..3db6ebd Binary files /dev/null and b/29/images/icons-png/arrow-d-r-white.png differ diff --git a/29/images/icons-png/arrow-d-white.png b/29/images/icons-png/arrow-d-white.png new file mode 100644 index 0000000..0fcdb6c Binary files /dev/null and b/29/images/icons-png/arrow-d-white.png differ diff --git a/29/images/icons-png/arrow-l-black.png b/29/images/icons-png/arrow-l-black.png new file mode 100644 index 0000000..93a248e Binary files /dev/null and b/29/images/icons-png/arrow-l-black.png differ diff --git a/29/images/icons-png/arrow-l-white.png b/29/images/icons-png/arrow-l-white.png new file mode 100644 index 0000000..3c8b133 Binary files /dev/null and b/29/images/icons-png/arrow-l-white.png differ diff --git a/29/images/icons-png/arrow-r-black.png b/29/images/icons-png/arrow-r-black.png new file mode 100644 index 0000000..b5f5d49 Binary files /dev/null and b/29/images/icons-png/arrow-r-black.png differ diff --git a/29/images/icons-png/arrow-r-white.png b/29/images/icons-png/arrow-r-white.png new file mode 100644 index 0000000..bf31606 Binary files /dev/null and b/29/images/icons-png/arrow-r-white.png differ diff --git a/29/images/icons-png/arrow-u-black.png b/29/images/icons-png/arrow-u-black.png new file mode 100644 index 0000000..f9e15da Binary files /dev/null and b/29/images/icons-png/arrow-u-black.png differ diff --git a/29/images/icons-png/arrow-u-l-black.png b/29/images/icons-png/arrow-u-l-black.png new file mode 100644 index 0000000..b518a1d Binary files /dev/null and b/29/images/icons-png/arrow-u-l-black.png differ diff --git a/29/images/icons-png/arrow-u-l-white.png b/29/images/icons-png/arrow-u-l-white.png new file mode 100644 index 0000000..71adaa1 Binary files /dev/null and b/29/images/icons-png/arrow-u-l-white.png differ diff --git a/29/images/icons-png/arrow-u-r-black.png b/29/images/icons-png/arrow-u-r-black.png new file mode 100644 index 0000000..375b097 Binary files /dev/null and b/29/images/icons-png/arrow-u-r-black.png differ diff --git a/29/images/icons-png/arrow-u-r-white.png b/29/images/icons-png/arrow-u-r-white.png new file mode 100644 index 0000000..45b518d Binary files /dev/null and b/29/images/icons-png/arrow-u-r-white.png differ diff --git a/29/images/icons-png/arrow-u-white.png b/29/images/icons-png/arrow-u-white.png new file mode 100644 index 0000000..18afaa1 Binary files /dev/null and b/29/images/icons-png/arrow-u-white.png differ diff --git a/29/images/icons-png/audio-black.png b/29/images/icons-png/audio-black.png new file mode 100644 index 0000000..b7901c5 Binary files /dev/null and b/29/images/icons-png/audio-black.png differ diff --git a/29/images/icons-png/audio-white.png b/29/images/icons-png/audio-white.png new file mode 100644 index 0000000..3408282 Binary files /dev/null and b/29/images/icons-png/audio-white.png differ diff --git a/29/images/icons-png/back-black.png b/29/images/icons-png/back-black.png new file mode 100644 index 0000000..b58685d Binary files /dev/null and b/29/images/icons-png/back-black.png differ diff --git a/29/images/icons-png/back-white.png b/29/images/icons-png/back-white.png new file mode 100644 index 0000000..856d515 Binary files /dev/null and b/29/images/icons-png/back-white.png differ diff --git a/29/images/icons-png/bars-black.png b/29/images/icons-png/bars-black.png new file mode 100644 index 0000000..f3e99e6 Binary files /dev/null and b/29/images/icons-png/bars-black.png differ diff --git a/29/images/icons-png/bars-white.png b/29/images/icons-png/bars-white.png new file mode 100644 index 0000000..84059c6 Binary files /dev/null and b/29/images/icons-png/bars-white.png differ diff --git a/29/images/icons-png/bullets-black.png b/29/images/icons-png/bullets-black.png new file mode 100644 index 0000000..10a2f1c Binary files /dev/null and b/29/images/icons-png/bullets-black.png differ diff --git a/29/images/icons-png/bullets-white.png b/29/images/icons-png/bullets-white.png new file mode 100644 index 0000000..49971a1 Binary files /dev/null and b/29/images/icons-png/bullets-white.png differ diff --git a/29/images/icons-png/calendar-black.png b/29/images/icons-png/calendar-black.png new file mode 100644 index 0000000..c4a643c Binary files /dev/null and b/29/images/icons-png/calendar-black.png differ diff --git a/29/images/icons-png/calendar-white.png b/29/images/icons-png/calendar-white.png new file mode 100644 index 0000000..e5b7b9f Binary files /dev/null and b/29/images/icons-png/calendar-white.png differ diff --git a/29/images/icons-png/camera-black.png b/29/images/icons-png/camera-black.png new file mode 100644 index 0000000..6a029ea Binary files /dev/null and b/29/images/icons-png/camera-black.png differ diff --git a/29/images/icons-png/camera-white.png b/29/images/icons-png/camera-white.png new file mode 100644 index 0000000..7f00e23 Binary files /dev/null and b/29/images/icons-png/camera-white.png differ diff --git a/29/images/icons-png/carat-d-black.png b/29/images/icons-png/carat-d-black.png new file mode 100644 index 0000000..0653b69 Binary files /dev/null and b/29/images/icons-png/carat-d-black.png differ diff --git a/29/images/icons-png/carat-d-white.png b/29/images/icons-png/carat-d-white.png new file mode 100644 index 0000000..9e7e9e9 Binary files /dev/null and b/29/images/icons-png/carat-d-white.png differ diff --git a/29/images/icons-png/carat-l-black.png b/29/images/icons-png/carat-l-black.png new file mode 100644 index 0000000..c8c495d Binary files /dev/null and b/29/images/icons-png/carat-l-black.png differ diff --git a/29/images/icons-png/carat-l-white.png b/29/images/icons-png/carat-l-white.png new file mode 100644 index 0000000..af941a0 Binary files /dev/null and b/29/images/icons-png/carat-l-white.png differ diff --git a/29/images/icons-png/carat-r-black.png b/29/images/icons-png/carat-r-black.png new file mode 100644 index 0000000..1343997 Binary files /dev/null and b/29/images/icons-png/carat-r-black.png differ diff --git a/29/images/icons-png/carat-r-white.png b/29/images/icons-png/carat-r-white.png new file mode 100644 index 0000000..f377fd8 Binary files /dev/null and b/29/images/icons-png/carat-r-white.png differ diff --git a/29/images/icons-png/carat-u-black.png b/29/images/icons-png/carat-u-black.png new file mode 100644 index 0000000..a1a5ab6 Binary files /dev/null and b/29/images/icons-png/carat-u-black.png differ diff --git a/29/images/icons-png/carat-u-white.png b/29/images/icons-png/carat-u-white.png new file mode 100644 index 0000000..5b2deba Binary files /dev/null and b/29/images/icons-png/carat-u-white.png differ diff --git a/29/images/icons-png/check-black.png b/29/images/icons-png/check-black.png new file mode 100644 index 0000000..2cf2fc6 Binary files /dev/null and b/29/images/icons-png/check-black.png differ diff --git a/29/images/icons-png/check-white.png b/29/images/icons-png/check-white.png new file mode 100644 index 0000000..b9f558c Binary files /dev/null and b/29/images/icons-png/check-white.png differ diff --git a/29/images/icons-png/clock-black.png b/29/images/icons-png/clock-black.png new file mode 100644 index 0000000..0c38d91 Binary files /dev/null and b/29/images/icons-png/clock-black.png differ diff --git a/29/images/icons-png/clock-white.png b/29/images/icons-png/clock-white.png new file mode 100644 index 0000000..bf5a877 Binary files /dev/null and b/29/images/icons-png/clock-white.png differ diff --git a/29/images/icons-png/cloud-black.png b/29/images/icons-png/cloud-black.png new file mode 100644 index 0000000..7c50e37 Binary files /dev/null and b/29/images/icons-png/cloud-black.png differ diff --git a/29/images/icons-png/cloud-white.png b/29/images/icons-png/cloud-white.png new file mode 100644 index 0000000..6bbe752 Binary files /dev/null and b/29/images/icons-png/cloud-white.png differ diff --git a/29/images/icons-png/comment-black.png b/29/images/icons-png/comment-black.png new file mode 100644 index 0000000..8de9ce8 Binary files /dev/null and b/29/images/icons-png/comment-black.png differ diff --git a/29/images/icons-png/comment-white.png b/29/images/icons-png/comment-white.png new file mode 100644 index 0000000..5ff59e3 Binary files /dev/null and b/29/images/icons-png/comment-white.png differ diff --git a/29/images/icons-png/delete-black.png b/29/images/icons-png/delete-black.png new file mode 100644 index 0000000..94a5b9f Binary files /dev/null and b/29/images/icons-png/delete-black.png differ diff --git a/29/images/icons-png/delete-white.png b/29/images/icons-png/delete-white.png new file mode 100644 index 0000000..ff984a9 Binary files /dev/null and b/29/images/icons-png/delete-white.png differ diff --git a/29/images/icons-png/edit-black.png b/29/images/icons-png/edit-black.png new file mode 100644 index 0000000..ab390d7 Binary files /dev/null and b/29/images/icons-png/edit-black.png differ diff --git a/29/images/icons-png/edit-white.png b/29/images/icons-png/edit-white.png new file mode 100644 index 0000000..ae657a0 Binary files /dev/null and b/29/images/icons-png/edit-white.png differ diff --git a/29/images/icons-png/eye-black.png b/29/images/icons-png/eye-black.png new file mode 100644 index 0000000..d7cc1d0 Binary files /dev/null and b/29/images/icons-png/eye-black.png differ diff --git a/29/images/icons-png/eye-white.png b/29/images/icons-png/eye-white.png new file mode 100644 index 0000000..c05bd0d Binary files /dev/null and b/29/images/icons-png/eye-white.png differ diff --git a/29/images/icons-png/forbidden-black.png b/29/images/icons-png/forbidden-black.png new file mode 100644 index 0000000..7509825 Binary files /dev/null and b/29/images/icons-png/forbidden-black.png differ diff --git a/29/images/icons-png/forbidden-white.png b/29/images/icons-png/forbidden-white.png new file mode 100644 index 0000000..bf13593 Binary files /dev/null and b/29/images/icons-png/forbidden-white.png differ diff --git a/29/images/icons-png/forward-black.png b/29/images/icons-png/forward-black.png new file mode 100644 index 0000000..bcc4622 Binary files /dev/null and b/29/images/icons-png/forward-black.png differ diff --git a/29/images/icons-png/forward-white.png b/29/images/icons-png/forward-white.png new file mode 100644 index 0000000..fa80f36 Binary files /dev/null and b/29/images/icons-png/forward-white.png differ diff --git a/29/images/icons-png/gear-black.png b/29/images/icons-png/gear-black.png new file mode 100644 index 0000000..b6b37b4 Binary files /dev/null and b/29/images/icons-png/gear-black.png differ diff --git a/29/images/icons-png/gear-white.png b/29/images/icons-png/gear-white.png new file mode 100644 index 0000000..72c9767 Binary files /dev/null and b/29/images/icons-png/gear-white.png differ diff --git a/29/images/icons-png/grid-black.png b/29/images/icons-png/grid-black.png new file mode 100644 index 0000000..aee3160 Binary files /dev/null and b/29/images/icons-png/grid-black.png differ diff --git a/29/images/icons-png/grid-white.png b/29/images/icons-png/grid-white.png new file mode 100644 index 0000000..19652cd Binary files /dev/null and b/29/images/icons-png/grid-white.png differ diff --git a/29/images/icons-png/heart-black.png b/29/images/icons-png/heart-black.png new file mode 100644 index 0000000..fda9f92 Binary files /dev/null and b/29/images/icons-png/heart-black.png differ diff --git a/29/images/icons-png/heart-white.png b/29/images/icons-png/heart-white.png new file mode 100644 index 0000000..ba7a949 Binary files /dev/null and b/29/images/icons-png/heart-white.png differ diff --git a/29/images/icons-png/home-black.png b/29/images/icons-png/home-black.png new file mode 100644 index 0000000..6b4e5f3 Binary files /dev/null and b/29/images/icons-png/home-black.png differ diff --git a/29/images/icons-png/home-white.png b/29/images/icons-png/home-white.png new file mode 100644 index 0000000..c1f8fed Binary files /dev/null and b/29/images/icons-png/home-white.png differ diff --git a/29/images/icons-png/info-black.png b/29/images/icons-png/info-black.png new file mode 100644 index 0000000..46ee7e3 Binary files /dev/null and b/29/images/icons-png/info-black.png differ diff --git a/29/images/icons-png/info-white.png b/29/images/icons-png/info-white.png new file mode 100644 index 0000000..af8346f Binary files /dev/null and b/29/images/icons-png/info-white.png differ diff --git a/29/images/icons-png/location-black.png b/29/images/icons-png/location-black.png new file mode 100644 index 0000000..4cd8998 Binary files /dev/null and b/29/images/icons-png/location-black.png differ diff --git a/29/images/icons-png/location-white.png b/29/images/icons-png/location-white.png new file mode 100644 index 0000000..f6eeacd Binary files /dev/null and b/29/images/icons-png/location-white.png differ diff --git a/29/images/icons-png/lock-black.png b/29/images/icons-png/lock-black.png new file mode 100644 index 0000000..bf947e8 Binary files /dev/null and b/29/images/icons-png/lock-black.png differ diff --git a/29/images/icons-png/lock-white.png b/29/images/icons-png/lock-white.png new file mode 100644 index 0000000..aa60e23 Binary files /dev/null and b/29/images/icons-png/lock-white.png differ diff --git a/29/images/icons-png/mail-black.png b/29/images/icons-png/mail-black.png new file mode 100644 index 0000000..cb67c0e Binary files /dev/null and b/29/images/icons-png/mail-black.png differ diff --git a/29/images/icons-png/mail-white.png b/29/images/icons-png/mail-white.png new file mode 100644 index 0000000..06a6083 Binary files /dev/null and b/29/images/icons-png/mail-white.png differ diff --git a/29/images/icons-png/minus-black.png b/29/images/icons-png/minus-black.png new file mode 100644 index 0000000..97589d7 Binary files /dev/null and b/29/images/icons-png/minus-black.png differ diff --git a/29/images/icons-png/minus-white.png b/29/images/icons-png/minus-white.png new file mode 100644 index 0000000..874eaf3 Binary files /dev/null and b/29/images/icons-png/minus-white.png differ diff --git a/29/images/icons-png/navigation-black.png b/29/images/icons-png/navigation-black.png new file mode 100644 index 0000000..17abd7b Binary files /dev/null and b/29/images/icons-png/navigation-black.png differ diff --git a/29/images/icons-png/navigation-white.png b/29/images/icons-png/navigation-white.png new file mode 100644 index 0000000..195388d Binary files /dev/null and b/29/images/icons-png/navigation-white.png differ diff --git a/29/images/icons-png/phone-black.png b/29/images/icons-png/phone-black.png new file mode 100644 index 0000000..6d0a09c Binary files /dev/null and b/29/images/icons-png/phone-black.png differ diff --git a/29/images/icons-png/phone-white.png b/29/images/icons-png/phone-white.png new file mode 100644 index 0000000..773b602 Binary files /dev/null and b/29/images/icons-png/phone-white.png differ diff --git a/29/images/icons-png/plus-black.png b/29/images/icons-png/plus-black.png new file mode 100644 index 0000000..0854727 Binary files /dev/null and b/29/images/icons-png/plus-black.png differ diff --git a/29/images/icons-png/plus-white.png b/29/images/icons-png/plus-white.png new file mode 100644 index 0000000..7b48418 Binary files /dev/null and b/29/images/icons-png/plus-white.png differ diff --git a/29/images/icons-png/power-black.png b/29/images/icons-png/power-black.png new file mode 100644 index 0000000..bb95411 Binary files /dev/null and b/29/images/icons-png/power-black.png differ diff --git a/29/images/icons-png/power-white.png b/29/images/icons-png/power-white.png new file mode 100644 index 0000000..8852da1 Binary files /dev/null and b/29/images/icons-png/power-white.png differ diff --git a/29/images/icons-png/recycle-black.png b/29/images/icons-png/recycle-black.png new file mode 100644 index 0000000..dabed38 Binary files /dev/null and b/29/images/icons-png/recycle-black.png differ diff --git a/29/images/icons-png/recycle-white.png b/29/images/icons-png/recycle-white.png new file mode 100644 index 0000000..42c37b6 Binary files /dev/null and b/29/images/icons-png/recycle-white.png differ diff --git a/29/images/icons-png/refresh-black.png b/29/images/icons-png/refresh-black.png new file mode 100644 index 0000000..fb19712 Binary files /dev/null and b/29/images/icons-png/refresh-black.png differ diff --git a/29/images/icons-png/refresh-white.png b/29/images/icons-png/refresh-white.png new file mode 100644 index 0000000..fdd59ad Binary files /dev/null and b/29/images/icons-png/refresh-white.png differ diff --git a/29/images/icons-png/search-black.png b/29/images/icons-png/search-black.png new file mode 100644 index 0000000..02b66cf Binary files /dev/null and b/29/images/icons-png/search-black.png differ diff --git a/29/images/icons-png/search-white.png b/29/images/icons-png/search-white.png new file mode 100644 index 0000000..274517d Binary files /dev/null and b/29/images/icons-png/search-white.png differ diff --git a/29/images/icons-png/shop-black.png b/29/images/icons-png/shop-black.png new file mode 100644 index 0000000..c2f3719 Binary files /dev/null and b/29/images/icons-png/shop-black.png differ diff --git a/29/images/icons-png/shop-white.png b/29/images/icons-png/shop-white.png new file mode 100644 index 0000000..96de975 Binary files /dev/null and b/29/images/icons-png/shop-white.png differ diff --git a/29/images/icons-png/star-black.png b/29/images/icons-png/star-black.png new file mode 100644 index 0000000..381e1f2 Binary files /dev/null and b/29/images/icons-png/star-black.png differ diff --git a/29/images/icons-png/star-white.png b/29/images/icons-png/star-white.png new file mode 100644 index 0000000..bf6c4ab Binary files /dev/null and b/29/images/icons-png/star-white.png differ diff --git a/29/images/icons-png/tag-black.png b/29/images/icons-png/tag-black.png new file mode 100644 index 0000000..d6f65d1 Binary files /dev/null and b/29/images/icons-png/tag-black.png differ diff --git a/29/images/icons-png/tag-white.png b/29/images/icons-png/tag-white.png new file mode 100644 index 0000000..fc0df96 Binary files /dev/null and b/29/images/icons-png/tag-white.png differ diff --git a/29/images/icons-png/user-black.png b/29/images/icons-png/user-black.png new file mode 100644 index 0000000..1a0cb07 Binary files /dev/null and b/29/images/icons-png/user-black.png differ diff --git a/29/images/icons-png/user-white.png b/29/images/icons-png/user-white.png new file mode 100644 index 0000000..f843f6f Binary files /dev/null and b/29/images/icons-png/user-white.png differ diff --git a/29/images/icons-png/video-black.png b/29/images/icons-png/video-black.png new file mode 100644 index 0000000..97e74d4 Binary files /dev/null and b/29/images/icons-png/video-black.png differ diff --git a/29/images/icons-png/video-white.png b/29/images/icons-png/video-white.png new file mode 100644 index 0000000..cbe8bde Binary files /dev/null and b/29/images/icons-png/video-white.png differ diff --git a/29/images/icons-svg/action-black.svg b/29/images/icons-svg/action-black.svg new file mode 100644 index 0000000..ae0670a --- /dev/null +++ b/29/images/icons-svg/action-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/action-white.svg b/29/images/icons-svg/action-white.svg new file mode 100644 index 0000000..381b002 --- /dev/null +++ b/29/images/icons-svg/action-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/alert-black.svg b/29/images/icons-svg/alert-black.svg new file mode 100644 index 0000000..e1cf40c --- /dev/null +++ b/29/images/icons-svg/alert-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/alert-white.svg b/29/images/icons-svg/alert-white.svg new file mode 100644 index 0000000..69d8c0a --- /dev/null +++ b/29/images/icons-svg/alert-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/arrow-d-black.svg b/29/images/icons-svg/arrow-d-black.svg new file mode 100644 index 0000000..7a8b7de --- /dev/null +++ b/29/images/icons-svg/arrow-d-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-d-l-black.svg b/29/images/icons-svg/arrow-d-l-black.svg new file mode 100644 index 0000000..8c8d305 --- /dev/null +++ b/29/images/icons-svg/arrow-d-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-d-l-white.svg b/29/images/icons-svg/arrow-d-l-white.svg new file mode 100644 index 0000000..f7379cd --- /dev/null +++ b/29/images/icons-svg/arrow-d-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-d-r-black.svg b/29/images/icons-svg/arrow-d-r-black.svg new file mode 100644 index 0000000..95861e0 --- /dev/null +++ b/29/images/icons-svg/arrow-d-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-d-r-white.svg b/29/images/icons-svg/arrow-d-r-white.svg new file mode 100644 index 0000000..7874ca8 --- /dev/null +++ b/29/images/icons-svg/arrow-d-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-d-white.svg b/29/images/icons-svg/arrow-d-white.svg new file mode 100644 index 0000000..f80ad1b --- /dev/null +++ b/29/images/icons-svg/arrow-d-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-l-black.svg b/29/images/icons-svg/arrow-l-black.svg new file mode 100644 index 0000000..0190649 --- /dev/null +++ b/29/images/icons-svg/arrow-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-l-white.svg b/29/images/icons-svg/arrow-l-white.svg new file mode 100644 index 0000000..d9de81d --- /dev/null +++ b/29/images/icons-svg/arrow-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-r-black.svg b/29/images/icons-svg/arrow-r-black.svg new file mode 100644 index 0000000..7853c5f --- /dev/null +++ b/29/images/icons-svg/arrow-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-r-white.svg b/29/images/icons-svg/arrow-r-white.svg new file mode 100644 index 0000000..8c28fc7 --- /dev/null +++ b/29/images/icons-svg/arrow-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-u-black.svg b/29/images/icons-svg/arrow-u-black.svg new file mode 100644 index 0000000..abf9d90 --- /dev/null +++ b/29/images/icons-svg/arrow-u-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-u-l-black.svg b/29/images/icons-svg/arrow-u-l-black.svg new file mode 100644 index 0000000..08b5c6d --- /dev/null +++ b/29/images/icons-svg/arrow-u-l-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-u-l-white.svg b/29/images/icons-svg/arrow-u-l-white.svg new file mode 100644 index 0000000..234471e --- /dev/null +++ b/29/images/icons-svg/arrow-u-l-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-u-r-black.svg b/29/images/icons-svg/arrow-u-r-black.svg new file mode 100644 index 0000000..db1536d --- /dev/null +++ b/29/images/icons-svg/arrow-u-r-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-u-r-white.svg b/29/images/icons-svg/arrow-u-r-white.svg new file mode 100644 index 0000000..5a510f2 --- /dev/null +++ b/29/images/icons-svg/arrow-u-r-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/arrow-u-white.svg b/29/images/icons-svg/arrow-u-white.svg new file mode 100644 index 0000000..7e2aeb2 --- /dev/null +++ b/29/images/icons-svg/arrow-u-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/audio-black.svg b/29/images/icons-svg/audio-black.svg new file mode 100644 index 0000000..f3651d7 --- /dev/null +++ b/29/images/icons-svg/audio-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/audio-white.svg b/29/images/icons-svg/audio-white.svg new file mode 100644 index 0000000..a689699 --- /dev/null +++ b/29/images/icons-svg/audio-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/back-black.svg b/29/images/icons-svg/back-black.svg new file mode 100644 index 0000000..0b281e8 --- /dev/null +++ b/29/images/icons-svg/back-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/back-white.svg b/29/images/icons-svg/back-white.svg new file mode 100644 index 0000000..c13ff0a --- /dev/null +++ b/29/images/icons-svg/back-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/bars-black.svg b/29/images/icons-svg/bars-black.svg new file mode 100644 index 0000000..86b42c9 --- /dev/null +++ b/29/images/icons-svg/bars-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/bars-white.svg b/29/images/icons-svg/bars-white.svg new file mode 100644 index 0000000..035c299 --- /dev/null +++ b/29/images/icons-svg/bars-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/bullets-black.svg b/29/images/icons-svg/bullets-black.svg new file mode 100644 index 0000000..cd96193 --- /dev/null +++ b/29/images/icons-svg/bullets-black.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/29/images/icons-svg/bullets-white.svg b/29/images/icons-svg/bullets-white.svg new file mode 100644 index 0000000..4655f15 --- /dev/null +++ b/29/images/icons-svg/bullets-white.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/29/images/icons-svg/calendar-black.svg b/29/images/icons-svg/calendar-black.svg new file mode 100644 index 0000000..5c3aede --- /dev/null +++ b/29/images/icons-svg/calendar-black.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/calendar-white.svg b/29/images/icons-svg/calendar-white.svg new file mode 100644 index 0000000..177dab9 --- /dev/null +++ b/29/images/icons-svg/calendar-white.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/camera-black.svg b/29/images/icons-svg/camera-black.svg new file mode 100644 index 0000000..58a3182 --- /dev/null +++ b/29/images/icons-svg/camera-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/camera-white.svg b/29/images/icons-svg/camera-white.svg new file mode 100644 index 0000000..78c620e --- /dev/null +++ b/29/images/icons-svg/camera-white.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/29/images/icons-svg/carat-d-black.svg b/29/images/icons-svg/carat-d-black.svg new file mode 100644 index 0000000..03dc079 --- /dev/null +++ b/29/images/icons-svg/carat-d-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-d-white.svg b/29/images/icons-svg/carat-d-white.svg new file mode 100644 index 0000000..21ea91f --- /dev/null +++ b/29/images/icons-svg/carat-d-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-l-black.svg b/29/images/icons-svg/carat-l-black.svg new file mode 100644 index 0000000..bc853bc --- /dev/null +++ b/29/images/icons-svg/carat-l-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-l-white.svg b/29/images/icons-svg/carat-l-white.svg new file mode 100644 index 0000000..d9a6ce7 --- /dev/null +++ b/29/images/icons-svg/carat-l-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-r-black.svg b/29/images/icons-svg/carat-r-black.svg new file mode 100644 index 0000000..594cfa2 --- /dev/null +++ b/29/images/icons-svg/carat-r-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-r-white.svg b/29/images/icons-svg/carat-r-white.svg new file mode 100644 index 0000000..d384145 --- /dev/null +++ b/29/images/icons-svg/carat-r-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-u-black.svg b/29/images/icons-svg/carat-u-black.svg new file mode 100644 index 0000000..7647d06 --- /dev/null +++ b/29/images/icons-svg/carat-u-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/carat-u-white.svg b/29/images/icons-svg/carat-u-white.svg new file mode 100644 index 0000000..cdbc1cf --- /dev/null +++ b/29/images/icons-svg/carat-u-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/check-black.svg b/29/images/icons-svg/check-black.svg new file mode 100644 index 0000000..a4b8663 --- /dev/null +++ b/29/images/icons-svg/check-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/check-white.svg b/29/images/icons-svg/check-white.svg new file mode 100644 index 0000000..7afefd5 --- /dev/null +++ b/29/images/icons-svg/check-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/clock-black.svg b/29/images/icons-svg/clock-black.svg new file mode 100644 index 0000000..c68abef --- /dev/null +++ b/29/images/icons-svg/clock-black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/clock-white.svg b/29/images/icons-svg/clock-white.svg new file mode 100644 index 0000000..5589238 --- /dev/null +++ b/29/images/icons-svg/clock-white.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/cloud-black.svg b/29/images/icons-svg/cloud-black.svg new file mode 100644 index 0000000..ddfbde5 --- /dev/null +++ b/29/images/icons-svg/cloud-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/cloud-white.svg b/29/images/icons-svg/cloud-white.svg new file mode 100644 index 0000000..d5b0794 --- /dev/null +++ b/29/images/icons-svg/cloud-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/comment-black.svg b/29/images/icons-svg/comment-black.svg new file mode 100644 index 0000000..485fcc8 --- /dev/null +++ b/29/images/icons-svg/comment-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/comment-white.svg b/29/images/icons-svg/comment-white.svg new file mode 100644 index 0000000..8d188db --- /dev/null +++ b/29/images/icons-svg/comment-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/delete-black.svg b/29/images/icons-svg/delete-black.svg new file mode 100644 index 0000000..74d9988 --- /dev/null +++ b/29/images/icons-svg/delete-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/delete-white.svg b/29/images/icons-svg/delete-white.svg new file mode 100644 index 0000000..a6cc735 --- /dev/null +++ b/29/images/icons-svg/delete-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/edit-black.svg b/29/images/icons-svg/edit-black.svg new file mode 100644 index 0000000..d908f9d --- /dev/null +++ b/29/images/icons-svg/edit-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/edit-white.svg b/29/images/icons-svg/edit-white.svg new file mode 100644 index 0000000..a88643d --- /dev/null +++ b/29/images/icons-svg/edit-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/eye-black.svg b/29/images/icons-svg/eye-black.svg new file mode 100644 index 0000000..d55bc65 --- /dev/null +++ b/29/images/icons-svg/eye-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/eye-white.svg b/29/images/icons-svg/eye-white.svg new file mode 100644 index 0000000..f95ad50 --- /dev/null +++ b/29/images/icons-svg/eye-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/forbidden-black.svg b/29/images/icons-svg/forbidden-black.svg new file mode 100644 index 0000000..fe831bc --- /dev/null +++ b/29/images/icons-svg/forbidden-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/forbidden-white.svg b/29/images/icons-svg/forbidden-white.svg new file mode 100644 index 0000000..710ac39 --- /dev/null +++ b/29/images/icons-svg/forbidden-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/forward-black.svg b/29/images/icons-svg/forward-black.svg new file mode 100644 index 0000000..b0001d9 --- /dev/null +++ b/29/images/icons-svg/forward-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/forward-white.svg b/29/images/icons-svg/forward-white.svg new file mode 100644 index 0000000..e1f3a6a --- /dev/null +++ b/29/images/icons-svg/forward-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/gear-black.svg b/29/images/icons-svg/gear-black.svg new file mode 100644 index 0000000..4f397c5 --- /dev/null +++ b/29/images/icons-svg/gear-black.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/gear-white.svg b/29/images/icons-svg/gear-white.svg new file mode 100644 index 0000000..3a5668f --- /dev/null +++ b/29/images/icons-svg/gear-white.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/grid-black.svg b/29/images/icons-svg/grid-black.svg new file mode 100644 index 0000000..e692e1f --- /dev/null +++ b/29/images/icons-svg/grid-black.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/grid-white.svg b/29/images/icons-svg/grid-white.svg new file mode 100644 index 0000000..5cfaa7c --- /dev/null +++ b/29/images/icons-svg/grid-white.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/heart-black.svg b/29/images/icons-svg/heart-black.svg new file mode 100644 index 0000000..f4946b0 --- /dev/null +++ b/29/images/icons-svg/heart-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/heart-white.svg b/29/images/icons-svg/heart-white.svg new file mode 100644 index 0000000..190ebef --- /dev/null +++ b/29/images/icons-svg/heart-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/home-black.svg b/29/images/icons-svg/home-black.svg new file mode 100644 index 0000000..a4950a3 --- /dev/null +++ b/29/images/icons-svg/home-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/home-white.svg b/29/images/icons-svg/home-white.svg new file mode 100644 index 0000000..b7c1a61 --- /dev/null +++ b/29/images/icons-svg/home-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/info-black.svg b/29/images/icons-svg/info-black.svg new file mode 100644 index 0000000..151cfa2 --- /dev/null +++ b/29/images/icons-svg/info-black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/info-white.svg b/29/images/icons-svg/info-white.svg new file mode 100644 index 0000000..dd0f885 --- /dev/null +++ b/29/images/icons-svg/info-white.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/location-black.svg b/29/images/icons-svg/location-black.svg new file mode 100644 index 0000000..4a29d73 --- /dev/null +++ b/29/images/icons-svg/location-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/location-white.svg b/29/images/icons-svg/location-white.svg new file mode 100644 index 0000000..2b6ac8a --- /dev/null +++ b/29/images/icons-svg/location-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/lock-black.svg b/29/images/icons-svg/lock-black.svg new file mode 100644 index 0000000..0a005ea --- /dev/null +++ b/29/images/icons-svg/lock-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/lock-white.svg b/29/images/icons-svg/lock-white.svg new file mode 100644 index 0000000..b1e042c --- /dev/null +++ b/29/images/icons-svg/lock-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/mail-black.svg b/29/images/icons-svg/mail-black.svg new file mode 100644 index 0000000..635c615 --- /dev/null +++ b/29/images/icons-svg/mail-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/mail-white.svg b/29/images/icons-svg/mail-white.svg new file mode 100644 index 0000000..547f512 --- /dev/null +++ b/29/images/icons-svg/mail-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/minus-black.svg b/29/images/icons-svg/minus-black.svg new file mode 100644 index 0000000..a20df14 --- /dev/null +++ b/29/images/icons-svg/minus-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/minus-white.svg b/29/images/icons-svg/minus-white.svg new file mode 100644 index 0000000..8063cdc --- /dev/null +++ b/29/images/icons-svg/minus-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/navigation-black.svg b/29/images/icons-svg/navigation-black.svg new file mode 100644 index 0000000..6867808 --- /dev/null +++ b/29/images/icons-svg/navigation-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/navigation-white.svg b/29/images/icons-svg/navigation-white.svg new file mode 100644 index 0000000..0d3115f --- /dev/null +++ b/29/images/icons-svg/navigation-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/phone-black.svg b/29/images/icons-svg/phone-black.svg new file mode 100644 index 0000000..cf84c78 --- /dev/null +++ b/29/images/icons-svg/phone-black.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/29/images/icons-svg/phone-white.svg b/29/images/icons-svg/phone-white.svg new file mode 100644 index 0000000..825425e --- /dev/null +++ b/29/images/icons-svg/phone-white.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/29/images/icons-svg/plus-black.svg b/29/images/icons-svg/plus-black.svg new file mode 100644 index 0000000..2e268b0 --- /dev/null +++ b/29/images/icons-svg/plus-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/plus-white.svg b/29/images/icons-svg/plus-white.svg new file mode 100644 index 0000000..488129f --- /dev/null +++ b/29/images/icons-svg/plus-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/power-black.svg b/29/images/icons-svg/power-black.svg new file mode 100644 index 0000000..461ea1f --- /dev/null +++ b/29/images/icons-svg/power-black.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/29/images/icons-svg/power-white.svg b/29/images/icons-svg/power-white.svg new file mode 100644 index 0000000..5c82ba7 --- /dev/null +++ b/29/images/icons-svg/power-white.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/29/images/icons-svg/recycle-black.svg b/29/images/icons-svg/recycle-black.svg new file mode 100644 index 0000000..25078b7 --- /dev/null +++ b/29/images/icons-svg/recycle-black.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/images/icons-svg/recycle-white.svg b/29/images/icons-svg/recycle-white.svg new file mode 100644 index 0000000..8a9f5e7 --- /dev/null +++ b/29/images/icons-svg/recycle-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/refresh-black.svg b/29/images/icons-svg/refresh-black.svg new file mode 100644 index 0000000..16c978c --- /dev/null +++ b/29/images/icons-svg/refresh-black.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/refresh-white.svg b/29/images/icons-svg/refresh-white.svg new file mode 100644 index 0000000..fa370e6 --- /dev/null +++ b/29/images/icons-svg/refresh-white.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/search-black.svg b/29/images/icons-svg/search-black.svg new file mode 100644 index 0000000..229b221 --- /dev/null +++ b/29/images/icons-svg/search-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/search-white.svg b/29/images/icons-svg/search-white.svg new file mode 100644 index 0000000..a54a52a --- /dev/null +++ b/29/images/icons-svg/search-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/shop-black.svg b/29/images/icons-svg/shop-black.svg new file mode 100644 index 0000000..ba541b4 --- /dev/null +++ b/29/images/icons-svg/shop-black.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/shop-white.svg b/29/images/icons-svg/shop-white.svg new file mode 100644 index 0000000..3acf9e8 --- /dev/null +++ b/29/images/icons-svg/shop-white.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/29/images/icons-svg/star-black.svg b/29/images/icons-svg/star-black.svg new file mode 100644 index 0000000..43076c0 --- /dev/null +++ b/29/images/icons-svg/star-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/star-white.svg b/29/images/icons-svg/star-white.svg new file mode 100644 index 0000000..e0cc53d --- /dev/null +++ b/29/images/icons-svg/star-white.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/tag-black.svg b/29/images/icons-svg/tag-black.svg new file mode 100644 index 0000000..bd11ae6 --- /dev/null +++ b/29/images/icons-svg/tag-black.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/tag-white.svg b/29/images/icons-svg/tag-white.svg new file mode 100644 index 0000000..7cd4a50 --- /dev/null +++ b/29/images/icons-svg/tag-white.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/user-black.svg b/29/images/icons-svg/user-black.svg new file mode 100644 index 0000000..7530c98 --- /dev/null +++ b/29/images/icons-svg/user-black.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/user-white.svg b/29/images/icons-svg/user-white.svg new file mode 100644 index 0000000..5528c2e --- /dev/null +++ b/29/images/icons-svg/user-white.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/29/images/icons-svg/video-black.svg b/29/images/icons-svg/video-black.svg new file mode 100644 index 0000000..9474acd --- /dev/null +++ b/29/images/icons-svg/video-black.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/29/images/icons-svg/video-white.svg b/29/images/icons-svg/video-white.svg new file mode 100644 index 0000000..3619868 --- /dev/null +++ b/29/images/icons-svg/video-white.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/29/jquery-2.2.4.min.js b/29/jquery-2.2.4.min.js new file mode 100644 index 0000000..4024b66 --- /dev/null +++ b/29/jquery-2.2.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; +}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("