From 7fc38f667b3937c0760c1eee1a8cb0fda3135e3b Mon Sep 17 00:00:00 2001 From: Kevin Decherf Date: Sat, 21 Mar 2020 00:43:01 +0100 Subject: misc: reindent EntryFilterType Signed-off-by: Kevin Decherf --- .../CoreBundle/Form/Type/EntryFilterType.php | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php index 17070c59..365804dd 100644 --- a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php @@ -73,23 +73,22 @@ class EntryFilterType extends AbstractType 'label' => 'entry.filters.reading_time.label', ]) ->add('createdAt', DateRangeFilterType::class, [ - 'left_date_options' => [ - 'attr' => [ - 'placeholder' => 'dd/mm/yyyy', - ], - 'format' => 'dd/MM/yyyy', - 'widget' => 'single_text', + 'left_date_options' => [ + 'attr' => [ + 'placeholder' => 'dd/mm/yyyy', ], - 'right_date_options' => [ - 'attr' => [ - 'placeholder' => 'dd/mm/yyyy', - ], - 'format' => 'dd/MM/yyyy', - 'widget' => 'single_text', + 'format' => 'dd/MM/yyyy', + 'widget' => 'single_text', + ], + 'right_date_options' => [ + 'attr' => [ + 'placeholder' => 'dd/mm/yyyy', ], - 'label' => 'entry.filters.created_at.label', - ] - ) + 'format' => 'dd/MM/yyyy', + 'widget' => 'single_text', + ], + 'label' => 'entry.filters.created_at.label', + ]) ->add('domainName', TextFilterType::class, [ 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { $value = $values['value']; -- cgit v1.2.3 From ef81e3c89b00712476b0698e7c9057fc05a2e1c9 Mon Sep 17 00:00:00 2001 From: Kevin Decherf Date: Sat, 21 Mar 2020 21:09:57 +0100 Subject: tests: replace baggy theme used in EntryController tests Signed-off-by: Kevin Decherf --- .../views/themes/material/Entry/entries.html.twig | 2 +- .../CoreBundle/Controller/EntryControllerTest.php | 77 +++++++++------------- 2 files changed, 33 insertions(+), 46 deletions(-) diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig index 3906e1e0..540381b6 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig @@ -39,7 +39,7 @@
    {% for entry in entries %} -
  • +
  • {% if listMode == 1 %} {% include "@WallabagCore/themes/material/Entry/_card_list.html.twig" with {'entry': entry} only %} {% elseif not entry.previewPicture is null and entry.mimetype starts with 'image/' %} diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php index 3a8f92e7..29d15eea 100644 --- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php @@ -90,19 +90,18 @@ class EntryControllerTest extends WallabagCoreTestCase public function testPostNewViaBookmarklet() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/'); - $this->assertCount(4, $crawler->filter('div[class=entry]')); + $this->assertCount(4, $crawler->filter('li.entry')); // Good URL $client->request('GET', '/bookmarklet', ['url' => $this->url]); $this->assertSame(302, $client->getResponse()->getStatusCode()); $client->followRedirect(); $crawler = $client->request('GET', '/'); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); $em = $client->getContainer() ->get('doctrine.orm.entity_manager'); @@ -694,7 +693,6 @@ class EntryControllerTest extends WallabagCoreTestCase public function testFilterOnReadingTime() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $entry = new Entry($this->getLoggedInUser()); $entry->setUrl($this->url); @@ -713,7 +711,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); } public function testFilterOnReadingTimeWithNegativeValue() @@ -733,17 +731,16 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); // forcing negative value results in no entry displayed - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(0, $crawler->filter('li.entry')); } public function testFilterOnReadingTimeOnlyUpper() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/all/list'); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); $entry = new Entry($this->getLoggedInUser()); $entry->setUrl($this->url); @@ -752,7 +749,7 @@ class EntryControllerTest extends WallabagCoreTestCase $this->getEntityManager()->flush(); $crawler = $client->request('GET', '/all/list'); - $this->assertCount(6, $crawler->filter('div[class=entry]')); + $this->assertCount(6, $crawler->filter('li.entry')); $form = $crawler->filter('button[id=submit-filter]')->form(); @@ -762,13 +759,12 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); } public function testFilterOnReadingTimeOnlyLower() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/unread/list'); @@ -781,7 +777,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(0, $crawler->filter('li.entry')); $entry = new Entry($this->getLoggedInUser()); $entry->setUrl($this->url); @@ -790,13 +786,12 @@ class EntryControllerTest extends WallabagCoreTestCase $this->getEntityManager()->flush(); $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); } public function testFilterOnUnreadStatus() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/all/list'); @@ -809,7 +804,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(4, $crawler->filter('div[class=entry]')); + $this->assertCount(4, $crawler->filter('li.entry')); $entry = new Entry($this->getLoggedInUser()); $entry->setUrl($this->url); @@ -819,13 +814,12 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); } public function testFilterOnCreationDate() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/unread/list'); @@ -839,7 +833,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); $data = [ 'entry_filter[createdAt][left_date]' => date('d/m/Y'), @@ -848,7 +842,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); $data = [ 'entry_filter[createdAt][left_date]' => '01/01/1970', @@ -857,7 +851,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(0, $crawler->filter('li.entry')); } public function testPaginationWithFilter() @@ -892,7 +886,6 @@ class EntryControllerTest extends WallabagCoreTestCase public function testFilterOnDomainName() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/unread/list'); @@ -902,7 +895,7 @@ class EntryControllerTest extends WallabagCoreTestCase ]; $crawler = $client->submit($form, $data); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); $crawler = $client->request('GET', '/unread/list'); $form = $crawler->filter('button[id=submit-filter]')->form(); @@ -911,7 +904,7 @@ class EntryControllerTest extends WallabagCoreTestCase ]; $crawler = $client->submit($form, $data); - $this->assertCount(5, $crawler->filter('div[class=entry]')); + $this->assertCount(5, $crawler->filter('li.entry')); $form = $crawler->filter('button[id=submit-filter]')->form(); $data = [ @@ -919,13 +912,12 @@ class EntryControllerTest extends WallabagCoreTestCase ]; $crawler = $client->submit($form, $data); - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(0, $crawler->filter('li.entry')); } public function testFilterOnStatus() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/unread/list'); @@ -934,20 +926,19 @@ class EntryControllerTest extends WallabagCoreTestCase $form['entry_filter[isStarred]']->untick(); $crawler = $client->submit($form); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); $form = $crawler->filter('button[id=submit-filter]')->form(); $form['entry_filter[isArchived]']->untick(); $form['entry_filter[isStarred]']->tick(); $crawler = $client->submit($form); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); } public function testFilterOnIsPublic() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/unread/list'); @@ -955,13 +946,12 @@ class EntryControllerTest extends WallabagCoreTestCase $form['entry_filter[isPublic]']->tick(); $crawler = $client->submit($form); - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(0, $crawler->filter('li.entry')); } public function testPreviewPictureFilter() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $crawler = $client->request('GET', '/unread/list'); @@ -969,13 +959,12 @@ class EntryControllerTest extends WallabagCoreTestCase $form['entry_filter[previewPicture]']->tick(); $crawler = $client->submit($form); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); } public function testFilterOnLanguage() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $entry = new Entry($this->getLoggedInUser()); @@ -991,7 +980,7 @@ class EntryControllerTest extends WallabagCoreTestCase ]; $crawler = $client->submit($form, $data); - $this->assertCount(3, $crawler->filter('div[class=entry]')); + $this->assertCount(3, $crawler->filter('li.entry')); $form = $crawler->filter('button[id=submit-filter]')->form(); $data = [ @@ -999,7 +988,7 @@ class EntryControllerTest extends WallabagCoreTestCase ]; $crawler = $client->submit($form, $data); - $this->assertCount(2, $crawler->filter('div[class=entry]')); + $this->assertCount(2, $crawler->filter('li.entry')); } public function testShareEntryPublicly() @@ -1181,7 +1170,6 @@ class EntryControllerTest extends WallabagCoreTestCase public function testFilterOnHttpStatus() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $entry = new Entry($this->getLoggedInUser()); @@ -1200,7 +1188,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); $entry = new Entry($this->getLoggedInUser()); $entry->setUrl($this->url); @@ -1223,7 +1211,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(2, $crawler->filter('div[class=entry]')); + $this->assertCount(2, $crawler->filter('li.entry')); $crawler = $client->request('GET', '/all/list'); $form = $crawler->filter('button[id=submit-filter]')->form(); @@ -1234,13 +1222,12 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(8, $crawler->filter('div[class=entry]')); + $this->assertCount(8, $crawler->filter('li.entry')); } public function testSearch() { $this->logInAs('admin'); - $this->useTheme('baggy'); $client = $this->getClient(); $entry = new Entry($this->getLoggedInUser()); @@ -1259,7 +1246,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(4, $crawler->filter('div[class=entry]')); + $this->assertCount(4, $crawler->filter('li.entry')); // Search on starred list $crawler = $client->request('GET', '/starred/list'); @@ -1278,7 +1265,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); $crawler = $client->request('GET', '/archive/list'); @@ -1297,7 +1284,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); $client->request('GET', '/delete/' . $entry->getId()); // test on list of all articles @@ -1310,7 +1297,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(0, $crawler->filter('li.entry')); // test url search on list of all articles $entry = new Entry($this->getLoggedInUser()); @@ -1329,7 +1316,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); // same as previous test but for case-sensitivity $crawler = $client->request('GET', '/all/list'); @@ -1341,7 +1328,7 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form, $data); - $this->assertCount(1, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('li.entry')); } public function dataForLanguage() -- cgit v1.2.3 From 8ee7b1603d23297a6c183105f79b1290ce9828bf Mon Sep 17 00:00:00 2001 From: Kevin Decherf Date: Sat, 21 Mar 2020 21:11:01 +0100 Subject: Fix createdAt date range filter - hiddenName has been disabled in order to fix the missing date range values when using the material theme - data format has been changed to 'Y-m-d' in order to comply with the browser date input default format - tests: date() and strtotime have been replaced with DateTime-related objects Signed-off-by: Kevin Decherf --- app/Resources/static/themes/material/index.js | 6 +++--- src/Wallabag/CoreBundle/Entity/Entry.php | 2 +- .../CoreBundle/Form/Type/EntryFilterType.php | 8 ++++---- .../CoreBundle/Controller/EntryControllerTest.php | 24 ++++++++++++++++------ web/wallassets/baggy.js | 2 +- web/wallassets/material.js | 2 +- 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/Resources/static/themes/material/index.js b/app/Resources/static/themes/material/index.js index e808d75c..da055e80 100755 --- a/app/Resources/static/themes/material/index.js +++ b/app/Resources/static/themes/material/index.js @@ -57,9 +57,9 @@ $(document).ready(() => { $('.datepicker').pickadate({ selectMonths: true, selectYears: 15, - formatSubmit: 'dd/mm/yyyy', - hiddenName: true, - format: 'dd/mm/yyyy', + formatSubmit: 'yyyy-mm-dd', + hiddenName: false, + format: 'yyyy-mm-dd', container: 'body', }); diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index 19045798..0e19a0c2 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php @@ -552,7 +552,7 @@ class Entry * * @return Entry */ - public function setCreatedAt(\DateTime $createdAt) + public function setCreatedAt(\DateTimeInterface $createdAt) { $this->createdAt = $createdAt; diff --git a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php index 365804dd..61ad99a8 100644 --- a/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Form/Type/EntryFilterType.php @@ -75,16 +75,16 @@ class EntryFilterType extends AbstractType ->add('createdAt', DateRangeFilterType::class, [ 'left_date_options' => [ 'attr' => [ - 'placeholder' => 'dd/mm/yyyy', + 'placeholder' => 'yyyy-mm-dd', ], - 'format' => 'dd/MM/yyyy', + 'format' => 'yyyy-MM-dd', 'widget' => 'single_text', ], 'right_date_options' => [ 'attr' => [ - 'placeholder' => 'dd/mm/yyyy', + 'placeholder' => 'yyyy-mm-dd', ], - 'format' => 'dd/MM/yyyy', + 'format' => 'yyyy-MM-dd', 'widget' => 'single_text', ], 'label' => 'entry.filters.created_at.label', diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php index 29d15eea..3dcc1cd0 100644 --- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php @@ -822,13 +822,25 @@ class EntryControllerTest extends WallabagCoreTestCase $this->logInAs('admin'); $client = $this->getClient(); + $em = $this->getEntityManager(); + + $today = new \DateTimeImmutable(); + $tomorrow = $today->add(new \DateInterval('P1D')); + $yesterday = $today->sub(new \DateInterval('P1D')); + + $entry = new Entry($this->getLoggedInUser()); + $entry->setUrl('http://0.0.0.0/testFilterOnCreationDate'); + $entry->setCreatedAt($yesterday); + $em->persist($entry); + $em->flush(); + $crawler = $client->request('GET', '/unread/list'); $form = $crawler->filter('button[id=submit-filter]')->form(); $data = [ - 'entry_filter[createdAt][left_date]' => date('d/m/Y'), - 'entry_filter[createdAt][right_date]' => date('d/m/Y', strtotime('+1 day')), + 'entry_filter[createdAt][left_date]' => $today->format('Y-m-d'), + 'entry_filter[createdAt][right_date]' => $tomorrow->format('Y-m-d'), ]; $crawler = $client->submit($form, $data); @@ -836,8 +848,8 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertCount(5, $crawler->filter('li.entry')); $data = [ - 'entry_filter[createdAt][left_date]' => date('d/m/Y'), - 'entry_filter[createdAt][right_date]' => date('d/m/Y'), + 'entry_filter[createdAt][left_date]' => $today->format('Y-m-d'), + 'entry_filter[createdAt][right_date]' => $today->format('Y-m-d'), ]; $crawler = $client->submit($form, $data); @@ -845,8 +857,8 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertCount(5, $crawler->filter('li.entry')); $data = [ - 'entry_filter[createdAt][left_date]' => '01/01/1970', - 'entry_filter[createdAt][right_date]' => '01/01/1970', + 'entry_filter[createdAt][left_date]' => '1970-01-01', + 'entry_filter[createdAt][right_date]' => '1970-01-01', ]; $crawler = $client->submit($form, $data); diff --git a/web/wallassets/baggy.js b/web/wallassets/baggy.js index 77249f12..72dd807d 100644 --- a/web/wallassets/baggy.js +++ b/web/wallassets/baggy.js @@ -1 +1 @@ -!function(e){function __webpack_require__(Q){if(t[Q])return t[Q].exports;var T=t[Q]={i:Q,l:!1,exports:{}};return e[Q].call(T.exports,T,T.exports,__webpack_require__),T.l=!0,T.exports}var t={};__webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.i=function(e){return e},__webpack_require__.d=function(e,t,Q){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:Q})},__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=244)}([function(e,t,Q){var T,r;!function(t,Q){"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?Q(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return Q(e)}:Q(t)}("undefined"!=typeof window?window:this,function(Q,n){function isArrayLike(e){var t=!!e&&"length"in e&&e.length,Q=L.type(e);return"function"!==Q&&!L.isWindow(e)&&("array"===Q||0===t||"number"==typeof t&&t>0&&t-1 in e)}function winnow(e,t,Q){if(L.isFunction(t))return L.grep(e,function(e,T){return!!t.call(e,T,e)!==Q});if(t.nodeType)return L.grep(e,function(e){return e===t!==Q});if("string"==typeof t){if(v.test(t))return L.filter(t,e,Q);t=L.filter(t,e)}return L.grep(e,function(e){return c.call(t,e)>-1!==Q})}function sibling(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function createOptions(e){var t={};return L.each(e.match(N)||[],function(e,Q){t[Q]=!0}),t}function completed(){o.removeEventListener("DOMContentLoaded",completed),Q.removeEventListener("load",completed),L.ready()}function Data(){this.expando=L.expando+Data.uid++}function dataAttr(e,t,Q){var T;if(void 0===Q&&1===e.nodeType)if(T="data-"+t.replace(P,"-$&").toLowerCase(),"string"==typeof(Q=e.getAttribute(T))){try{Q="true"===Q||"false"!==Q&&("null"===Q?null:+Q+""===Q?+Q:D.test(Q)?L.parseJSON(Q):Q)}catch(e){}w.set(e,t,Q)}else Q=void 0;return Q}function adjustCSS(e,t,Q,T){var r,n=1,i=20,o=T?function(){return T.cur()}:function(){return L.css(e,t,"")},a=o(),s=Q&&Q[3]||(L.cssNumber[t]?"":"px"),l=(L.cssNumber[t]||"px"!==s&&+a)&&B.exec(L.css(e,t));if(l&&l[3]!==s){s=s||l[3],Q=Q||[],l=+a||1;do{n=n||".5",l/=n,L.style(e,t,l+s)}while(n!==(n=o()/a)&&1!==n&&--i)}return Q&&(l=+l||+a||0,r=Q[1]?l+(Q[1]+1)*Q[2]:+Q[2],T&&(T.unit=s,T.start=l,T.end=r)),r}function getAll(e,t){var Q=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&L.nodeName(e,t)?L.merge([e],Q):Q}function setGlobalEval(e,t){for(var Q=0,T=e.length;Q-1)r&&r.push(n);else if(s=L.contains(n.ownerDocument,n),i=getAll(c.appendChild(n),"script"),s&&setGlobalEval(i),Q)for(l=0;n=i[l++];)Y.test(n.type||"")&&Q.push(n);return c}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return o.activeElement}catch(e){}}function on(e,t,Q,T,r,n){var i,o;if("object"==typeof t){"string"!=typeof Q&&(T=T||Q,Q=void 0);for(o in t)on(e,o,Q,T,t[o],n);return e}if(null==T&&null==r?(r=Q,T=Q=void 0):null==r&&("string"==typeof Q?(r=T,T=void 0):(r=T,T=Q,Q=void 0)),!1===r)r=returnFalse;else if(!r)return e;return 1===n&&(i=r,r=function(e){return L().off(e),i.apply(this,arguments)},r.guid=i.guid||(i.guid=L.guid++)),e.each(function(){L.event.add(this,t,r,T,Q)})}function manipulationTarget(e,t){return L.nodeName(e,"table")&&L.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function disableScript(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function restoreScript(e){var t=ee.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function cloneCopyEvent(e,t){var Q,T,r,n,i,o,a,s;if(1===t.nodeType){if(x.hasData(e)&&(n=x.access(e),i=x.set(t,n),s=n.events)){delete i.handle,i.events={};for(r in s)for(Q=0,T=s[r].length;Q1&&"string"==typeof p&&!_.checkClone&&J.test(p))return e.each(function(r){var n=e.eq(r);f&&(t[0]=p.call(this,r,n.html())),domManip(n,t,Q,T)});if(u&&(r=buildFragment(t,e[0].ownerDocument,!1,e,T),n=r.firstChild,1===r.childNodes.length&&(r=n),n||T)){for(i=L.map(getAll(r,"script"),disableScript),o=i.length;c")).appendTo(t.documentElement),t=Qe[0].contentDocument,t.write(),t.close(),Q=actualDisplay(e,t),Qe.detach()),Te[e]=Q),Q}function curCSS(e,t,Q){var T,r,n,i,o=e.style;return Q=Q||ie(e),i=Q?Q.getPropertyValue(t)||Q[t]:void 0,""!==i&&void 0!==i||L.contains(e.ownerDocument,e)||(i=L.style(e,t)),Q&&!_.pixelMarginRight()&&ne.test(i)&&re.test(t)&&(T=o.width,r=o.minWidth,n=o.maxWidth,o.minWidth=o.maxWidth=o.width=i,i=Q.width,o.width=T,o.minWidth=r,o.maxWidth=n),void 0!==i?i+"":i}function addGetHookIf(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function vendorPropName(e){if(e in de)return e;for(var t=e[0].toUpperCase()+e.slice(1),Q=ue.length;Q--;)if((e=ue[Q]+t)in de)return e}function setPositiveNumber(e,t,Q){var T=B.exec(t);return T?Math.max(0,T[2]-(Q||0))+(T[3]||"px"):t}function augmentWidthOrHeight(e,t,Q,T,r){for(var n=Q===(T?"border":"content")?4:"width"===t?1:0,i=0;n<4;n+=2)"margin"===Q&&(i+=L.css(e,Q+F[n],!0,r)),T?("content"===Q&&(i-=L.css(e,"padding"+F[n],!0,r)),"margin"!==Q&&(i-=L.css(e,"border"+F[n]+"Width",!0,r))):(i+=L.css(e,"padding"+F[n],!0,r),"padding"!==Q&&(i+=L.css(e,"border"+F[n]+"Width",!0,r)));return i}function getWidthOrHeight(e,t,Q){var T=!0,r="width"===t?e.offsetWidth:e.offsetHeight,n=ie(e),i="border-box"===L.css(e,"boxSizing",!1,n);if(r<=0||null==r){if(r=curCSS(e,t,n),(r<0||null==r)&&(r=e.style[t]),ne.test(r))return r;T=i&&(_.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+augmentWidthOrHeight(e,t,Q||(i?"border":"content"),T,n)+"px"}function showHide(e,t){for(var Q,T,r,n=[],i=0,o=e.length;i=0&&Q=0},isPlainObject:function(e){var t;if("object"!==L.type(e)||e.nodeType||L.isWindow(e))return!1;if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in e);return void 0===t||p.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[d.call(e)]||"object":typeof e},globalEval:function(e){var t,Q=eval;(e=L.trim(e))&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):Q(e))},camelCase:function(e){return e.replace(m,"ms-").replace(h,g)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var Q,T=0;if(isArrayLike(e))for(Q=e.length;TT.cacheLength&&delete cache[e.shift()],cache[t+" "]=Q}var e=[];return cache}function markFunction(e){return e[g]=!0,e}function assert(e){var t=d.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function addHandle(e,t){for(var Q=e.split("|"),r=Q.length;r--;)T.attrHandle[Q[r]]=t}function siblingCheck(e,t){var Q=t&&e,T=Q&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||M)-(~e.sourceIndex||M);if(T)return T;if(Q)for(;Q=Q.nextSibling;)if(Q===t)return-1;return e?1:-1}function createPositionalPseudo(e){return markFunction(function(t){return t=+t,markFunction(function(Q,T){for(var r,n=e([],Q.length,t),i=n.length;i--;)Q[r=n[i]]&&(Q[r]=!(T[r]=Q[r]))})})}function testContext(e){return e&&void 0!==e.getElementsByTagName&&e}function setFilters(){}function toSelector(e){for(var t=0,Q=e.length,T="";t1?function(t,Q,T){for(var r=e.length;r--;)if(!e[r](t,Q,T))return!1;return!0}:e[0]}function multipleContexts(e,t,Q){for(var T=0,r=t.length;T-1&&(n[s]=!(i[s]=c))}}else f=condense(f===i?f.splice(p,f.length):f),r?r(null,i,f,a):A.apply(i,f)})}function matcherFromTokens(e){for(var t,Q,r,n=e.length,i=T.relative[e[0].type],o=i||T.relative[" "],a=i?1:0,l=addCombinator(function(e){return e===t},o,!0),c=addCombinator(function(e){return x(t,e)>-1},o,!0),u=[function(e,Q,T){var r=!i&&(T||Q!==s)||((t=Q).nodeType?l(e,Q,T):c(e,Q,T));return t=null,r}];a1&&elementMatcher(u),a>1&&toSelector(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(U,"$1"),Q,a0,r=e.length>0,n=function(n,i,o,a,l){var c,p,L,f=0,m="0",h=n&&[],g=[],H=s,S=n||r&&T.find.TAG("*",l),b=E+=null==H?1:Math.random()||.1,y=S.length;for(l&&(s=i===d||i||l);m!==y&&null!=(c=S[m]);m++){if(r&&c){for(p=0,i||c.ownerDocument===d||(u(c),o=!_);L=e[p++];)if(L(c,i||d,o)){a.push(c);break}l&&(E=b)}Q&&((c=!L&&c)&&f--,n&&h.push(c))}if(f+=m,Q&&m!==f){for(p=0;L=t[p++];)L(h,g,i,o);if(n){if(f>0)for(;m--;)h[m]||g[m]||(g[m]=N.call(a));g=condense(g)}A.apply(a,g),l&&!n&&g.length>0&&f+t.length>1&&Sizzle.uniqueSort(a)}return l&&(E=b,s=H),h};return Q?markFunction(n):n}var t,Q,T,r,n,i,o,a,s,l,c,u,d,p,_,L,f,m,h,g="sizzle"+1*new Date,H=e.document,E=0,S=0,b=createCache(),y=createCache(),v=createCache(),O=function(e,t){return e===t&&(c=!0),0},M=1<<31,C={}.hasOwnProperty,V=[],N=V.pop,R=V.push,A=V.push,I=V.slice,x=function(e,t){for(var Q=0,T=e.length;Q+~]|"+D+")"+D+"*"),Y=new RegExp("="+D+"*([^\\]'\"]*?)"+D+"*\\]","g"),j=new RegExp(B),q=new RegExp("^"+P+"$"),W={ID:new RegExp("^#("+P+")"),CLASS:new RegExp("^\\.("+P+")"),TAG:new RegExp("^("+P+"|[*])"),ATTR:new RegExp("^"+k),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+D+"*(even|odd|(([+-]|)(\\d*)n|)"+D+"*(?:([+-]|)"+D+"*(\\d+)|))"+D+"*\\)|)","i"),bool:new RegExp("^(?:"+w+")$","i"),needsContext:new RegExp("^"+D+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+D+"*((?:-\\d)?\\d*)"+D+"*\\)|)(?=[^-]|$)","i")},z=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,ee=/'|\\/g,te=new RegExp("\\\\([\\da-f]{1,6}"+D+"?|("+D+")|.)","ig"),Qe=function(e,t,Q){var T="0x"+t-65536;return T!==T||Q?t:T<0?String.fromCharCode(T+65536):String.fromCharCode(T>>10|55296,1023&T|56320)},Te=function(){u()};try{A.apply(V=I.call(H.childNodes),H.childNodes),V[H.childNodes.length].nodeType}catch(e){A={apply:V.length?function(e,t){R.apply(e,I.call(t))}:function(e,t){for(var Q=e.length,T=0;e[Q++]=t[T++];);e.length=Q-1}}}Q=Sizzle.support={},n=Sizzle.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},u=Sizzle.setDocument=function(e){var t,r,i=e?e.ownerDocument||e:H;return i!==d&&9===i.nodeType&&i.documentElement?(d=i,p=d.documentElement,_=!n(d),(r=d.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",Te,!1):r.attachEvent&&r.attachEvent("onunload",Te)),Q.attributes=assert(function(e){return e.className="i",!e.getAttribute("className")}),Q.getElementsByTagName=assert(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),Q.getElementsByClassName=$.test(d.getElementsByClassName),Q.getById=assert(function(e){return p.appendChild(e).id=g,!d.getElementsByName||!d.getElementsByName(g).length}),Q.getById?(T.find.ID=function(e,t){if(void 0!==t.getElementById&&_){var Q=t.getElementById(e);return Q?[Q]:[]}},T.filter.ID=function(e){var t=e.replace(te,Qe);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(te,Qe);return function(e){var Q=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return Q&&Q.value===t}}),T.find.TAG=Q.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):Q.qsa?t.querySelectorAll(e):void 0}:function(e,t){var Q,T=[],r=0,n=t.getElementsByTagName(e);if("*"===e){for(;Q=n[r++];)1===Q.nodeType&&T.push(Q);return T}return n},T.find.CLASS=Q.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&_)return t.getElementsByClassName(e)},f=[],L=[],(Q.qsa=$.test(d.querySelectorAll))&&(assert(function(e){p.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+D+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||L.push("\\["+D+"*(?:value|"+w+")"),e.querySelectorAll("[id~="+g+"-]").length||L.push("~="),e.querySelectorAll(":checked").length||L.push(":checked"),e.querySelectorAll("a#"+g+"+*").length||L.push(".#.+[+~]")}),assert(function(e){var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&L.push("name"+D+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||L.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),L.push(",.*:")})),(Q.matchesSelector=$.test(m=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&assert(function(e){Q.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),f.push("!=",B)}),L=L.length&&new RegExp(L.join("|")),f=f.length&&new RegExp(f.join("|")),t=$.test(p.compareDocumentPosition),h=t||$.test(p.contains)?function(e,t){var Q=9===e.nodeType?e.documentElement:e,T=t&&t.parentNode;return e===T||!(!T||1!==T.nodeType||!(Q.contains?Q.contains(T):e.compareDocumentPosition&&16&e.compareDocumentPosition(T)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},O=t?function(e,t){if(e===t)return c=!0,0;var T=!e.compareDocumentPosition-!t.compareDocumentPosition;return T||(T=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&T||!Q.sortDetached&&t.compareDocumentPosition(e)===T?e===d||e.ownerDocument===H&&h(H,e)?-1:t===d||t.ownerDocument===H&&h(H,t)?1:l?x(l,e)-x(l,t):0:4&T?-1:1)}:function(e,t){if(e===t)return c=!0,0;var Q,T=0,r=e.parentNode,n=t.parentNode,i=[e],o=[t];if(!r||!n)return e===d?-1:t===d?1:r?-1:n?1:l?x(l,e)-x(l,t):0;if(r===n)return siblingCheck(e,t);for(Q=e;Q=Q.parentNode;)i.unshift(Q);for(Q=t;Q=Q.parentNode;)o.unshift(Q);for(;i[T]===o[T];)T++;return T?siblingCheck(i[T],o[T]):i[T]===H?-1:o[T]===H?1:0},d):d},Sizzle.matches=function(e,t){return Sizzle(e,null,null,t)},Sizzle.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&u(e),t=t.replace(Y,"='$1']"),Q.matchesSelector&&_&&!v[t+" "]&&(!f||!f.test(t))&&(!L||!L.test(t)))try{var T=m.call(e,t);if(T||Q.disconnectedMatch||e.document&&11!==e.document.nodeType)return T}catch(e){}return Sizzle(t,d,null,[e]).length>0},Sizzle.contains=function(e,t){return(e.ownerDocument||e)!==d&&u(e),h(e,t)},Sizzle.attr=function(e,t){(e.ownerDocument||e)!==d&&u(e);var r=T.attrHandle[t.toLowerCase()],n=r&&C.call(T.attrHandle,t.toLowerCase())?r(e,t,!_):void 0;return void 0!==n?n:Q.attributes||!_?e.getAttribute(t):(n=e.getAttributeNode(t))&&n.specified?n.value:null},Sizzle.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},Sizzle.uniqueSort=function(e){var t,T=[],r=0,n=0;if(c=!Q.detectDuplicates,l=!Q.sortStable&&e.slice(0),e.sort(O),c){for(;t=e[n++];)t===e[n]&&(r=T.push(n));for(;r--;)e.splice(T[r],1)}return l=null,e},r=Sizzle.getText=function(e){var t,Q="",T=0,n=e.nodeType;if(n){if(1===n||9===n||11===n){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)Q+=r(e)}else if(3===n||4===n)return e.nodeValue}else for(;t=e[T++];)Q+=r(t);return Q},T=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,Qe),e[3]=(e[3]||e[4]||e[5]||"").replace(te,Qe),"~="===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]||Sizzle.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]&&Sizzle.error(e[0]),e},PSEUDO:function(e){var t,Q=!e[6]&&e[2];return W.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":Q&&j.test(Q)&&(t=i(Q,!0))&&(t=Q.indexOf(")",Q.length-t)-Q.length)&&(e[0]=e[0].slice(0,t),e[2]=Q.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,Qe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=b[e+" "];return t||(t=new RegExp("(^|"+D+")"+e+"("+D+"|$)"))&&b(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,Q){return function(T){var r=Sizzle.attr(T,e);return null==r?"!="===t:!t||(r+="","="===t?r===Q:"!="===t?r!==Q:"^="===t?Q&&0===r.indexOf(Q):"*="===t?Q&&r.indexOf(Q)>-1:"$="===t?Q&&r.slice(-Q.length)===Q:"~="===t?(" "+r.replace(F," ")+" ").indexOf(Q)>-1:"|="===t&&(r===Q||r.slice(0,Q.length+1)===Q+"-"))}},CHILD:function(e,t,Q,T,r){var n="nth"!==e.slice(0,3),i="last"!==e.slice(-4),o="of-type"===t;return 1===T&&0===r?function(e){return!!e.parentNode}:function(t,Q,a){var s,l,c,u,d,p,_=n!==i?"nextSibling":"previousSibling",L=t.parentNode,f=o&&t.nodeName.toLowerCase(),m=!a&&!o,h=!1;if(L){if(n){for(;_;){for(u=t;u=u[_];)if(o?u.nodeName.toLowerCase()===f:1===u.nodeType)return!1;p=_="only"===e&&!p&&"nextSibling"}return!0}if(p=[i?L.firstChild:L.lastChild],i&&m){for(u=L,c=u[g]||(u[g]={}),l=c[u.uniqueID]||(c[u.uniqueID]={}),s=l[e]||[],d=s[0]===E&&s[1],h=d&&s[2],u=d&&L.childNodes[d];u=++d&&u&&u[_]||(h=d=0)||p.pop();)if(1===u.nodeType&&++h&&u===t){l[e]=[E,d,h];break}}else if(m&&(u=t,c=u[g]||(u[g]={}),l=c[u.uniqueID]||(c[u.uniqueID]={}),s=l[e]||[],d=s[0]===E&&s[1],h=d),!1===h)for(;(u=++d&&u&&u[_]||(h=d=0)||p.pop())&&((o?u.nodeName.toLowerCase()!==f:1!==u.nodeType)||!++h||(m&&(c=u[g]||(u[g]={}),l=c[u.uniqueID]||(c[u.uniqueID]={}),l[e]=[E,h]),u!==t)););return(h-=r)===T||h%T==0&&h/T>=0}}},PSEUDO:function(e,t){var Q,r=T.pseudos[e]||T.setFilters[e.toLowerCase()]||Sizzle.error("unsupported pseudo: "+e);return r[g]?r(t):r.length>1?(Q=[e,e,"",t],T.setFilters.hasOwnProperty(e.toLowerCase())?markFunction(function(e,Q){for(var T,n=r(e,t),i=n.length;i--;)T=x(e,n[i]),e[T]=!(Q[T]=n[i])}):function(e){return r(e,0,Q)}):r}},pseudos:{not:markFunction(function(e){var t=[],Q=[],T=o(e.replace(U,"$1"));return T[g]?markFunction(function(e,t,Q,r){for(var n,i=T(e,null,r,[]),o=e.length;o--;)(n=i[o])&&(e[o]=!(t[o]=n))}):function(e,r,n){return t[0]=e,T(t,null,n,Q),t[0]=null,!Q.pop()}}),has:markFunction(function(e){return function(t){return Sizzle(e,t).length>0}}),contains:markFunction(function(e){return e=e.replace(te,Qe),function(t){return(t.textContent||t.innerText||r(t)).indexOf(e)>-1}}),lang:markFunction(function(e){return q.test(e||"")||Sizzle.error("unsupported lang: "+e),e=e.replace(te,Qe).toLowerCase(),function(t){var Q;do{if(Q=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(Q=Q.toLowerCase())===e||0===Q.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var Q=e.location&&e.location.hash;return Q&&Q.slice(1)===t.id},root:function(e){return e===p},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(e,t){return[t-1]}),eq:createPositionalPseudo(function(e,t,Q){return[Q<0?Q+t:Q]}),even:createPositionalPseudo(function(e,t){for(var Q=0;Q=0;)e.push(T);return e}),gt:createPositionalPseudo(function(e,t,Q){for(var T=Q<0?Q+t:Q;++T2&&"ID"===(l=s[0]).type&&Q.getById&&9===t.nodeType&&_&&T.relative[s[1].type]){if(!(t=(T.find.ID(l.matches[0].replace(te,Qe),t)||[])[0]))return r;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}for(a=W.needsContext.test(e)?0:s.length;a--&&(l=s[a],!T.relative[c=l.type]);)if((u=T.find[c])&&(n=u(l.matches[0].replace(te,Qe),J.test(s[0].type)&&testContext(t.parentNode)||t))){if(s.splice(a,1),!(e=n.length&&toSelector(s)))return A.apply(r,n),r;break}}return(d||o(e,p))(n,t,!_,r,!t||J.test(e)&&testContext(t.parentNode)||t),r},Q.sortStable=g.split("").sort(O).join("")===g,Q.detectDuplicates=!!c,u(),Q.sortDetached=assert(function(e){return 1&e.compareDocumentPosition(d.createElement("div"))}),assert(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(e,t,Q){if(!Q)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),Q.attributes&&assert(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||addHandle("value",function(e,t,Q){if(!Q&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),assert(function(e){return null==e.getAttribute("disabled")})||addHandle(w,function(e,t,Q){var T;if(!Q)return!0===e[t]?t.toLowerCase():(T=e.getAttributeNode(t))&&T.specified?T.value:null}),Sizzle}(Q);L.find=H,L.expr=H.selectors,L.expr[":"]=L.expr.pseudos,L.uniqueSort=L.unique=H.uniqueSort,L.text=H.getText,L.isXMLDoc=H.isXML,L.contains=H.contains;var E=function(e,t,Q){for(var T=[],r=void 0!==Q;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&L(e).is(Q))break;T.push(e)}return T},S=function(e,t){for(var Q=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&Q.push(e);return Q},b=L.expr.match.needsContext,y=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;L.filter=function(e,t,Q){var T=t[0];return Q&&(e=":not("+e+")"),1===t.length&&1===T.nodeType?L.find.matchesSelector(T,e)?[T]:[]:L.find.matches(e,L.grep(t,function(e){return 1===e.nodeType}))},L.fn.extend({find:function(e){var t,Q=this.length,T=[],r=this;if("string"!=typeof e)return this.pushStack(L(e).filter(function(){for(t=0;t1?L.unique(T):T),T.selector=this.selector?this.selector+" "+e:e,T},filter:function(e){return this.pushStack(winnow(this,e||[],!1))},not:function(e){return this.pushStack(winnow(this,e||[],!0))},is:function(e){return!!winnow(this,"string"==typeof e&&b.test(e)?L(e):e||[],!1).length}});var O,M=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(L.fn.init=function(e,t,Q){var T,r;if(!e)return this;if(Q=Q||O,"string"==typeof e){if(!(T="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:M.exec(e))||!T[1]&&t)return!t||t.jquery?(t||Q).find(e):this.constructor(t).find(e);if(T[1]){if(t=t instanceof L?t[0]:t,L.merge(this,L.parseHTML(T[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),y.test(T[1])&&L.isPlainObject(t))for(T in t)L.isFunction(this[T])?this[T](t[T]):this.attr(T,t[T]);return this}return r=o.getElementById(T[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):L.isFunction(e)?void 0!==Q.ready?Q.ready(e):e(L):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),L.makeArray(e,this))}).prototype=L.fn,O=L(o);var C=/^(?:parents|prev(?:Until|All))/,V={children:!0,contents:!0,next:!0,prev:!0};L.fn.extend({has:function(e){var t=L(e,this),Q=t.length;return this.filter(function(){for(var e=0;e-1:1===Q.nodeType&&L.find.matchesSelector(Q,e))){n.push(Q);break}return this.pushStack(n.length>1?L.uniqueSort(n):n)},index:function(e){return e?"string"==typeof e?c.call(L(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(L.uniqueSort(L.merge(this.get(),L(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),L.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,Q){return E(e,"parentNode",Q)},next:function(e){return sibling(e,"nextSibling")},prev:function(e){return sibling(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,Q){return E(e,"nextSibling",Q)},prevUntil:function(e,t,Q){return E(e,"previousSibling",Q)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return e.contentDocument||L.merge([],e.childNodes)}},function(e,t){L.fn[e]=function(Q,T){var r=L.map(this,t,Q);return"Until"!==e.slice(-5)&&(T=Q),T&&"string"==typeof T&&(r=L.filter(T,r)),this.length>1&&(V[e]||L.uniqueSort(r),C.test(e)&&r.reverse()),this.pushStack(r)}});var N=/\S+/g;L.Callbacks=function(e){e="string"==typeof e?createOptions(e):L.extend({},e);var t,Q,T,r,n=[],i=[],o=-1,a=function(){for(r=e.once,T=t=!0;i.length;o=-1)for(Q=i.shift();++o-1;)n.splice(Q,1),Q<=o&&o--}),this},has:function(e){return e?L.inArray(e,n)>-1:n.length>0},empty:function(){return n&&(n=[]),this},disable:function(){return r=i=[],n=Q="",this},disabled:function(){return!n},lock:function(){return r=i=[],Q||(n=Q=""),this},locked:function(){return!!r},fireWith:function(e,Q){return r||(Q=Q||[],Q=[e,Q.slice?Q.slice():Q],i.push(Q),t||a()),this},fire:function(){return s.fireWith(this,arguments),this},fired:function(){return!!T}};return s},L.extend({Deferred:function(e){var t=[["resolve","done",L.Callbacks("once memory"),"resolved"],["reject","fail",L.Callbacks("once memory"),"rejected"],["notify","progress",L.Callbacks("memory")]],Q="pending",T={state:function(){return Q},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var e=arguments;return L.Deferred(function(Q){L.each(t,function(t,n){var i=L.isFunction(e[t])&&e[t];r[n[1]](function(){var e=i&&i.apply(this,arguments);e&&L.isFunction(e.promise)?e.promise().progress(Q.notify).done(Q.resolve).fail(Q.reject):Q[n[0]+"With"](this===T?Q.promise():this,i?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?L.extend(e,T):T}},r={};return T.pipe=T.then,L.each(t,function(e,n){var i=n[2],o=n[3];T[n[1]]=i.add,o&&i.add(function(){Q=o},t[1^e][2].disable,t[2][2].lock),r[n[0]]=function(){return r[n[0]+"With"](this===r?T:this,arguments),this},r[n[0]+"With"]=i.fireWith}),T.promise(r),e&&e.call(r,r),r},when:function(e){var t,Q,T,r=0,n=a.call(arguments),i=n.length,o=1!==i||e&&L.isFunction(e.promise)?i:0,s=1===o?e:L.Deferred(),l=function(e,Q,T){return function(r){Q[e]=this,T[e]=arguments.length>1?a.call(arguments):r,T===t?s.notifyWith(Q,T):--o||s.resolveWith(Q,T)}};if(i>1)for(t=new Array(i),Q=new Array(i),T=new Array(i);r0||(R.resolveWith(o,[L]),L.fn.triggerHandler&&(L(o).triggerHandler("ready"),L(o).off("ready"))))}}),L.ready.promise=function(e){return R||(R=L.Deferred(),"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?Q.setTimeout(L.ready):(o.addEventListener("DOMContentLoaded",completed),Q.addEventListener("load",completed))),R.promise(e)},L.ready.promise();var A=function(e,t,Q,T,r,n,i){var o=0,a=e.length,s=null==Q;if("object"===L.type(Q)){r=!0;for(o in Q)A(e,t,o,Q[o],!0,n,i)}else if(void 0!==T&&(r=!0,L.isFunction(T)||(i=!0),s&&(i?(t.call(e,T),t=null):(s=t,t=function(e,t,Q){return s.call(L(e),Q)})),t))for(;o-1&&void 0!==Q&&w.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){w.remove(this,e)})}}),L.extend({queue:function(e,t,Q){var T;if(e)return t=(t||"fx")+"queue",T=x.get(e,t),Q&&(!T||L.isArray(Q)?T=x.access(e,t,L.makeArray(Q)):T.push(Q)),T||[]},dequeue:function(e,t){t=t||"fx";var Q=L.queue(e,t),T=Q.length,r=Q.shift(),n=L._queueHooks(e,t),i=function(){L.dequeue(e,t)};"inprogress"===r&&(r=Q.shift(),T--),r&&("fx"===t&&Q.unshift("inprogress"),delete n.stop,r.call(e,i,n)),!T&&n&&n.empty.fire()},_queueHooks:function(e,t){var Q=t+"queueHooks";return x.get(e,Q)||x.access(e,Q,{empty:L.Callbacks("once memory").add(function(){x.remove(e,[t+"queue",Q])})})}}),L.fn.extend({queue:function(e,t){var Q=2;return"string"!=typeof e&&(t=e,e="fx",Q--),arguments.length",""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};j.optgroup=j.option,j.tbody=j.tfoot=j.colgroup=j.caption=j.thead,j.th=j.td;var q=/<|&#?\w+;/;!function(){var e=o.createDocumentFragment(),t=e.appendChild(o.createElement("div")),Q=o.createElement("input");Q.setAttribute("type","radio"),Q.setAttribute("checked","checked"),Q.setAttribute("name","t"),t.appendChild(Q),_.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",_.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var W=/^key/,z=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,K=/^([^.]*)(?:\.(.+)|)/;L.event={global:{},add:function(e,t,Q,T,r){var n,i,o,a,s,l,c,u,d,p,_,f=x.get(e);if(f)for(Q.handler&&(n=Q,Q=n.handler,r=n.selector),Q.guid||(Q.guid=L.guid++),(a=f.events)||(a=f.events={}),(i=f.handle)||(i=f.handle=function(t){return void 0!==L&&L.event.triggered!==t.type?L.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(N)||[""],s=t.length;s--;)o=K.exec(t[s])||[],d=_=o[1],p=(o[2]||"").split(".").sort(),d&&(c=L.event.special[d]||{},d=(r?c.delegateType:c.bindType)||d,c=L.event.special[d]||{},l=L.extend({type:d,origType:_,data:T,handler:Q,guid:Q.guid,selector:r,needsContext:r&&L.expr.match.needsContext.test(r),namespace:p.join(".")},n),(u=a[d])||(u=a[d]=[],u.delegateCount=0,c.setup&&!1!==c.setup.call(e,T,p,i)||e.addEventListener&&e.addEventListener(d,i)),c.add&&(c.add.call(e,l),l.handler.guid||(l.handler.guid=Q.guid)),r?u.splice(u.delegateCount++,0,l):u.push(l),L.event.global[d]=!0)},remove:function(e,t,Q,T,r){var n,i,o,a,s,l,c,u,d,p,_,f=x.hasData(e)&&x.get(e);if(f&&(a=f.events)){for(t=(t||"").match(N)||[""],s=t.length;s--;)if(o=K.exec(t[s])||[],d=_=o[1],p=(o[2]||"").split(".").sort(),d){for(c=L.event.special[d]||{},d=(T?c.delegateType:c.bindType)||d,u=a[d]||[],o=o[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=n=u.length;n--;)l=u[n],!r&&_!==l.origType||Q&&Q.guid!==l.guid||o&&!o.test(l.namespace)||T&&T!==l.selector&&("**"!==T||!l.selector)||(u.splice(n,1),l.selector&&u.delegateCount--,c.remove&&c.remove.call(e,l));i&&!u.length&&(c.teardown&&!1!==c.teardown.call(e,p,f.handle)||L.removeEvent(e,d,f.handle),delete a[d])}else for(d in a)L.event.remove(e,d+t[s],Q,T,!0);L.isEmptyObject(a)&&x.remove(e,"handle events")}},dispatch:function(e){e=L.event.fix(e);var t,Q,T,r,n,i=[],o=a.call(arguments),s=(x.get(this,"events")||{})[e.type]||[],l=L.event.special[e.type]||{};if(o[0]=e,e.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,e)){for(i=L.event.handlers.call(this,e,s),t=0;(r=i[t++])&&!e.isPropagationStopped();)for(e.currentTarget=r.elem,Q=0;(n=r.handlers[Q++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(n.namespace)||(e.handleObj=n,e.data=n.data,void 0!==(T=((L.event.special[n.origType]||{}).handle||n.handler).apply(r.elem,o))&&!1===(e.result=T)&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var Q,T,r,n,i=[],o=t.delegateCount,a=e.target;if(o&&a.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;a!==this;a=a.parentNode||this)if(1===a.nodeType&&(!0!==a.disabled||"click"!==e.type)){for(T=[],Q=0;Q-1:L.find(r,this,null,[a]).length),T[r]&&T.push(n);T.length&&i.push({elem:a,handlers:T})}return o]*)\/>/gi,X=/\s*$/g;L.extend({htmlPrefilter:function(e){return e.replace($,"<$1>")},clone:function(e,t,Q){var T,r,n,i,o=e.cloneNode(!0),a=L.contains(e.ownerDocument,e);if(!(_.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||L.isXMLDoc(e)))for(i=getAll(o),n=getAll(e),T=0,r=n.length;T0&&setGlobalEval(i,!a&&getAll(e,"script")),o},cleanData:function(e){for(var t,Q,T,r=L.event.special,n=0;void 0!==(Q=e[n]);n++)if(I(Q)){if(t=Q[x.expando]){if(t.events)for(T in t.events)r[T]?L.event.remove(Q,T):L.removeEvent(Q,T,t.handle);Q[x.expando]=void 0}Q[w.expando]&&(Q[w.expando]=void 0)}}}),L.fn.extend({domManip:domManip,detach:function(e){return remove(this,e,!0)},remove:function(e){return remove(this,e)},text:function(e){return A(this,function(e){return void 0===e?L.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return domManip(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,e).appendChild(e)}})},prepend:function(){return domManip(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=manipulationTarget(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return domManip(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return domManip(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(L.cleanData(getAll(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return L.clone(this,e,t)})},html:function(e){return A(this,function(e){var t=this[0]||{},Q=0,T=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!X.test(e)&&!j[(Z.exec(e)||["",""])[1].toLowerCase()]){e=L.htmlPrefilter(e);try{for(;Q1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){U(this)?L(this).show():L(this).hide()})}}),L.Tween=Tween,Tween.prototype={constructor:Tween,init:function(e,t,Q,T,r,n){this.elem=e,this.prop=Q,this.easing=r||L.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=T,this.unit=n||(L.cssNumber[Q]?"":"px")},cur:function(){var e=Tween.propHooks[this.prop];return e&&e.get?e.get(this):Tween.propHooks._default.get(this)},run:function(e){var t,Q=Tween.propHooks[this.prop];return this.options.duration?this.pos=t=L.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),Q&&Q.set?Q.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=L.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){L.fx.step[e.prop]?L.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[L.cssProps[e.prop]]&&!L.cssHooks[e.prop]?e.elem[e.prop]=e.now:L.style(e.elem,e.prop,e.now+e.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},L.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},L.fx=Tween.prototype.init,L.fx.step={};var pe,_e,Le=/^(?:toggle|show|hide)$/,fe=/queueHooks$/;L.Animation=L.extend(Animation,{tweeners:{"*":[function(e,t){var Q=this.createTween(e,t);return adjustCSS(Q.elem,e,B.exec(t),Q),Q}]},tweener:function(e,t){L.isFunction(e)?(t=e,e=["*"]):e=e.match(N);for(var Q,T=0,r=e.length;T1)},removeAttr:function(e){return this.each(function(){L.removeAttr(this,e)})}}),L.extend({attr:function(e,t,Q){var T,r,n=e.nodeType;if(3!==n&&8!==n&&2!==n)return void 0===e.getAttribute?L.prop(e,t,Q):(1===n&&L.isXMLDoc(e)||(t=t.toLowerCase(),r=L.attrHooks[t]||(L.expr.match.bool.test(t)?me:void 0)),void 0!==Q?null===Q?void L.removeAttr(e,t):r&&"set"in r&&void 0!==(T=r.set(e,Q,t))?T:(e.setAttribute(t,Q+""),Q):r&&"get"in r&&null!==(T=r.get(e,t))?T:(T=L.find.attr(e,t),null==T?void 0:T))},attrHooks:{type:{set:function(e,t){if(!_.radioValue&&"radio"===t&&L.nodeName(e,"input")){var Q=e.value;return e.setAttribute("type",t),Q&&(e.value=Q),t}}}},removeAttr:function(e,t){var Q,T,r=0,n=t&&t.match(N);if(n&&1===e.nodeType)for(;Q=n[r++];)T=L.propFix[Q]||Q,L.expr.match.bool.test(Q)&&(e[T]=!1),e.removeAttribute(Q)}}),me={set:function(e,t,Q){return!1===t?L.removeAttr(e,Q):e.setAttribute(Q,Q),Q}},L.each(L.expr.match.bool.source.match(/\w+/g),function(e,t){var Q=he[t]||L.find.attr;he[t]=function(e,t,T){var r,n;return T||(n=he[t],he[t]=r,r=null!=Q(e,t,T)?t.toLowerCase():null,he[t]=n),r}});var ge=/^(?:input|select|textarea|button)$/i,He=/^(?:a|area)$/i;L.fn.extend({prop:function(e,t){return A(this,L.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[L.propFix[e]||e]})}}),L.extend({prop:function(e,t,Q){var T,r,n=e.nodeType;if(3!==n&&8!==n&&2!==n)return 1===n&&L.isXMLDoc(e)||(t=L.propFix[t]||t,r=L.propHooks[t]),void 0!==Q?r&&"set"in r&&void 0!==(T=r.set(e,Q,t))?T:e[t]=Q:r&&"get"in r&&null!==(T=r.get(e,t))?T:e[t]},propHooks:{tabIndex:{get:function(e){var t=L.find.attr(e,"tabindex");return t?parseInt(t,10):ge.test(e.nodeName)||He.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),_.optSelected||(L.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),L.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){L.propFix[this.toLowerCase()]=this});var Ee=/[\t\r\n\f]/g;L.fn.extend({addClass:function(e){var t,Q,T,r,n,i,o,a=0;if(L.isFunction(e))return this.each(function(t){L(this).addClass(e.call(this,t,getClass(this)))});if("string"==typeof e&&e)for(t=e.match(N)||[];Q=this[a++];)if(r=getClass(Q),T=1===Q.nodeType&&(" "+r+" ").replace(Ee," ")){for(i=0;n=t[i++];)T.indexOf(" "+n+" ")<0&&(T+=n+" ");o=L.trim(T),r!==o&&Q.setAttribute("class",o)}return this},removeClass:function(e){var t,Q,T,r,n,i,o,a=0;if(L.isFunction(e))return this.each(function(t){L(this).removeClass(e.call(this,t,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(N)||[];Q=this[a++];)if(r=getClass(Q),T=1===Q.nodeType&&(" "+r+" ").replace(Ee," ")){for(i=0;n=t[i++];)for(;T.indexOf(" "+n+" ")>-1;)T=T.replace(" "+n+" "," ");o=L.trim(T),r!==o&&Q.setAttribute("class",o)}return this},toggleClass:function(e,t){var Q=typeof e;return"boolean"==typeof t&&"string"===Q?t?this.addClass(e):this.removeClass(e):L.isFunction(e)?this.each(function(Q){L(this).toggleClass(e.call(this,Q,getClass(this),t),t)}):this.each(function(){var t,T,r,n;if("string"===Q)for(T=0,r=L(this),n=e.match(N)||[];t=n[T++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else void 0!==e&&"boolean"!==Q||(t=getClass(this),t&&x.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":x.get(this,"__className__")||""))})},hasClass:function(e){var t,Q,T=0;for(t=" "+e+" ";Q=this[T++];)if(1===Q.nodeType&&(" "+getClass(Q)+" ").replace(Ee," ").indexOf(t)>-1)return!0;return!1}});var Se=/\r/g,be=/[\x20\t\r\n\f]+/g;L.fn.extend({val:function(e){var t,Q,T,r=this[0];{if(arguments.length)return T=L.isFunction(e),this.each(function(Q){var r;1===this.nodeType&&(r=T?e.call(this,Q,L(this).val()):e,null==r?r="":"number"==typeof r?r+="":L.isArray(r)&&(r=L.map(r,function(e){return null==e?"":e+""})),(t=L.valHooks[this.type]||L.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,r,"value")||(this.value=r))});if(r)return(t=L.valHooks[r.type]||L.valHooks[r.nodeName.toLowerCase()])&&"get"in t&&void 0!==(Q=t.get(r,"value"))?Q:(Q=r.value,"string"==typeof Q?Q.replace(Se,""):null==Q?"":Q)}}}),L.extend({valHooks:{option:{get:function(e){var t=L.find.attr(e,"value");return null!=t?t:L.trim(L.text(e)).replace(be," ")}},select:{get:function(e){for(var t,Q,T=e.options,r=e.selectedIndex,n="select-one"===e.type||r<0,i=n?null:[],o=n?r+1:T.length,a=r<0?o:n?r:0;a-1)&&(Q=!0);return Q||(e.selectedIndex=-1),n}}}}),L.each(["radio","checkbox"],function(){L.valHooks[this]={set:function(e,t){if(L.isArray(t))return e.checked=L.inArray(L(e).val(),t)>-1}},_.checkOn||(L.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var ye=/^(?:focusinfocus|focusoutblur)$/;L.extend(L.event,{trigger:function(e,t,T,r){var n,i,a,s,l,c,u,d=[T||o],_=p.call(e,"type")?e.type:e,f=p.call(e,"namespace")?e.namespace.split("."):[];if(i=a=T=T||o,3!==T.nodeType&&8!==T.nodeType&&!ye.test(_+L.event.triggered)&&(_.indexOf(".")>-1&&(f=_.split("."),_=f.shift(),f.sort()),l=_.indexOf(":")<0&&"on"+_,e=e[L.expando]?e:new L.Event(_,"object"==typeof e&&e),e.isTrigger=r?2:3,e.namespace=f.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=T),t=null==t?[e]:L.makeArray(t,[e]),u=L.event.special[_]||{},r||!u.trigger||!1!==u.trigger.apply(T,t))){if(!r&&!u.noBubble&&!L.isWindow(T)){for(s=u.delegateType||_,ye.test(s+_)||(i=i.parentNode);i;i=i.parentNode)d.push(i),a=i;a===(T.ownerDocument||o)&&d.push(a.defaultView||a.parentWindow||Q)}for(n=0;(i=d[n++])&&!e.isPropagationStopped();)e.type=n>1?s:u.bindType||_,c=(x.get(i,"events")||{})[e.type]&&x.get(i,"handle"),c&&c.apply(i,t),(c=l&&i[l])&&c.apply&&I(i)&&(e.result=c.apply(i,t),!1===e.result&&e.preventDefault());return e.type=_,r||e.isDefaultPrevented()||u._default&&!1!==u._default.apply(d.pop(),t)||!I(T)||l&&L.isFunction(T[_])&&!L.isWindow(T)&&(a=T[l],a&&(T[l]=null),L.event.triggered=_,T[_](),L.event.triggered=void 0,a&&(T[l]=a)),e.result}},simulate:function(e,t,Q){var T=L.extend(new L.Event,Q,{type:e,isSimulated:!0});L.event.trigger(T,null,t)}}),L.fn.extend({trigger:function(e,t){return this.each(function(){L.event.trigger(e,t,this)})},triggerHandler:function(e,t){var Q=this[0];if(Q)return L.event.trigger(e,t,Q,!0)}}),L.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){L.fn[t]=function(e,Q){return arguments.length>0?this.on(t,null,e,Q):this.trigger(t)}}),L.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),_.focusin="onfocusin"in Q,_.focusin||L.each({focus:"focusin",blur:"focusout"},function(e,t){var Q=function(e){L.event.simulate(t,e.target,L.event.fix(e))};L.event.special[t]={setup:function(){var T=this.ownerDocument||this,r=x.access(T,t);r||T.addEventListener(e,Q,!0),x.access(T,t,(r||0)+1)},teardown:function(){var T=this.ownerDocument||this,r=x.access(T,t)-1;r?x.access(T,t,r):(T.removeEventListener(e,Q,!0),x.remove(T,t))}}});var ve=Q.location,Oe=L.now(),Me=/\?/;L.parseJSON=function(e){return JSON.parse(e+"")},L.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new Q.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||L.error("Invalid XML: "+e),t};var Ce=/#.*$/,Ve=/([?&])_=[^&]*/,Ne=/^(.*?):[ \t]*([^\r\n]*)$/gm,Re=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ae=/^(?:GET|HEAD)$/,Ie=/^\/\//,xe={},we={},De="*/".concat("*"),Pe=o.createElement("a");Pe.href=ve.href,L.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ve.href,type:"GET",isLocal:Re.test(ve.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":De,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":L.parseJSON,"text xml":L.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ajaxExtend(ajaxExtend(e,L.ajaxSettings),t):ajaxExtend(L.ajaxSettings,e)},ajaxPrefilter:addToPrefiltersOrTransports(xe),ajaxTransport:addToPrefiltersOrTransports(we),ajax:function(e,t){function done(e,t,i,o){var s,c,h,g,E,b=t;2!==H&&(H=2,a&&Q.clearTimeout(a),T=void 0,n=o||"",S.readyState=e>0?4:0,s=e>=200&&e<300||304===e,i&&(g=ajaxHandleResponses(u,S,i)),g=ajaxConvert(u,g,S,s),s?(u.ifModified&&(E=S.getResponseHeader("Last-Modified"),E&&(L.lastModified[r]=E),(E=S.getResponseHeader("etag"))&&(L.etag[r]=E)),204===e||"HEAD"===u.type?b="nocontent":304===e?b="notmodified":(b=g.state,c=g.data,h=g.error,s=!h)):(h=b,!e&&b||(b="error",e<0&&(e=0))),S.status=e,S.statusText=(t||b)+"",s?_.resolveWith(d,[c,b,S]):_.rejectWith(d,[S,b,h]),S.statusCode(m),m=void 0,l&&p.trigger(s?"ajaxSuccess":"ajaxError",[S,u,s?c:h]),f.fireWith(d,[S,b]),l&&(p.trigger("ajaxComplete",[S,u]),--L.active||L.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var T,r,n,i,a,s,l,c,u=L.ajaxSetup({},t),d=u.context||u,p=u.context&&(d.nodeType||d.jquery)?L(d):L.event,_=L.Deferred(),f=L.Callbacks("once memory"),m=u.statusCode||{},h={},g={},H=0,E="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(2===H){if(!i)for(i={};t=Ne.exec(n);)i[t[1].toLowerCase()]=t[2];t=i[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===H?n:null},setRequestHeader:function(e,t){var Q=e.toLowerCase();return H||(e=g[Q]=g[Q]||e,h[e]=t),this},overrideMimeType:function(e){return H||(u.mimeType=e),this},statusCode:function(e){var t;if(e)if(H<2)for(t in e)m[t]=[m[t],e[t]];else S.always(e[S.status]);return this},abort:function(e){var t=e||E;return T&&T.abort(t),done(0,t),this}};if(_.promise(S).complete=f.add,S.success=S.done,S.error=S.fail,u.url=((e||u.url||ve.href)+"").replace(Ce,"").replace(Ie,ve.protocol+"//"),u.type=t.method||t.type||u.method||u.type,u.dataTypes=L.trim(u.dataType||"*").toLowerCase().match(N)||[""],null==u.crossDomain){s=o.createElement("a");try{s.href=u.url,s.href=s.href,u.crossDomain=Pe.protocol+"//"+Pe.host!=s.protocol+"//"+s.host}catch(e){u.crossDomain=!0}}if(u.data&&u.processData&&"string"!=typeof u.data&&(u.data=L.param(u.data,u.traditional)),inspectPrefiltersOrTransports(xe,u,t,S),2===H)return S;l=L.event&&u.global,l&&0==L.active++&&L.event.trigger("ajaxStart"),u.type=u.type.toUpperCase(),u.hasContent=!Ae.test(u.type),r=u.url,u.hasContent||(u.data&&(r=u.url+=(Me.test(r)?"&":"?")+u.data,delete u.data),!1===u.cache&&(u.url=Ve.test(r)?r.replace(Ve,"$1_="+Oe++):r+(Me.test(r)?"&":"?")+"_="+Oe++)),u.ifModified&&(L.lastModified[r]&&S.setRequestHeader("If-Modified-Since",L.lastModified[r]),L.etag[r]&&S.setRequestHeader("If-None-Match",L.etag[r])),(u.data&&u.hasContent&&!1!==u.contentType||t.contentType)&&S.setRequestHeader("Content-Type",u.contentType),S.setRequestHeader("Accept",u.dataTypes[0]&&u.accepts[u.dataTypes[0]]?u.accepts[u.dataTypes[0]]+("*"!==u.dataTypes[0]?", "+De+"; q=0.01":""):u.accepts["*"]);for(c in u.headers)S.setRequestHeader(c,u.headers[c]);if(u.beforeSend&&(!1===u.beforeSend.call(d,S,u)||2===H))return S.abort();E="abort";for(c in{success:1,error:1,complete:1})S[c](u[c]);if(T=inspectPrefiltersOrTransports(we,u,t,S)){if(S.readyState=1,l&&p.trigger("ajaxSend",[S,u]),2===H)return S;u.async&&u.timeout>0&&(a=Q.setTimeout(function(){S.abort("timeout")},u.timeout));try{H=1,T.send(h,done)}catch(e){if(!(H<2))throw e;done(-1,e)}}else done(-1,"No Transport");return S},getJSON:function(e,t,Q){return L.get(e,t,Q,"json")},getScript:function(e,t){return L.get(e,void 0,t,"script")}}),L.each(["get","post"],function(e,t){L[t]=function(e,Q,T,r){return L.isFunction(Q)&&(r=r||T,T=Q,Q=void 0),L.ajax(L.extend({url:e,type:t,dataType:r,data:Q,success:T},L.isPlainObject(e)&&e))}}),L._evalUrl=function(e){return L.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},L.fn.extend({wrapAll:function(e){var t;return L.isFunction(e)?this.each(function(t){L(this).wrapAll(e.call(this,t))}):(this[0]&&(t=L(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return L.isFunction(e)?this.each(function(t){L(this).wrapInner(e.call(this,t))}):this.each(function(){var t=L(this),Q=t.contents();Q.length?Q.wrapAll(e):t.append(e)})},wrap:function(e){var t=L.isFunction(e);return this.each(function(Q){L(this).wrapAll(t?e.call(this,Q):e)})},unwrap:function(){return this.parent().each(function(){L.nodeName(this,"body")||L(this).replaceWith(this.childNodes)}).end()}}),L.expr.filters.hidden=function(e){return!L.expr.filters.visible(e)},L.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var ke=/%20/g,Be=/\[\]$/,Fe=/\r?\n/g,Ue=/^(?:submit|button|image|reset|file)$/i,Ge=/^(?:input|select|textarea|keygen)/i;L.param=function(e,t){var Q,T=[],r=function(e,t){t=L.isFunction(t)?t():null==t?"":t,T[T.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=L.ajaxSettings&&L.ajaxSettings.traditional),L.isArray(e)||e.jquery&&!L.isPlainObject(e))L.each(e,function(){r(this.name,this.value)});else for(Q in e)buildParams(Q,e[Q],t,r);return T.join("&").replace(ke,"+")},L.fn.extend({serialize:function(){return L.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=L.prop(this,"elements");return e?L.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!L(this).is(":disabled")&&Ge.test(this.nodeName)&&!Ue.test(e)&&(this.checked||!G.test(e))}).map(function(e,t){var Q=L(this).val();return null==Q?null:L.isArray(Q)?L.map(Q,function(e){return{name:t.name,value:e.replace(Fe,"\r\n")}}):{name:t.name,value:Q.replace(Fe,"\r\n")}}).get()}}),L.ajaxSettings.xhr=function(){try{return new Q.XMLHttpRequest}catch(e){}};var Ze={0:200,1223:204},Ye=L.ajaxSettings.xhr();_.cors=!!Ye&&"withCredentials"in Ye,_.ajax=Ye=!!Ye,L.ajaxTransport(function(e){var t,T;if(_.cors||Ye&&!e.crossDomain)return{send:function(r,n){var i,o=e.xhr();if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)o[i]=e.xhrFields[i];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(i in r)o.setRequestHeader(i,r[i]);t=function(e){return function(){t&&(t=T=o.onload=o.onerror=o.onabort=o.onreadystatechange=null,"abort"===e?o.abort():"error"===e?"number"!=typeof o.status?n(0,"error"):n(o.status,o.statusText):n(Ze[o.status]||o.status,o.statusText,"text"!==(o.responseType||"text")||"string"!=typeof o.responseText?{binary:o.response}:{text:o.responseText},o.getAllResponseHeaders()))}},o.onload=t(),T=o.onerror=t("error"),void 0!==o.onabort?o.onabort=T:o.onreadystatechange=function(){4===o.readyState&&Q.setTimeout(function(){t&&T()})},t=t("abort");try{o.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),L.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return L.globalEval(e),e}}}),L.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),L.ajaxTransport("script",function(e){if(e.crossDomain){var t,Q;return{send:function(T,r){t=L("