diff --git a/.gitignore b/.gitignore index 742ec143..39e80f5e 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ npm-debug.log *.swp example-project/chromedriver.log *.log +.allure +bin/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..be75e72d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,13 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v2.0.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer +- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook + rev: v1.0.0 + hooks: + - id: commitlint + stages: [commit-msg] diff --git a/README.md b/README.md index 0c790365..b15353f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ Selenium Galen Integration ========================== -[![Build Status](https://travis-ci.org/wcm-io-qa/wcm-io-qa-galenium.png?branch=develop)](https://travis-ci.org/wcm-io-qa/wcm-io-qa-galenium) +[![Build Status](https://travis-ci.org/wcm-io-qa/wcm-io-qa-galenium.png?branch=develop)](https://travis-ci.org/wcm-io-qa/wcm-io-qa-galenium) This project is an attempt to integrate Galen with Selenium and the other way around in a Maven project. It uses TestNG as a test runner. Galen and ExtentReports provide the reporting. @@ -8,4 +8,3 @@ To get an idea how it works, take a look at the [documentation]. [documentation]: https://qa.wcm.io/galenium/ - diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 00000000..fbdf297c --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,35 @@ +module.exports = { + rules: { + 'body-leading-blank': [1, 'always'], + 'footer-leading-blank': [1, 'always'], + 'header-max-length': [2, 'always', 72], + 'body-max-line-length': [2, 'always', 80], + 'scope-case': [2, 'always', 'lower-case'], + 'subject-case': [ + 2, + 'never', + ['sentence-case', 'start-case', 'pascal-case', 'upper-case'] + ], + 'subject-empty': [2, 'never'], + 'subject-full-stop': [2, 'never', '.'], + 'type-case': [2, 'always', 'lower-case'], + 'type-empty': [2, 'never'], + 'type-enum': [ + 2, + 'always', + [ + 'build', + 'chore', + 'ci', + 'docs', + 'feat', + 'fix', + 'perf', + 'refactor', + 'revert', + 'style', + 'test' + ] + ] + } +}; diff --git a/examples/baseline/pom.xml b/examples/baseline/pom.xml index ed2320da..af7155b6 100644 --- a/examples/baseline/pom.xml +++ b/examples/baseline/pom.xml @@ -22,15 +22,13 @@ io.wcm.qa io.wcm.qa.galenium.integration - 3.0.0 + 4.0.0-SNAPSHOT ../../integration Galenium Example Baseline - io.wcm.qa io.wcm.qa.galenium.examples.baseline pom - 3.0.0 Test automation example baseline. @@ -46,12 +44,11 @@ io.wcm.qa io.wcm.qa.galenium.examples.samples - 3.0.0 + 4.0.0-SNAPSHOT - diff --git a/examples/baseline/src/changes/changes.xml b/examples/baseline/src/changes/changes.xml new file mode 100644 index 00000000..33840284 --- /dev/null +++ b/examples/baseline/src/changes/changes.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/examples/pom.xml b/examples/pom.xml index 69597a1a..e7f1e1a7 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -16,8 +16,9 @@ limitations under the License. #L% --> - - + 4.0.0 @@ -28,10 +29,9 @@ Galenium Examples - io.wcm.qa io.wcm.qa.galenium.examples + 4.0.0-SNAPSHOT pom - 3.0.0 Test automation examples. @@ -63,5 +63,5 @@ - + diff --git a/examples/samples/pom.xml b/examples/samples/pom.xml index d450444a..603a4bc7 100644 --- a/examples/samples/pom.xml +++ b/examples/samples/pom.xml @@ -16,21 +16,22 @@ limitations under the License. #L% --> - + 4.0.0 io.wcm.qa io.wcm.qa.galenium.integration - 3.0.0 + 4.0.0-SNAPSHOT ../../integration Galenium Example Samples - io.wcm.qa io.wcm.qa.galenium.examples.samples jar - 3.0.0 + 4.0.0-SNAPSHOT Test automation example samples. @@ -43,7 +44,7 @@ io.wcm.qa io.wcm.qa.galenium.examples.tests - 3.0.0 + 4.0.0-SNAPSHOT pom @@ -64,13 +65,13 @@ ${basedir}/target/classes - + ${galenium.sampling.root} false - - + + diff --git a/examples/samples/src/changes/changes.xml b/examples/samples/src/changes/changes.xml new file mode 100644 index 00000000..33840284 --- /dev/null +++ b/examples/samples/src/changes/changes.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/examples/scripts/maven-call.sh b/examples/scripts/maven-call.sh new file mode 100644 index 00000000..efde1281 --- /dev/null +++ b/examples/scripts/maven-call.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +echo "initializing maven args functions"; + +function addProfile() { + addArg "-P${1}"; +} + +function addTests() { + for TEST in $@; + do + addTest "${TEST}"; + done +} + +function addTest() { + if [ -z "${MRW_TESTS}" ]; + then + MRW_TESTS="${1}"; + else + MRW_TESTS="${MRW_TESTS},${1}"; + fi +} + +function addGoal() { + MAVEN_GOALS="${MAVEN_GOALS} ${1}"; +} + +function addDef() { + addArg "-D${1}"; +} + +function addArg() { + MRW_MAVEN_ARGS="${MRW_MAVEN_ARGS} ${1}"; +} + +echo "Checking local settings at: '${LOCAL_SETTINGS}'"; +if [ -f "${LOCAL_SETTINGS}" ]; +then + echo "using local settings"; + source "${LOCAL_SETTINGS}"; +else + echo "no local settings found"; +fi + +MRW_MAVEN_CALL="mvn ${MAVEN_GOALS}"; +MRW_MAVEN_CALL="${MRW_MAVEN_CALL} ${MRW_MAVEN_ARGS}"; +if [ -n "${MRW_TESTS}" ]; +then + MRW_MAVEN_CALL="${MRW_MAVEN_CALL} -Dit.test=${MRW_TESTS} ${@}"; +fi + +echo "Calling: '${MRW_MAVEN_CALL}'"; +${MRW_MAVEN_CALL}; diff --git a/examples/specs/pom.xml b/examples/specs/pom.xml index 1b1be6b4..b259cc36 100644 --- a/examples/specs/pom.xml +++ b/examples/specs/pom.xml @@ -16,22 +16,21 @@ limitations under the License. #L% --> - - + 4.0.0 io.wcm.qa io.wcm.qa.galenium.integration.specs - 3.0.0 + 4.0.0-SNAPSHOT ../../integration/specs Galenium Example Specs - io.wcm.qa io.wcm.qa.galenium.examples.specs jar - 3.0.0 Test automation example Galen specs. diff --git a/examples/specs/src/changes/changes.xml b/examples/specs/src/changes/changes.xml new file mode 100644 index 00000000..33840284 --- /dev/null +++ b/examples/specs/src/changes/changes.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/examples/specs/src/main/resources/galen/specs/common.gspec b/examples/specs/src/main/resources/galen/specs/common.gspec index ff7ef1cd..23f0cd75 100644 --- a/examples/specs/src/main/resources/galen/specs/common.gspec +++ b/examples/specs/src/main/resources/galen/specs/common.gspec @@ -3,7 +3,6 @@ site-header header.header-site navigation nav#nav-main link-* ul.navlist > li > a - link-to-conference li > a[href$="conference.html"] link-to-homepage li > a[href$="en.html"] menu-opener a.menu-opener footer footer.footer-site diff --git a/examples/specs/src/main/resources/galen/specs/conference.gspec b/examples/specs/src/main/resources/galen/specs/conference.gspec index 0151c3f4..94e1f769 100644 --- a/examples/specs/src/main/resources/galen/specs/conference.gspec +++ b/examples/specs/src/main/resources/galen/specs/conference.gspec @@ -8,8 +8,6 @@ @on mobile page.navigation.link-*: absent - page.navigation.link-to-conference: - absent page.navigation.link-to-homepage: absent diff --git a/examples/specs/src/main/resources/galen/specs/homepage.gspec b/examples/specs/src/main/resources/galen/specs/homepage.gspec index bbc17654..4d89393a 100644 --- a/examples/specs/src/main/resources/galen/specs/homepage.gspec +++ b/examples/specs/src/main/resources/galen/specs/homepage.gspec @@ -17,8 +17,6 @@ @on mobile page.navigation.link-*: absent - page.navigation.link-to-conference: - absent page.navigation.link-to-homepage: absent @@ -36,7 +34,7 @@ below page.navigation below page.site-header article: - above page.footer + above page.footer teaserbar: above page.footer ~ 0px = Containment = diff --git a/examples/src/changes/changes.xml b/examples/src/changes/changes.xml new file mode 100644 index 00000000..33840284 --- /dev/null +++ b/examples/src/changes/changes.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/examples/tests/local-settings.sh b/examples/tests/local-settings.sh new file mode 100644 index 00000000..5521502f --- /dev/null +++ b/examples/tests/local-settings.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +addGoal clean +addGoal install + +addProfile "run-tests" +addDef "galenium.example.sut=jetty" +# addDef "galenium.sampling.verification.ignoreErrors=true" +# Always update snapshots +# addArg "-U"; +# Never download dependencies +# addArg "-o"; + +# verbose reporting +addDef "galenium.report.sparse=false" + +# addTests "VerificationIT" + +# show browser +# addDef "galenium.headless=false" + +# run both chrome and FF +# addDef "selenium.browser=chrome,firefox" + +addDef "maven.javadoc.skip=true" diff --git a/examples/tests/pom.xml b/examples/tests/pom.xml index 69308e7c..a25fd860 100644 --- a/examples/tests/pom.xml +++ b/examples/tests/pom.xml @@ -16,28 +16,32 @@ limitations under the License. #L% --> - - + 4.0.0 io.wcm.qa io.wcm.qa.galenium.integration.ui-tests - 3.0.0 + 4.0.0-SNAPSHOT ../../integration/ui-tests Galenium Example Tests - io.wcm.qa io.wcm.qa.galenium.examples.tests jar - 3.0.0 Test automation example tests. + http://localhost:4502/content/wcm-io-samples + false + jetty + false io.wcm.qa.galenium.examples.specs io.wcm.qa.galenium.examples.sampling galenium/examples + 1.8.10 @@ -45,13 +49,13 @@ io.wcm.qa io.wcm.qa.galenium.examples.specs - 3.0.0 + 4.0.0-SNAPSHOT io.wcm.qa io.wcm.qa.galenium.examples.baseline - 3.0.0 + 4.0.0-SNAPSHOT pom @@ -62,7 +66,7 @@ io.wcm.qa io.wcm.qa.galenium.examples.baseline - 3.0.0 + 4.0.0-SNAPSHOT import pom @@ -80,18 +84,20 @@ false wcm.io.qa.galenium.example - **/*.json - **/*.html + **/webapp/**/* - org.apache.maven.plugins maven-failsafe-plugin true + + ${galenium.example.sut.author} + ${galenium.example.sut} + @@ -101,22 +107,89 @@ - example + sut-jetty + + + galenium.example.sut + jetty + + - false + false + jetty + + org.eclipse.jetty + jetty-maven-plugin + 10.0.0-alpha0 + + + 4502 + + jar + quit + 9000 + + + + start-jetty + pre-integration-test + + start + + + + stop-jetty + post-integration-test + + stop + + + + - org.apache.maven.plugins maven-failsafe-plugin - false + aem + + + + + + sut-local-author + + + galenium.example.sut + aem + + + + true + aem + + + + + run-tests + + true + false + + + + + + io.qameta.allure + allure-maven + + org.apache.maven.plugins maven-dependency-plugin @@ -139,6 +212,14 @@ + + org.apache.maven.plugins + maven-failsafe-plugin + + false + + + diff --git a/examples/tests/run.sh b/examples/tests/run.sh new file mode 100644 index 00000000..5da14bf2 --- /dev/null +++ b/examples/tests/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +SCRIPT_DIR=$(dirname ${0}); +echo "changing to SCRIPT_DIR: ${SCRIPT_DIR}"; +cd "${SCRIPT_DIR}"; + +LOCAL_SETTINGS=./local-settings.sh; + +# call main script +source ../scripts/maven-call.sh; diff --git a/examples/tests/src/changes/changes.xml b/examples/tests/src/changes/changes.xml new file mode 100644 index 00000000..33840284 --- /dev/null +++ b/examples/tests/src/changes/changes.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/examples/tests/src/main/java/io/wcm/qa/glnm/example/AbstractExampleBase.java b/examples/tests/src/main/java/io/wcm/qa/glnm/example/AbstractExampleBase.java index 390297fe..a7b6e2cc 100644 --- a/examples/tests/src/main/java/io/wcm/qa/glnm/example/AbstractExampleBase.java +++ b/examples/tests/src/main/java/io/wcm/qa/glnm/example/AbstractExampleBase.java @@ -19,13 +19,17 @@ */ package io.wcm.qa.glnm.example; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import io.wcm.qa.glnm.device.TestDevice; import io.wcm.qa.glnm.example.selectors.common.Page; import io.wcm.qa.glnm.example.selectors.common.Page.Navigation; import io.wcm.qa.glnm.exceptions.GaleniumException; -import io.wcm.qa.glnm.interaction.Aem; +import io.wcm.qa.glnm.interaction.Browser; import io.wcm.qa.glnm.interaction.Element; import io.wcm.qa.glnm.interaction.Wait; +import io.wcm.qa.glnm.interaction.aem.author.AuthorLogin; import io.wcm.qa.glnm.testcase.AbstractBrowserBasedTest; /** @@ -33,25 +37,26 @@ */ public abstract class AbstractExampleBase extends AbstractBrowserBasedTest { - private static final String ROOT_PACKAGE_FOR_TESTS = "io.wcm.qa"; + private static final boolean IS_AUTHOR_SUT = Boolean.getBoolean("galenium.example.sut.author"); private static final int CUTOFF_MOBILE_WIDTH = 601; protected static final String PATH_TO_CONFERENCE_PAGE = "/en/conference.html"; protected static final String PATH_TO_HOMEPAGE = "/en.html"; + private static final boolean SKIP_AUTHOR_LOGIN = !IS_AUTHOR_SUT; + private static final Logger LOG = LoggerFactory.getLogger(AbstractExampleBase.class); /** * @param testDevice test device to use for test */ public AbstractExampleBase(TestDevice testDevice) { super(testDevice); - getNameDifferences().setRootPackage(ROOT_PACKAGE_FOR_TESTS); } - private void navShouldBeVisible() { - Element.findOrFail(Page.NAVIGATION); + public AbstractExampleBase() { + super(); } - protected void clickConferenceNavLink() { - Navigation.LINK_TO_CONFERENCE.click(); + private void navShouldBeVisible() { + Element.findOrFail(Page.NAVIGATION); } protected abstract String getRelativePath(); @@ -64,9 +69,18 @@ protected boolean isMobile() { return getDevice().getScreenSize().getWidth() < CUTOFF_MOBILE_WIDTH; } + protected boolean isAuthor() { + return IS_AUTHOR_SUT; + } + protected void loadStartUrl() { - if (Aem.loginToAuthor(getStartUrl())) { - getLogger().debug("loaded start URL: " + getStartUrl()); + if (SKIP_AUTHOR_LOGIN) { + Browser.load(getStartUrl()); + LOG.debug("loaded start URL: " + getStartUrl()); + return; + } + if (AuthorLogin.loginToAuthor(getStartUrl())) { + LOG.debug("logged in to start URL: " + getStartUrl()); return; } throw new GaleniumException("could not login to author when loading start URL."); @@ -76,7 +90,7 @@ protected void openNav() { navShouldBeVisible(); if (isMobile()) { Navigation.MENU_OPENER.click(); - Wait.forVisibility(Navigation.LINK_TO_CONFERENCE); + Wait.forVisibility(Navigation.LINK_TO_HOMEPAGE); } } diff --git a/examples/tests/src/main/java/io/wcm/qa/glnm/example/pageobjects/AbstractWebDriverPageObject.java b/examples/tests/src/main/java/io/wcm/qa/glnm/example/pageobjects/AbstractWebDriverPageObject.java index 446170fa..b7f5d6f3 100644 --- a/examples/tests/src/main/java/io/wcm/qa/glnm/example/pageobjects/AbstractWebDriverPageObject.java +++ b/examples/tests/src/main/java/io/wcm/qa/glnm/example/pageobjects/AbstractWebDriverPageObject.java @@ -20,9 +20,7 @@ package io.wcm.qa.glnm.example.pageobjects; import org.openqa.selenium.WebDriver; -import org.slf4j.Logger; -import io.wcm.qa.glnm.reporting.GaleniumReportUtil; import io.wcm.qa.glnm.util.GaleniumContext; @@ -34,11 +32,6 @@ protected WebDriver getDriver() { return GaleniumContext.getDriver(); } - protected Logger getLogger() { - return GaleniumReportUtil.getLogger(); - } - - protected boolean isMobile() { return getDriver().manage().window().getSize().getWidth() < APPROXIMATE_WINDOW_SIZE_FOR_MOBILE_CUTOFF; } diff --git a/examples/tests/src/main/java/io/wcm/qa/glnm/example/provider/ContentPathProvider.java b/examples/tests/src/main/java/io/wcm/qa/glnm/example/provider/ContentPathProvider.java index c403026a..2ea57c74 100644 --- a/examples/tests/src/main/java/io/wcm/qa/glnm/example/provider/ContentPathProvider.java +++ b/examples/tests/src/main/java/io/wcm/qa/glnm/example/provider/ContentPathProvider.java @@ -19,10 +19,17 @@ */ package io.wcm.qa.glnm.example.provider; +import java.io.File; +import java.util.ArrayList; +import java.util.Collection; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.DataProvider; import io.wcm.qa.glnm.providers.TestNgProviderUtil; -import io.wcm.qa.glnm.reporting.GaleniumReportUtil; import io.wcm.qa.glnm.sampling.Sampler; import io.wcm.qa.glnm.sampling.aem.AllPagesForTemplateSampler; @@ -34,9 +41,13 @@ public final class ContentPathProvider { /** * All pages created with the example application. */ + public static final String ALL_PAGES = "AllPages"; public static final String ALL_PAGES_FOR_EXAMPLE_TEMPLATES = "AllPagesForTemplates"; + + private static final Logger LOG = LoggerFactory.getLogger(ContentPathProvider.class); private static final String ROOT_PATH = "/content/wcm-io-samples"; private static final String TEMPLATE_NAME_PATTERN = "/apps/wcm-io-samples/core/templates/%"; + private static final String WEBAPP_CONTENT_PATH = "src/main/webapp"; private ContentPathProvider() { // do not instantiate @@ -46,9 +57,30 @@ private ContentPathProvider() { * @return all pages created with the example application */ @DataProvider(name = ALL_PAGES_FOR_EXAMPLE_TEMPLATES) - public static Object[][] allPages() { - GaleniumReportUtil.getLogger().debug("Data providing: " + ALL_PAGES_FOR_EXAMPLE_TEMPLATES); + public static Object[][] allPagesForTemplates() { + LOG.debug("Data providing: " + ALL_PAGES_FOR_EXAMPLE_TEMPLATES); Sampler sampler = new AllPagesForTemplateSampler(TEMPLATE_NAME_PATTERN, ROOT_PATH); return TestNgProviderUtil.fromSampler(sampler); } + + /** + * @return all pages created with the example application + */ + @DataProvider(name = ALL_PAGES) + public static Object[][] allPages() { + LOG.debug("Data providing: " + ALL_PAGES); + File directory = new File(WEBAPP_CONTENT_PATH); + if (!directory.isDirectory()) { + LOG.warn("not a directory: " + directory); + } + String[] extensions = ArrayUtils.toArray("html"); + boolean recursive = true; + Collection htmlFiles = FileUtils.listFiles(directory, extensions, recursive); + Collection htmlFilePaths = new ArrayList(); + for (File file : htmlFiles) { + LOG.debug("found: " + file); + htmlFilePaths.add(file.getPath()); + } + return TestNgProviderUtil.combine(htmlFilePaths); + } } diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/archive.png/_jcr_content/renditions/original/archive.png b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/archive.png/_jcr_content/renditions/original/archive.png new file mode 100644 index 00000000..1fd1df5e Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/archive.png/_jcr_content/renditions/original/archive.png differ diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/location.png/_jcr_content/renditions/original/location.png b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/location.png/_jcr_content/renditions/original/location.png new file mode 100644 index 00000000..6002934a Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/location.png/_jcr_content/renditions/original/location.png differ diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/provision-logo.png/_jcr_content/renditions/original/provision-logo.png b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/provision-logo.png/_jcr_content/renditions/original/provision-logo.png new file mode 100644 index 00000000..53f98cdf Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/provision-logo.png/_jcr_content/renditions/original/provision-logo.png differ diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/stageheader-outside2.jpg/_jcr_content/renditions/original/stageheader-outside2.jpg b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/stageheader-outside2.jpg/_jcr_content/renditions/original/stageheader-outside2.jpg new file mode 100644 index 00000000..309e3754 Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/stageheader-outside2.jpg/_jcr_content/renditions/original/stageheader-outside2.jpg differ diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/talk.png/_jcr_content/renditions/original/talk.png b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/talk.png/_jcr_content/renditions/original/talk.png new file mode 100644 index 00000000..801ac197 Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/talk.png/_jcr_content/renditions/original/talk.png differ diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/twitter-icon.png/_jcr_content/renditions/original/twitter-icon.png b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/twitter-icon.png/_jcr_content/renditions/original/twitter-icon.png new file mode 100644 index 00000000..cfa47fde Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/twitter-icon.png/_jcr_content/renditions/original/twitter-icon.png differ diff --git a/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/user.png/_jcr_content/renditions/original/user.png b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/user.png/_jcr_content/renditions/original/user.png new file mode 100644 index 00000000..978461a7 Binary files /dev/null and b/examples/tests/src/main/webapp/content/dam/wcm-io-samples/content/user.png/_jcr_content/renditions/original/user.png differ diff --git a/examples/tests/src/main/webapp/content/wcm-io-samples/en.html b/examples/tests/src/main/webapp/content/wcm-io-samples/en.html new file mode 100644 index 00000000..f9a6ae02 --- /dev/null +++ b/examples/tests/src/main/webapp/content/wcm-io-samples/en.html @@ -0,0 +1,623 @@ + + + + + + + + + + + + + + + + wcm.io Sample Site + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + +

wcm.io Sample Site

+

WCM.IO HANDLER SAMPLE APPLICATION

+ + +
+
+
+
+ + + +
+ + +
+ +
+ + + + + + + + + + +
+ stageheader-outside2.jpg + +
+
+ +
+

adaptTo() 2013

+

23.–25. September 2013 +Kulturbrauerei Berlin

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+ + + + + + + + + + +
+ +
+
+ + + + + + + + + + +
+

adaptTo() is a meetup in Berlin focused on Apache Sling including Apache Jackrabbit and Apache Felix and is addressed to all using this stack or parts of it.

+

Read more...

+

+

+

+ + +
+ + + + + + + + + + + + + +

Extended Call for Papers

+ +
+ + + + + + + + + + + + + +
+

Although we got some great submissions for adaptTo() 2013, we still have some slots for further sessions. Therefore we extend the timeslot for submissions to the call for papers and for feedback by two weeks. This means you still can submit you submissions till 06.05.2013. We're looking forward to get more of your great talks.

+

Read more...

+

+

+ + +
+ + + + + + + + + + +
+
+ + + + +
+
+ + +
+ + + + + + + + + + +
+ +
+

Why to attend

+
+ + + + + + user.png + + + +

Still not convinced to attend? Need persuasion? Facts for your boss?

+ + + +
+
+ + + + + + + + + + + + + +
+ +
+

Location

+
+ + + + + + location.png + + + +

Take a look at the new venue for 2013. The Kulturbrauerei in the Prenzlauer Berg district.

+ + + +
+
+ + + + + + + + + + + + + +
+ +
+

Want to share?

+
+ + + + + + talk.png + + + +

If you have insight and experiences with Apache Sling and want to share them? We are actually asking for your participation!

+ + + +
+
+ + + + + + + + + + + + + +
+ +
+

Take a look back

+
+ + + + + + archive.png + + + +

adaptTo() is not a new event. Take a look at what was said and done previously.

+ + + +
+
+ + + + + + + + + + +
+ + +
+ +
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/examples/tests/src/main/webapp/content/wcm-io-samples/en/conference.html b/examples/tests/src/main/webapp/content/wcm-io-samples/en/conference.html new file mode 100644 index 00000000..171c363e --- /dev/null +++ b/examples/tests/src/main/webapp/content/wcm-io-samples/en/conference.html @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + Conference - wcm.io Sample Site + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + +

wcm.io Sample Site

+

WCM.IO HANDLER SAMPLE APPLICATION

+ + +
+
+
+
+ + + +
+ + +
+ +
+
+ + + + + + + + + + +

About adaptTo() 2013

+ +
+ + + + + + + + + + + + + +
+

adaptTo() is a technical meetup focused on the technical stack of Apache Sling including Apache Jackrabbit and Apache Felix and is addressed to all developers using this stack or parts of it.

+

2013 we'll have the third edition of adaptTo() and will again be located in Berlin, Germany. adaptTo() was successful in 2012 and will take place at a new location this year. The popular Kulturbrauerei offers more space to improve your experience. The location and the support of our main sponsor Adobe will again give you a platform to get in touch with some of the most experienced Sling, Jackrabbit and Felix developers and share your own experience with the community.

+

Additional sessions will cover commercial implementations like Adobe CQ and CRX, with particular focus on how these products leverage the architecture.

+

Date

+

23.-25.September 2013

+

Location

+

Kulturbrauerei Berlin
+More info on location

+

Ticketprice

+

149,95€

+

Next steps

+

Call for papers is ending 6. May 2013
+Submit your paper here

+

Registration

+

Register for tickets here

+

Sponsors

+

This event is sponsored by Adobe Systems and pro!vision GmbH which also acts as host.

+

+

+

+

+

+

+

+

+

+

+

+

+

+ + +
+ + + + + + + + + + +
+
+ + + + +
+
+ + +
+ + + + + + + +
+ + +
+ +
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/examples/tests/src/main/webapp/content/wcm-io-samples/en/conference/call-for-papers.html b/examples/tests/src/main/webapp/content/wcm-io-samples/en/conference/call-for-papers.html new file mode 100644 index 00000000..1e80a41c --- /dev/null +++ b/examples/tests/src/main/webapp/content/wcm-io-samples/en/conference/call-for-papers.html @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + Call for Papers - Conference - wcm.io Sample Site + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + +

wcm.io Sample Site

+

WCM.IO HANDLER SAMPLE APPLICATION

+ + +
+
+
+
+ + + +
+ + +
+ +
+
+ + + + + + + + + + +

Call for papers adaptTo() 2013

+ +
+ + + + + + + + + + + + + +
+

Why attend as speaker?

+

First of all this is a community event, so everyone attending is encouraged to actively participate at this meetup. By having a number of various tracks covering the various facets of the overall topic Apache Sling we want to give the community some startingpoints to discuss and interact. Since we just can cover our perspective we do need your help to get a really rich experience for everyone.

+

As a speaker you also will get free entrance to the meetup and obtain the speakershirt.

+

Session Details

+
    +
  • Timeframe: the default timeframe for a talk is 45 minutes including the Q&As
  • +
  • Please add note to Submission if you require more or less time
  • +
  • Style: all kind of sessions are welcome
  • +
+

Submission Details

+
    +
  • Submission by mail via papers@adaptto.org
  • +
  • Short summary (3-4 sentences) of your session
  • +
  • Style of your session (e.g. Front presentation, Hands-on-Session, Workshop...)
  • +
  • Planned Material beside the slides (e.g. Codesamples that should be made available to attendees)
  • +
+

Topics of interest include, but are not limited to:

+
    +
  • Integration of other Frameworks
  • +
  • Implementations based on Apache Sling
  • +
  • Field reports of projects utilizing Apache Sling / Apache Jackrabbit / Apache Felix and/or Products based upon this stack (like Adobe CQ5)
  • +
  • Hands-on sessions covering specific parts of the Stack (like Apache Sling CRUD or Apache Oak Extensions)
  • +
  • Solutions supporting development based on the Sling stack (like Dev-Tooling or Sling Extensions)
  • +
  • Best Practices (adressing topics like Security, Performance or Testing)
  • +
+

Manuscript Details

+
    +
  • We will provide a standardized conference slidedeck to ensure a stable user experience (like fontsizes, colors and so on..)
  • +
  • Codesamples that should be made available for download need to be provided together with the manuscript
  • +
  • Livedemos should get a summary in the notes of the corresponding slide(just to ensure that the timeframe matches the amount of content of your session)
  • +
+

Important Dates

+
    +
  • Submission deadline: 06.05.2013
  • +
  • Last opportunity to send in your submission to papers@adaptto.org
  • +
  • Notification: 20.05.2013
  • +
  • Till this date we will decide which sessions can be part of adaptTo() 2013 and get a feedback to you if we require some changes (e.g. when we identify overlap with other sessions)
  • +
  • Final manuscript due: 02.09.2013
  • +
  • Till this date we need the manuscript and corresponding material sent in for feedback and approval.
  • +
+

+

+ + +
+ + + + + + + + + + +
+
+ + + + +
+
+ + +
+ + + + + + + +
+ + +
+ +
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/examples/tests/src/main/webapp/content/wcm-io-samples/en/tools/navigation/imprint.html b/examples/tests/src/main/webapp/content/wcm-io-samples/en/tools/navigation/imprint.html new file mode 100644 index 00000000..0e204675 --- /dev/null +++ b/examples/tests/src/main/webapp/content/wcm-io-samples/en/tools/navigation/imprint.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + imprint - wcm.io Sample Site + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + +

wcm.io Sample Site

+

WCM.IO HANDLER SAMPLE APPLICATION

+ + +
+
+
+
+ + + +
+ + +
+ +
+
+ + + + + + + + + + +

Imprint

+ +
+ + + + + + + + + + + + + +
+

www.adaptto.org ist eine offizielle Website der pro!vision GmbH.

+

Standort Berlin
+pro!vision GmbH
+Wilmersdorfer Str. 50/51
+10627 Berlin
+Germany
+Tel. +49 (30) 818828-50

+

Standort Frankfurt
+pro!vision GmbH
+Löwengasse 27 A
+60385 Frankfurt am Main
+Germany
+Tel. +49 (69) 8700328-0

+

Verantwortlich für den Inhalt:
+Geschäftsführer: Karim Khan, Stefan Seifert
+Handelsregister Nr. HRB78141
+Amtsgericht Charlottenburg
+USt-IdNr.: DE209954974

+


+Haftungsausschluss/Disclaimer

+

Haftung für Inhalte

+

Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

+

Haftung für Links

+

Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

+

Urheberrecht

+

Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

+

Datenschutz

+

Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.

+

Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

+

Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.

+

Quellen: Disclaimer eRecht24
+

+

+

+ + +
+ + + + + + + + + + +
+
+ + + + +
+
+ + +
+ + + + + + + +
+ + +
+ +
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/examples/tests/src/main/webapp/etc.clientlibs/wcm-io-samples/clientlibs/wcm-io-samples.all.lc-1.3.0-df02d1dc-lc.css b/examples/tests/src/main/webapp/etc.clientlibs/wcm-io-samples/clientlibs/wcm-io-samples.all.lc-1.3.0-df02d1dc-lc.css new file mode 100644 index 00000000..ab1c896c --- /dev/null +++ b/examples/tests/src/main/webapp/etc.clientlibs/wcm-io-samples/clientlibs/wcm-io-samples.all.lc-1.3.0-df02d1dc-lc.css @@ -0,0 +1,1391 @@ +/* + * #%L + * wcm.io + * %% + * Copyright (C) 2014 - 2015 wcm.io + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ + +/* ========================================================================== + HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined in IE 8/9. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * Correct `inline-block` display not defined in IE 8/9. + */ + +audio, +canvas, +video { + display: inline-block; +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +[hidden] { + display: none; +} + +/* ========================================================================== + Base + ========================================================================== */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -ms-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* ========================================================================== + Links + ========================================================================== */ + +/** + * Address `outline` inconsistency between Chrome and other browsers. + */ + +a:focus { + outline: thin dotted; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* ========================================================================== + Typography + ========================================================================== */ + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari 5 and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Correct font family set oddly in Safari 5 and Chrome. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +/** + * Improve readability of pre-formatted text in all browsers. + */ + +pre { + white-space: pre-wrap; +} + +/** + * Set consistent quote types. + */ + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9. + */ + +img { + border: 0; +} + +/** + * Correct overflow displayed oddly in IE 9. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + Figures + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari 5. + */ + +figure { + margin: 0; +} + +/* ========================================================================== + Forms + ========================================================================== */ + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ + +button, +input, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +button, +input { + line-height: normal; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * 1. Address box sizing set to `content-box` in IE 8/9. + * 2. Remove excess padding in IE 8/9. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ + +textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} + +/* ========================================================================== + Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* + * #%L + * wcm.io + * %% + * Copyright (C) 2014 - 2015 wcm.io + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ +@charset "UTF-8"; + +* { + box-sizing: border-box; + -moz-box-sizing: border-box +} + +.clearfix:before, .clearfix:after { + content: ""; + display: table +} + +.clearfix:after { + clear: both +} + +.clearfix { + *zoom: 1 +} + +.col-1-4, .col-2-4, .col-3-4, .col-4-4, .col-1-5, .col-2-5, .col-3-5, .col-4-5, .col-5-5, .col-1-6, .col-2-6, .col-3-6, + .col-4-6, .col-5-6, .col-6-6 { + float: left; + position: relative +} + +.row { + *zoom: 1; + margin: 0 auto; + max-width: 100%; + width: 100% +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .row { + width: 100%; + min-width: 0 + } +} + +@media screen and (min-width: 799px) { + .row { + width: 1000px; + min-width: 768px + } +} + +.row:before, .row:after { + content: ""; + display: table +} + +.row:after { + clear: both +} + +.row .row { + max-width: none; + min-width: 0; + width: auto +} + +.right { + float: right +} + +[class^="col"]+[class^="col"]:last-child { + float: right +} + +.col-1-4 { + width: 100% +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-1-4 { + width: 50% + } +} + +@media screen and (min-width: 799px) { + .col-1-4 { + width: 25% + } +} + +.col-2-4 { + width: 100% +} + +@media screen and (min-width: 799px) { + .col-2-4 { + width: 50% + } +} + +.col-3-4 { + width: 100% +} + +@media screen and (min-width: 799px) { + .col-3-4 { + width: 75% + } +} + +.col-4-4 { + width: 100% +} + +.col-1-5 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 799px) { + .col-1-5 { + width: 100% + } +} + +@media screen and (min-width: 799px) { + .col-1-5 { + width: 20% + } +} + +.col-2-5 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 600px) { + .col-2-5 { + width: 50% + } +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-2-5 { + width: 50% + } +} + +@media screen and (min-width: 799px) { + .col-2-5 { + width: 40% + } +} + +.col-3-5 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 600px) { + .col-3-5 { + width: 50% + } +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-3-5 { + width: 50% + } +} + +@media screen and (min-width: 799px) { + .col-3-5 { + width: 60% + } +} + +.col-4-5 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 799px) { + .col-4-5 { + width: 100% + } +} + +@media screen and (min-width: 799px) { + .col-4-5 { + width: 80% + } +} + +.col-5-5 { + width: 100% +} + +.col-1-6 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 799px) { + .col-1-6 { + width: 100% + } +} + +@media screen and (min-width: 799px) { + .col-1-6 { + width: 16.66666% + } +} + +.col-2-6 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 600px) { + .col-2-6 { + width: 100% + } +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-2-6 { + width: 50% + } +} + +@media screen and (min-width: 799px) { + .col-2-6 { + width: 33.33333% + } +} + +.col-3-6 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 600px) { + .col-3-6 { + width: 50% + } +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-3-6 { + width: 50% + } +} + +@media screen and (min-width: 799px) { + .col-3-6 { + width: 50% + } +} + +.col-4-6 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 600px) { + .col-4-6 { + width: 100% + } +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-4-6 { + width: 50% + } +} + +@media screen and (min-width: 799px) { + .col-4-6 { + width: 66.66666% + } +} + +.col-5-6 { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 600px) { + .col-5-6 { + width: 100% + } +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .col-5-6 { + width: 100% + } +} + +@media screen and (min-width: 799px) { + .col-5-6 { + width: 83.33333% + } +} + +.col-6-6 { + width: 100% +} + +hr { + display: none; + height: 0; + border: none +} + +h4 { + font-family: helvetica, arial, sans-serif; + font-weight: normal; + margin: 1em 0 +} + +a:link { + color: #00a0ee; + text-decoration: none +} + +a:visited { + color: #00a0ee +} + +a:hover { + color: #007ebb; + text-decoration: underline +} + +a:active { + color: #007ebb; + text-decoration: underline +} + +body { + background-color: #fafafa; + color: #333; + font-family: helvetica, arial, sans-serif +} + +p, li { + line-height: 1.6em +} + +ul { + padding-left: 1.25em +} + +dl { + padding-left: 0 +} + +dl dt { + padding-left: 0; + font-family: helvetica, arial, sans-serif; + font-weight: normal +} + +dl dd { + margin-left: 0; + padding: 0.2em 0 0.6em 0 +} + +#page { + width: 100%; + margin: 0 auto +} + +.box-padding { + padding: 0 0.625em +} + +.header-site { + background: url("wcm-io-samples.app/resources/img/header_bg.jpg") 0 0 no-repeat #fff; + width: 100% +} + +.header-site hgroup { + padding: 0 0.625em 0; + overflow: hidden +} + +.footer-site { + background-color: #333; + min-height: 9.375em; + padding: 0.625em +} + +.title { + font-family: helvetica, arial, sans-serif; + font-weight: normal +} + +.title.title-nav { + display: none +} + +@media screen and (max-width: 600px) { + .title.title-mainnav { + display: block; + margin: 0.1em 0 0.1em 0.5em; + width: 30px; + height: 30px; + overflow: hidden; + word-wrap: nowrap + } + .title.title-mainnav a { + display: block; + overflow: hidden; + word-wrap: nowrap; + width: 100%; + height: 100%; + background: + url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeAgMAAABGXkYxAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAgJsrThgAAAAdSURBVBjTYyAJsK0CgZUMDFyrwADOgEsNTXNgAABqCjAroKrulAAAAABJRU5ErkJggg==') + 0 0 no-repeat transparent; + text-indent: 100% + } +} + +.title.title-site { + text-transform: none; + font-family: helvetica, arial, sans-serif; + margin: 0 0 0.5em 0; + padding: 0.5em 0 0 0 +} + +@media screen and (max-width: 320px) { + .title.title-site { + display: none + } +} + +.title.title-site.caption { + display: block; + font-family: helvetica, arial, sans-serif; + margin: 0.3em 0.2em 0; + padding: 0; + font-size: 1.2em +} + +@media screen and (max-width: 320px) { + .title.title-site.caption { + padding: 0.625em 0; + text-align: center + } +} + +.title.title-footer { + font-family: helvetica, arial, sans-serif; + font-weight: normal; + font-size: 1.0em; + margin: 0.5em 0 0.2em; + color: #fafafa; + text-transform: uppercase +} + +.title.title-teaser { + font-size: 1.3em +} + +.logo-main { + background-color: #fff; + padding: 0.625em 0.625em 2em +} + +.logo-main div { + width: 103px; + height: 100px; + background: + url('wcm-io-samples.app/resources/img/logo.png') + 0 0 no-repeat #fff; + background-size: 103px 100px +} + +@media screen and (-webkit-min-device-pixel-ratio: 1.5) { + .logo-main div { + background-image: + url('wcm-io-samples.app/resources/img/logo@2x.png') + } +} + +@media screen and (max-width: 320px) { + .logo-main { + display: block; + float: none; + padding: 1.25em 0.625em 0.625em; + margin: -0.625em -1.25em 0 + } + .logo-main div { + margin: 0 auto + } +} + +#nav-main { + width: 100%; + background-color: #00a0ee +} + +.navlist { + list-style-type: none; + margin: 0; + padding: 0 +} + +.navlist-main { + margin: 0 auto; + list-style: none +} + +.navlist-main li { + display: inline-block; + position: relative; + margin: 0.3em 1em +} + +@media screen and (min-width: 600px) { + .navlist-main li:hover ul { + display: block + } +} + +.navlist-main ul { + display: none; + position: absolute; + left: -1em; + background-color: #00a0ee; + z-index: 1; + padding-left: 0 +} + +.navlist-main ul li { + display: block; + white-space: nowrap +} + +@media screen and (max-width: 600px) { + .navlist-main { + display: none + } + .navlist-main.active { + display: block; + padding-bottom: 0.5em + } + .navlist-main li { + display: block; + margin: 0.5em 1em + } +} + +.navlist-footer { + min-height: 6.25em +} + +@media screen and (max-width: 600px) { + .navlist-footer { + min-height: 0; + margin: 0 0 1.25em 0 + } +} + +.navlink:link { + color: #fafafa +} + +.navlink:visited { + color: #fafafa +} + +.navlink:hover, .navlink:active { + color: #fafafa; + text-decoration: underline +} + +.js .tab-navigation { + position: relative +} + +.js .tab-navigation .tab-wrapper { + display: none; + padding-top: 38px; + position: relative +} + +@media screen and (max-width: 600px) { + .js .tab-navigation .tab-wrapper { + padding-top: 30px + } +} + +.js .tab-navigation .tab-wrapper h4 { + margin-top: 0 +} + +.js .tab-navigation .tab-wrapper.active { + display: block +} + +.js .tab-navigation .tab-opener { + display: none +} + +.js .tab-navigation .tab-content { + padding: 1em 1em 2em; + margin: 0 1em; + border: 2px solid #ccc +} + +.tab-schedule { + display: inline-block +} + +.tab-schedule h3, .tab-schedule h4 { + display: inline-block +} + +.tab-nav-bar { + display: block; + margin-left: 1em +} + +.js .tab-nav-bar { + position: absolute; + z-index: 1; + left: 1em; + top: 0 +} + +.tab-nav-bar a { + display: inline-block; + padding: 0.5em 1em; + text-align: center; + background-color: #ccc; + border: 2px solid #ccc; + font-weight: bold; + margin-right: 2px; + margin-bottom: -2px; + outline: none; + -webkit-border-radius: 0.5em 0.5em 0 0; + -moz-border-radius: 0.5em 0.5em 0 0; + -ms-border-radius: 0.5em 0.5em 0 0; + -o-border-radius: 0.5em 0.5em 0 0; + border-radius: 0.5em 0.5em 0 0 +} + +.tab-nav-bar a.active { + background-color: #fafafa; + border-bottom: 2px solid #fafafa +} + +@media screen and (max-width: 600px) { + .tab-nav-bar a { + font-size: 0.8em + } +} + +#teaserbar { + border-top: none +} + +@media screen and (min-width: 799px) { + #teaserbar { + border-top: 1px solid #999 + } +} + +.teaser { + border-top: 1px solid #999; + margin: 0.3125em 0 0.625em 0; + padding: 0 0.625em 0.625em +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .teaser { + border-top: 1px solid #999; + padding: 0 0 0.625em + } +} + +@media screen and (min-width: 799px) { + .teaser { + border-top: none; + padding: 0 0 0.625em + } +} + +.navlink-main { + font-family: helvetica, arial, sans-serif; + font-weight: normal +} + +.navlink-footer { + color: #fafafa; + font-size: 0.8em +} + +.footer-text { + color: #fafafa; + font-size: 0.8em; + margin: 0.4em 0 +} + +img { + margin: 0 auto; + max-width: 100%; + height: auto +} + +.hide-text { + text-indent: 100%; + white-space: nowrap; + overflow: hidden +} + +#main { + margin-bottom: 1em +} + +#map { + width: 100%; + height: 240px +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + #map { + height: 340px + } +} + +@media screen and (min-width: 799px) { + #map { + height: 400px + } +} + +#map h4 { + margin: 0 0 1em +} + +#map .overlay-content { + font-size: 0.8em; + color: #333 +} + +@media screen and (max-width: 600px) { + .small-center { + display: block; + text-align: center + } +} + +.image-small { + width: 50%; + margin: 0 auto +} + +@media screen and (min-width: 600px) and (max-width: 799px) { + .image-small { + width: 50%; + margin: 0 auto + } +} + +@media screen and (min-width: 799px) { + .image-small { + width: 100% + } +} + +.sponsor-image { + margin-bottom: 0.9375em +} + +.stage-large { + position: relative +} + +.stage-title { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 799px) { + .stage-title { + width: 50%; + float: left + } +} + +@media screen and (min-width: 799px) { + .stage-title { + width: 100% + } +} + +.stage-cta-box { + width: 100% +} + +@media screen and (min-width: 320px) and (max-width: 799px) { + .stage-cta-box { + width: 50%; + float: right + } +} + +@media screen and (min-width: 799px) { + .stage-cta-box { + width: 100% + } +} + +.stage-cta { + padding: 0.2em 0.1em 0.5em 1em; + background-color: #00a0ee; + height: 2em; + width: 9.375em; + position: relative; + display: inline-block +} + +.stage-cta:link, .stage-cta:visited, .stage-cta:hover, .stage-cta:active { + color: #fff +} + +@media screen and (min-width: 799px) { + .stage-cta:after { + position: absolute; + left: 100%; + top: 0; + content: ""; + width: 0; + height: 0; + border-style: solid; + border-width: 1em 0 1em 2em; + border-color: transparent transparent transparent #00a0ee + } +} + +.stage-overlay { + *zoom: 1; + width: 100% +} + +.stage-overlay:before, .stage-overlay:after { + content: ""; + display: table +} + +.stage-overlay:after { + clear: both +} + +.stage-overlay .title { + margin-top: 0 +} + +@media screen and (min-width: 799px) { + .stage-overlay { + position: absolute; + right: 0; + top: 0; + padding: 0.625em; + width: 30%; + background-color: rgba(255, 255, 255, 0.75); + height: 100%; + border-bottom: none + } +} + +.home-aside { + background-color: #eee +} + +@media screen and (min-width: 799px) { + .headline-overlay { + position: absolute; + left: 0; + top: 0; + width: 70%; + padding: 0 0.625em 0 1.25em; + color: #fff + } +} + +a.icon .social-icon { + height: 60px; + float: left +} + +.social-icon-text { + float: left; + margin-top: 17px; + margin-right: 0.25em +} + +.link-list { + padding: 0; + margin: 0; + list-style-type: none +} + +.link-list-item { + margin: 0; + padding: 0 0 0 1em; + background: + url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAYFBMVEUAAAAAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPEAnPFR1jtwAAAAH3RSTlMAjnhYCoP+uqeXBQLlEO/YzMfBoX5rJxY0061hUk8gmbnyCgAAAKxJREFUOMvNk0kOgzAMRRNmCKFMbeno+9+y5oOyMJG8q/Dq6fsJEccx56kkULrE+mlnd7q1QxbpE5Hd+0T9wUhorZzJdyuNjRC+FYzZGLe5pROGK5EnjPNmGFHNiPzKmIOe0siGYFhQdTB65C/GGjRJwz+Qp8GopXG/IH8zTiAbN4oPY1VgMnIeSwHDM7YEQ/2C9g/6KfQ56JPU70K/TX0f9I3Sd1Jutfou/l0//mcd+Iw4vrwAAAAASUVORK5CYII=') + 0 0.35em no-repeat transparent; + background-size: 0.8em 0.8em +} + +table { + width: 100% +} + +th, td { + margin: 0; + padding: 0.5em; + vertical-align: top; + text-align: left; + color: #333 +} + +th:first-child, td:first-child { + width: 7em +} + +th:last-child, td:last-child { + width: 10em +} + +@media screen and (max-width: 600px) { + th, td { + font-size: 0.8em + } +} + +@media screen and (max-width: 320px) { + th:nth-child(2), td:nth-child(2) { + border-right: none + } + th:last-child, td:last-child { + display: none + } +} + +td { + border: 3px solid #ccc; + background-color: #fafafa +} + +td:first-child { + border-left: none +} + +td:last-child { + border-right: none +} + +.break td { + background-color: #eee; + font-style: italic +} diff --git a/examples/tests/src/main/webapp/etc.clientlibs/wcm-io-samples/clientlibs/wcm-io-samples.all.lc-1.3.0-df02d1dc-lc.js b/examples/tests/src/main/webapp/etc.clientlibs/wcm-io-samples/clientlibs/wcm-io-samples.all.lc-1.3.0-df02d1dc-lc.js new file mode 100644 index 00000000..4172e809 --- /dev/null +++ b/examples/tests/src/main/webapp/etc.clientlibs/wcm-io-samples/clientlibs/wcm-io-samples.all.lc-1.3.0-df02d1dc-lc.js @@ -0,0 +1,477 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | 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=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.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(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.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||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),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("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=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)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(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 ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(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 typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.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===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||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 fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.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},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.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=fb.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=fb.selectors={cacheLength:50,createPseudo:hb,match:X,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(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===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]||fb.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]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.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(cb,db).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("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.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+" ").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;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(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),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).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 Z.test(a.nodeName)},input:function(a){return Y.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:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(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=[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(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(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 tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(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 vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(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?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(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 vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.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(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.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(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(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&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.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=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.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=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.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 m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;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},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!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&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("