From ce3c049c4121c0494db14f5d045ce716c708dc7c Mon Sep 17 00:00:00 2001 From: Ben Humphries Date: Thu, 29 Apr 2021 14:09:59 -0400 Subject: [PATCH 1/7] Update circle ci version + xcode build version --- .circleci/config.yml | 37 +------------------ .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++++ 2 files changed, 10 insertions(+), 35 deletions(-) create mode 100644 HyperionFramework.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/.circleci/config.yml b/.circleci/config.yml index e0e2172..be6ecda 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,36 +1,10 @@ -# iOS CircleCI 2.0 configuration file -# -# Check https://circleci.com/docs/2.0/ios-migrating-from-1-2/ for more details -# -version: 2 +version: 2.1 jobs: build: macos: - xcode: "10.2.1" - + xcode: "12.4.0" steps: - checkout - #Currently commented out due to a gem install error. - # - restore_cache: - # keys: - # - v1-gems-{{ checksum "Gemfile.lock" }} - # # Fall back to using the latest cache if no exact match is found. - # - v1-gems- - # # Install gems. - # - run: - # name: Bundle install - # command: bundle check || bundle install - # environment: - # BUNDLE_JOBS: 4 - # BUNDLE_RETRY: 3 - # BUNDLE_GEMFILE: ./Gemfile - # # This is the path where all the gems will be installed, and - # # which CircleCI will later cache. - # BUNDLE_PATH: vendor/bundle - # - save_cache: - # key: v1-gems-{{ checksum "Gemfile.lock" }} - # paths: - # - vendor/bundle - run: name: Install carthage command: | @@ -42,10 +16,3 @@ jobs: - store_artifacts: path: ./output destination: Frameworks - #Currently commented out due to a gem install error. - # - run: - # name: Generate documentation - # command: jazzy --objc --author WillowTree Inc. --author_url http://willowtreeapps.com --github_url https://github.com/willowtreeapps/Hyperion-iOS --github-file-prefix https://github.com/willowtreeapps/Hyperion-iOS/tree/master/ --module-version 0.99.0 --umbrella-header Core/HyperionCore.h --framework-root . --module HyperionCore - # - store_artifacts: - # path: ./docs - # destination: Documentation diff --git a/HyperionFramework.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/HyperionFramework.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/HyperionFramework.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + From 2e77424aad6ea751d9fc4c583f5cf1580a8a8077 Mon Sep 17 00:00:00 2001 From: Ben Humphries Date: Thu, 29 Apr 2021 20:20:13 -0400 Subject: [PATCH 2/7] Fix up build script --- build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index 15c95da..dbfe16d 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ rm -rf output mkdir output -carthage build --no-skip-current --verbose -carthage archive --output output/Hyperion.framework.zip +carthage build --archive --verbose +(cd Carthage/Build && zip -r ../../output/HyperionCore.framework.Plugins.zip .) From 0b2877f400804eb1cd3da41255e7dc39e045264f Mon Sep 17 00:00:00 2001 From: Ben Humphries Date: Thu, 29 Apr 2021 20:38:17 -0400 Subject: [PATCH 3/7] Update jazzy docs --- .circleci/config.yml | 30 +- Docs/Classes.html | 77 +- Docs/Classes/HYPPluginHelper.html | 43 +- Docs/Classes/HYPPluginMenuItem.html | 62 +- Docs/Classes/HYPSnapshotInteractionView.html | 63 +- Docs/Classes/HYPSnapshotPluginModule.html | 38 +- Docs/Classes/HyperionManager.html | 68 +- Docs/Constants.html | 61 +- Docs/Functions.html | 173 ++ Docs/Protocols.html | 95 +- Docs/Protocols/HYPOverlayContainer.html | 42 +- .../HYPOverlayPluginViewProvider.html | 43 +- Docs/Protocols/HYPPlugin.html | 60 +- Docs/Protocols/HYPPluginExtension.html | 59 +- Docs/Protocols/HYPPluginMenuItem.html | 50 +- Docs/Protocols/HYPPluginMenuItemDelegate.html | 40 +- Docs/Protocols/HYPPluginModule.html | 91 +- Docs/Protocols/HYPSnapshotContainer.html | 82 +- .../HYPSnapshotPluginViewProvider.html | 61 +- Docs/Protocols/HYPViewSelectionDelegate.html | 42 +- Docs/badge.svg | 4 +- Docs/css/jazzy.css | 97 +- .../Contents/Resources/Documents/Classes.html | 77 +- .../Documents/Classes/HYPPluginHelper.html | 43 +- .../Documents/Classes/HYPPluginMenuItem.html | 62 +- .../Classes/HYPSnapshotInteractionView.html | 63 +- .../Classes/HYPSnapshotPluginModule.html | 38 +- .../Documents/Classes/HyperionManager.html | 68 +- .../Resources/Documents/Constants.html | 61 +- .../Resources/Documents/Functions.html | 173 ++ .../Resources/Documents/Protocols.html | 95 +- .../Protocols/HYPOverlayContainer.html | 42 +- .../HYPOverlayPluginViewProvider.html | 43 +- .../Documents/Protocols/HYPPlugin.html | 60 +- .../Protocols/HYPPluginExtension.html | 59 +- .../Protocols/HYPPluginMenuItem.html | 50 +- .../Protocols/HYPPluginMenuItemDelegate.html | 40 +- .../Documents/Protocols/HYPPluginModule.html | 91 +- .../Protocols/HYPSnapshotContainer.html | 82 +- .../HYPSnapshotPluginViewProvider.html | 61 +- .../Protocols/HYPViewSelectionDelegate.html | 42 +- .../Contents/Resources/Documents/badge.svg | 28 + .../Resources/Documents/css/jazzy.css | 97 +- .../Resources/Documents/img/spinner.gif | Bin 0 -> 1849 bytes .../Contents/Resources/Documents/index.html | 41 +- .../Contents/Resources/Documents/js/jazzy.js | 62 +- .../Resources/Documents/js/jazzy.search.js | 70 + .../Resources/Documents/js/jquery.min.js | 4 +- .../Resources/Documents/js/lunr.min.js | 6 + .../Documents/js/typeahead.jquery.js | 1694 +++++++++++++++++ .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 36864 -> 36864 bytes Docs/docsets/HyperionCore.tgz | Bin 63351 -> 91410 bytes Docs/img/spinner.gif | Bin 0 -> 1849 bytes Docs/index.html | 41 +- Docs/js/jazzy.js | 62 +- Docs/js/jazzy.search.js | 70 + Docs/js/jquery.min.js | 4 +- Docs/js/lunr.min.js | 6 + Docs/js/typeahead.jquery.js | 1694 +++++++++++++++++ Docs/search.json | 2 +- Gemfile | 4 +- Gemfile.lock | 108 +- 63 files changed, 5819 insertions(+), 807 deletions(-) create mode 100644 Docs/Functions.html create mode 100644 Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Functions.html create mode 100644 Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/badge.svg create mode 100644 Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 Docs/img/spinner.gif create mode 100644 Docs/js/jazzy.search.js create mode 100644 Docs/js/lunr.min.js create mode 100644 Docs/js/typeahead.jquery.js diff --git a/.circleci/config.yml b/.circleci/config.yml index be6ecda..ac3457b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,14 +5,40 @@ jobs: xcode: "12.4.0" steps: - checkout + - restore_cache: + keys: + - v1-gems-{{ checksum "Gemfile.lock" }} + # Fall back to using the latest cache if no exact match is found. + - v1-gems- + # Install gems. + - run: + name: 🛠 Bundle install + command: bundle check || bundle install + environment: + BUNDLE_JOBS: 4 + BUNDLE_RETRY: 3 + BUNDLE_GEMFILE: ./Gemfile + # This is the path where all the gems will be installed, and + # which CircleCI will later cache. + BUNDLE_PATH: vendor/bundle + - save_cache: + key: v1-gems-{{ checksum "Gemfile.lock" }} + paths: + - vendor/bundle - run: - name: Install carthage + name: 📦 Install carthage command: | brew update brew outdated carthage || brew upgrade carthage - run: - name: Build Frameworks + name: 🏗 Build Frameworks command: sh build.sh - store_artifacts: path: ./output destination: Frameworks + - run: + name: 📚 Generate documentation + command: jazzy --objc --author WillowTree Inc. --author_url https://willowtreeapps.com --github_url https://github.com/willowtreeapps/Hyperion-iOS --github-file-prefix https://github.com/willowtreeapps/Hyperion-iOS/tree/master/ --module-version 0.99.0 --umbrella-header Core/HyperionCore.h --framework-root . --module HyperionCore + - store_artifacts: + path: ./docs + destination: Documentation diff --git a/Docs/Classes.html b/Docs/Classes.html index 41eb022..f62893e 100644 --- a/Docs/Classes.html +++ b/Docs/Classes.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -140,17 +151,16 @@

Classes

Declaration

Objective-C

-
@interface HyperionManager : NSObject
+
@interface HyperionManager
+ - - -
-
  • @@ -172,17 +182,16 @@

    Declaration

    Declaration

    Objective-C

    -
    @interface HYPPluginHelper : NSObject
    +
    @interface HYPPluginHelper
    +
- - -
-
- - -
-
- - -
-
  • @@ -268,17 +275,16 @@

    Declaration

    Declaration

    Objective-C

    -
    @interface HYPSnapshotInteractionView : UIView
    +
    @interface HYPSnapshotInteractionView
    +
- - -
-
  • @@ -305,6 +311,9 @@

    Declaration

+ @@ -313,8 +322,8 @@

Declaration

diff --git a/Docs/Classes/HYPPluginHelper.html b/Docs/Classes/HYPPluginHelper.html index 27744db..056e5d2 100644 --- a/Docs/Classes/HYPPluginHelper.html +++ b/Docs/Classes/HYPPluginHelper.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -113,12 +124,16 @@

HYPPluginHelper

-
@interface HYPPluginHelper : NSObject
+ +
@interface HYPPluginHelper

Provides helper methods that should be common tasks among plugins.

+
@@ -143,8 +158,7 @@

HYPPluginHelper

Declaration

Objective-C

-
+ (NSMutableArray<UIView *> *)findSubviewsInView:(UIView *)view
-                               intersectingPoint:(CGPoint)point;
+
+ (id)findSubviewsInView:(id)view intersectingPoint:(id)point;
@@ -179,6 +193,9 @@

Parameters

+ @@ -187,8 +204,8 @@

Parameters

diff --git a/Docs/Classes/HYPPluginMenuItem.html b/Docs/Classes/HYPPluginMenuItem.html index 11fd4ba..eeb6f19 100644 --- a/Docs/Classes/HYPPluginMenuItem.html +++ b/Docs/Classes/HYPPluginMenuItem.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -113,12 +124,16 @@

HYPPluginMenuItem

-
@interface HYPPluginMenuItem : UIView <HYPPluginMenuItem>
+ +
@interface HYPPluginMenuItem <HYPPluginMenuItem>

HYPPluginMenuItem Represents a row in the Hyperion plugin list.

+
@@ -128,7 +143,7 @@

HYPPluginMenuItem

- -bindWithTitle:image: + -bindWithTitle:image:
@@ -143,7 +158,7 @@

HYPPluginMenuItem

Declaration

Objective-C

-
- (void)bindWithTitle:(NSString *)title image:(UIImage *)image;
+
- (void)bindWithTitle:(id)title image:(id)image;
@@ -178,6 +193,9 @@

Parameters

+ @@ -204,10 +222,13 @@

Parameters

Declaration

Objective-C

-
@property (assign, readwrite, nonatomic) UITapGestureRecognizer *tapGesture;
+
@property (nonatomic) int *tapGesture;
+ @@ -231,10 +252,13 @@

Declaration

Declaration

Objective-C

-
@property (assign, readwrite, nonatomic) UILabel *titleLabel;
+
@property (nonatomic) int *titleLabel;
+ @@ -258,10 +282,13 @@

Declaration

Declaration

Objective-C

-
@property (assign, readwrite, nonatomic) UIImageView *pluginImageView;
+
@property (nonatomic) int *pluginImageView;
+ @@ -285,10 +312,13 @@

Declaration

Declaration

Objective-C

-
@property (assign, readwrite, nonatomic) CGFloat height;
+
@property (nonatomic) int height;
+ @@ -297,8 +327,8 @@

Declaration

diff --git a/Docs/Classes/HYPSnapshotInteractionView.html b/Docs/Classes/HYPSnapshotInteractionView.html index 0dfd8c7..0a055c7 100644 --- a/Docs/Classes/HYPSnapshotInteractionView.html +++ b/Docs/Classes/HYPSnapshotInteractionView.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -113,13 +124,17 @@

HYPSnapshotInteractionView

-
@interface HYPSnapshotInteractionView : UIView
+ +
@interface HYPSnapshotInteractionView

This is a base implementation of a Snapshot plugins view that gets added to the HYPSnapshotContainer once active.

+
@@ -129,7 +144,7 @@

HYPSnapshotInteractionView

- -initWithExtension: + -initWithExtension:
@@ -168,6 +183,9 @@

Parameters

+
@@ -176,7 +194,7 @@

Parameters

- -interactionViewWillTransitionToSize:withTransitionCoordinator: + -interactionViewWillTransitionToSize:withTransitionCoordinator:
@@ -191,10 +209,8 @@

Parameters

Declaration

Objective-C

-
- (void)interactionViewWillTransitionToSize:(CGSize)size
-                  withTransitionCoordinator:
-                      (id<UIViewControllerTransitionCoordinator> _Nullable)
-                          coordinator;
+
- (void)interactionViewWillTransitionToSize:(id)size
+                  withTransitionCoordinator:(id _Nullable)coordinator;
@@ -229,6 +245,9 @@

Parameters

+ @@ -237,7 +256,7 @@

Parameters

- -interactionViewDidTransitionToSize: + -interactionViewDidTransitionToSize:
@@ -252,7 +271,7 @@

Parameters

Declaration

Objective-C

-
- (void)interactionViewDidTransitionToSize:(CGSize)size;
+
- (void)interactionViewDidTransitionToSize:(id)size;
@@ -275,6 +294,9 @@

Parameters

+ @@ -298,10 +320,13 @@

Parameters

Declaration

Objective-C

-
@property (readonly, nonatomic, nullable) id<HYPPluginExtension> extension;
+
@property (nonatomic, readonly, nullable) id<HYPPluginExtension> extension;
+ @@ -310,8 +335,8 @@

Declaration

diff --git a/Docs/Classes/HYPSnapshotPluginModule.html b/Docs/Classes/HYPSnapshotPluginModule.html index 9a72977..0a8d641 100644 --- a/Docs/Classes/HYPSnapshotPluginModule.html +++ b/Docs/Classes/HYPSnapshotPluginModule.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -113,6 +124,7 @@

HYPSnapshotPluginModule

+
@interface HYPSnapshotPluginModule
     : HYPPluginModule <HYPSnapshotPluginViewProvider>
@@ -120,6 +132,9 @@

HYPSnapshotPluginModule

HYPSnapshotPluginModule is a base implementation of a Snapshot Plugin.

+
@@ -144,7 +159,7 @@

HYPSnapshotPluginModule

Declaration

Objective-C

-
@property (readonly, nonatomic) UIView *_Nullable snapshotPluginView;
+
@property (nonatomic, readonly) int *_Nullable snapshotPluginView;
@@ -152,6 +167,9 @@

Declaration

Return Value

The view that should get added the Snap Shot container when activated.

+
@@ -160,8 +178,8 @@

Return Value

diff --git a/Docs/Classes/HyperionManager.html b/Docs/Classes/HyperionManager.html index 39755b9..17277bb 100644 --- a/Docs/Classes/HyperionManager.html +++ b/Docs/Classes/HyperionManager.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -113,7 +124,8 @@

HyperionManager

-
@interface HyperionManager : NSObject
+ +
@interface HyperionManager
@@ -121,6 +133,9 @@

HyperionManager

Note: Hyperion handles embedding itself on it’s own, so using HyperionManager is not required.

+
@@ -151,6 +166,9 @@

Declaration

+ @@ -159,7 +177,7 @@

Declaration

- -attachToWindow: + -attachToWindow:
@@ -174,7 +192,7 @@

Declaration

Declaration

Objective-C

-
- (void)attachToWindow:(UIWindow *)window;
+
- (void)attachToWindow:(id)window;
@@ -197,6 +215,9 @@

Parameters

+ @@ -224,6 +245,9 @@

Declaration

+ @@ -247,7 +271,7 @@

Declaration

Declaration

Objective-C

-
- (NSArray<Class<HYPPlugin>> *)retrievePluginClasses;
+
- (id)retrievePluginClasses;
@@ -255,6 +279,9 @@

Declaration

Return Value

A list of plugin classes.

+ @@ -278,7 +305,7 @@

Return Value

Declaration

Objective-C

-
- (NSArray<id<HYPPluginModule>> *)retrievePluginModules;
+
- (id)retrievePluginModules;
@@ -286,6 +313,9 @@

Declaration

Return Value

A cached list of plugin modules.

+ @@ -309,7 +339,7 @@

Return Value

Declaration

Objective-C

-
- (NSArray<id<HYPPluginModule>> *)forceRefreshPluginModules;
+
- (id)forceRefreshPluginModules;
@@ -317,6 +347,9 @@

Declaration

Return Value

The latest available plugin modules.

+ @@ -340,10 +373,13 @@

Return Value

Declaration

Objective-C

-
@property (readonly, nonatomic) HYPActivationGestureOptions activationGestures;
+
@property (nonatomic, readonly) int activationGestures;
+ @@ -352,8 +388,8 @@

Declaration

diff --git a/Docs/Constants.html b/Docs/Constants.html index d523a0b..62ffb4d 100644 --- a/Docs/Constants.html +++ b/Docs/Constants.html @@ -8,14 +8,22 @@ + + +
-

HyperionCore Docs (97% documented)

+

HyperionCore 0.99.0 Docs (94% documented)

View on GitHub

+

+

+ +
+

@@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
@@ -137,10 +148,13 @@

Constants

Declaration

Objective-C

-
extern double HyperionCoreVersionNumber
+
FOUNDATION_EXPORT double HyperionCoreVersionNumber
+ @@ -152,6 +166,28 @@

Declaration

HyperionCoreVersionString
+
+
+
+
+
+

Undocumented

+ +
+ +
+
+ +
  • +
    + + + + pluginMenuItem + +
    @@ -164,10 +200,13 @@

    Declaration

    Declaration

    Objective-C

    -
    extern const unsigned char HyperionCoreVersionString[]
    +
    <HYPPluginMenuItem> *pluginMenuItem
    +
  • @@ -176,8 +215,8 @@

    Declaration

    diff --git a/Docs/Functions.html b/Docs/Functions.html new file mode 100644 index 0000000..2ef02e5 --- /dev/null +++ b/Docs/Functions.html @@ -0,0 +1,173 @@ + + + + Functions Reference + + + + + + + + + + + + + +
    +
    +

    HyperionCore 0.99.0 Docs (94% documented)

    +

    View on GitHub

    +

    +

    + +
    +

    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    Functions

    +

    The following functions are available globally.

    + +
    +
    +
    +
      +
    • +
      + + + + NS_OPTIONS + +
      +
      +
      +
      +
      +
      +

      Supported gestures to activate Hyperion.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      int NS_OPTIONS(NSUInteger, HYPActivationGestureOptions)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Docs/Protocols.html b/Docs/Protocols.html index aeb3114..1de7e24 100644 --- a/Docs/Protocols.html +++ b/Docs/Protocols.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -138,10 +149,13 @@

    Protocols

    Declaration

    Objective-C

    -
    @protocol HYPSnapshotContainer <NSObject>
    +
    @protocol HYPSnapshotContainer
    + @@ -166,17 +180,16 @@

    Declaration

    Declaration

    Objective-C

    -
    @protocol HYPOverlayContainer <NSObject>
    +
    @protocol HYPOverlayContainer
    + - - -
    -
    • @@ -203,6 +216,9 @@

      Declaration

    + @@ -232,13 +248,12 @@

    Declaration

    + - - -
    -
    • @@ -263,17 +278,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPPlugin <NSObject>
      +
      @protocol HYPPlugin
      +
    - - -
    -
    • @@ -295,17 +309,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPPluginExtension <NSObject>
      +
      @protocol HYPPluginExtension
      +
    - - -
    -
    • @@ -331,6 +344,9 @@

      Declaration

    + @@ -359,13 +375,12 @@

    Declaration

    + - - -
    -
    • @@ -387,17 +402,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPPluginModule <NSObject>
      +
      @protocol HYPPluginModule
      +
    - - -
    -
    • @@ -419,10 +433,13 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPViewSelectionDelegate <NSObject>
      +
      @protocol HYPViewSelectionDelegate
      +
    @@ -431,8 +448,8 @@

    Declaration

    diff --git a/Docs/Protocols/HYPOverlayContainer.html b/Docs/Protocols/HYPOverlayContainer.html index 045d4ae..6e91fa9 100644 --- a/Docs/Protocols/HYPOverlayContainer.html +++ b/Docs/Protocols/HYPOverlayContainer.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPOverlayContainer

    -
    @protocol HYPOverlayContainer <NSObject>
    + +
    @protocol HYPOverlayContainer

    The HYPOverlayContainer provides a mechanism for displaying custom UI over an app while still allowing the user to interact with it. The HYPOverlayContainer holds the HYPOverlayViewProvider’s when an overlay plugin becomes active.

    +
    @@ -145,12 +160,13 @@

    HYPOverlayContainer

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic, nullable)
    -    id<HYPPluginModule, HYPOverlayPluginViewProvider>
    -        overlayModule;
    +
    @property (nonatomic, nullable) id<HYPPluginModule, HYPOverlayPluginViewProvider> overlayModule;
    +
    @@ -159,8 +175,8 @@

    Declaration

    diff --git a/Docs/Protocols/HYPOverlayPluginViewProvider.html b/Docs/Protocols/HYPOverlayPluginViewProvider.html index 11adc05..50171f9 100644 --- a/Docs/Protocols/HYPOverlayPluginViewProvider.html +++ b/Docs/Protocols/HYPOverlayPluginViewProvider.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,6 +124,7 @@

    HYPOverlayPluginViewProvider

    +
    @protocol HYPOverlayPluginViewProvider
    @@ -120,6 +132,9 @@

    HYPOverlayPluginViewProvider

    The HYPOverlayPluginViewProvider protocol defines a mechanism for requesting the view that is overlayed on top of the app when an Overlay plugin becomes active.

    +
    @@ -129,7 +144,7 @@

    HYPOverlayPluginViewProvider

    - -activateOverlayPluginViewWithContext: + -activateOverlayPluginViewWithContext:
    @@ -147,7 +162,7 @@

    HYPOverlayPluginViewProvider

    Declaration

    Objective-C

    -
    - (void)activateOverlayPluginViewWithContext:(nonnull UIView *)context;
    +
    - (void)activateOverlayPluginViewWithContext:(id)context;
    @@ -170,6 +185,9 @@

    Parameters

    +
    @@ -197,6 +215,9 @@

    Declaration

    + @@ -205,8 +226,8 @@

    Declaration

    diff --git a/Docs/Protocols/HYPPlugin.html b/Docs/Protocols/HYPPlugin.html index 492716b..477d625 100644 --- a/Docs/Protocols/HYPPlugin.html +++ b/Docs/Protocols/HYPPlugin.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,7 +124,8 @@

    HYPPlugin

    -
    @protocol HYPPlugin <NSObject>
    + +
    @protocol HYPPlugin
    @@ -122,6 +134,9 @@

    HYPPlugin

    @since v1.0

    +
    @@ -131,7 +146,7 @@

    HYPPlugin

    - +createPluginModule: + +createPluginModule:
    @@ -174,6 +189,9 @@

    Parameters

    Return Value

    A new plugin module instance the represents the HYPPlugin.

    +
    @@ -197,7 +215,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nonnull NSString *)pluginVersion;
    +
    + (id)pluginVersion;
    @@ -205,6 +223,9 @@

    Declaration

    Return Value

    The semantic version for the plugin.

    + @@ -231,7 +252,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nullable UIViewController *)createPluginGuideViewController;
    +
    + (id)createPluginGuideViewController;
    @@ -239,6 +260,9 @@

    Declaration

    Return Value

    A ViewController that guides the user on how to

    + @@ -265,7 +289,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nonnull UIImage *)pluginGuideImage;
    +
    + (id)pluginGuideImage;
    @@ -273,6 +297,9 @@

    Declaration

    Return Value

    An image that represents the plugin.

    + @@ -299,7 +326,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nonnull UIImage *)pluginGuideName;
    +
    + (id)pluginGuideName;
    @@ -307,6 +334,9 @@

    Declaration

    Return Value

    A name that represents the plugin.

    + @@ -315,8 +345,8 @@

    Return Value

    diff --git a/Docs/Protocols/HYPPluginExtension.html b/Docs/Protocols/HYPPluginExtension.html index 3828b22..d842d3c 100644 --- a/Docs/Protocols/HYPPluginExtension.html +++ b/Docs/Protocols/HYPPluginExtension.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginExtension

    -
    @protocol HYPPluginExtension <NSObject>
    + +
    @protocol HYPPluginExtension

    The HYPPluginExtension protocol provides the plugin with context about windows and containers that are available to it.

    +
    @@ -143,7 +158,7 @@

    HYPPluginExtension

    Declaration

    Objective-C

    -
    - (nullable UIWindow *)attachedWindow;
    +
    - (id)attachedWindow;
    @@ -151,6 +166,9 @@

    Declaration

    Return Value

    The current window Hyperion is attached to.

    + @@ -174,7 +192,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (nullable UIWindow *)hypeWindow;
    +
    - (id)hypeWindow;
    @@ -182,6 +200,9 @@

    Declaration

    Return Value

    The window that displays the Hyperion plugin drawer.

    + @@ -213,6 +234,9 @@

    Declaration

    Return Value

    The container that HYPSnapshotPlugin ‘s will use to display.

    + @@ -244,6 +268,9 @@

    Declaration

    Return Value

    The container that HYPOverlayPlugin ‘s will use to display.

    + @@ -252,7 +279,7 @@

    Return Value

    - -presentViewControllerOverDrawer:animated: + -presentViewControllerOverDrawer:animated:
    @@ -270,8 +297,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (void)presentViewControllerOverDrawer:(UIViewController *_Nullable)controller
    -                               animated:(BOOL)animated;
    +
    - (void)presentViewControllerOverDrawer:(id)controller animated:(id)animated;
    @@ -306,6 +332,9 @@

    Parameters

    + @@ -314,8 +343,8 @@

    Parameters

    diff --git a/Docs/Protocols/HYPPluginMenuItem.html b/Docs/Protocols/HYPPluginMenuItem.html index e42e7b9..9072cf3 100644 --- a/Docs/Protocols/HYPPluginMenuItem.html +++ b/Docs/Protocols/HYPPluginMenuItem.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginMenuItem

    +
    @protocol HYPPluginMenuItem

    HYPPluginMenuItem Represents a row in the Hyperion plugin list.

    +
    @@ -128,7 +143,7 @@

    HYPPluginMenuItem

    - -setSelected:animated: + -setSelected:animated:
    @@ -143,7 +158,7 @@

    HYPPluginMenuItem

    Declaration

    Objective-C

    -
    - (void)setSelected:(BOOL)selected animated:(BOOL)animated;
    +
    - (void)setSelected:(id)selected animated:(id)animated;
    @@ -178,6 +193,9 @@

    Parameters

    + @@ -201,10 +219,13 @@

    Parameters

    Declaration

    Objective-C

    -
    @property (readonly, getter=isSelected, nonatomic) BOOL selected;
    +
    @property (nonatomic, readonly, getter=isSelected) int selected;
    + @@ -228,10 +249,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (readwrite, nonatomic) id<HYPPluginMenuItemDelegate> delegate;
    +
    @property (nonatomic, weak) id<HYPPluginMenuItemDelegate> delegate;
    + @@ -240,8 +264,8 @@

    Declaration

    diff --git a/Docs/Protocols/HYPPluginMenuItemDelegate.html b/Docs/Protocols/HYPPluginMenuItemDelegate.html index 46af0b4..ac7ad58 100644 --- a/Docs/Protocols/HYPPluginMenuItemDelegate.html +++ b/Docs/Protocols/HYPPluginMenuItemDelegate.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginMenuItemDelegate

    +
    @protocol HYPPluginMenuItemDelegate

    A delegate to be informed on HYPPluginMenuItem actions.

    +
    @@ -128,7 +143,7 @@

    HYPPluginMenuItemDelegate

    - -pluginMenuItemSelected: + -pluginMenuItemSelected:
    @@ -143,7 +158,7 @@

    HYPPluginMenuItemDelegate

    Declaration

    Objective-C

    -
    - (void)pluginMenuItemSelected:(UIView<HYPPluginMenuItem> *)pluginView;
    +
    - (void)pluginMenuItemSelected:(id)pluginView;
    @@ -166,6 +181,9 @@

    Parameters

    + @@ -174,8 +192,8 @@

    Parameters

    diff --git a/Docs/Protocols/HYPPluginModule.html b/Docs/Protocols/HYPPluginModule.html index 6b9707b..c3991d2 100644 --- a/Docs/Protocols/HYPPluginModule.html +++ b/Docs/Protocols/HYPPluginModule.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginModule

    -
    @protocol HYPPluginModule <NSObject>
    + +
    @protocol HYPPluginModule

    HYPPluginModule protocol represents an instance of a plugin.

    +
    @@ -128,7 +143,7 @@

    HYPPluginModule

    - -initWithExtension: + -initWithExtension:
    @@ -167,33 +182,8 @@

    Parameters

    -
    -
    - -
  • -
    - - - - pluginMenuItem - -
    -
    -
    -
    -
    -
    -

    The item that appears in the plugin menu list.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, nonatomic, nullable)
    -    UIView<HYPPluginMenuItem> *pluginMenuItem;
    - -
    +
    @@ -218,10 +208,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic) BOOL active;
    +
    @property (nonatomic, readonly) int active;
    +
  • @@ -245,10 +238,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic, nonnull) id<HYPPluginExtension> extension;
    +
    @property (nonatomic, readonly, nonnull) id<HYPPluginExtension> extension;
    + @@ -272,7 +268,7 @@

    Declaration

    Declaration

    Objective-C

    -
    - (nonnull NSString *)pluginMenuItemTitle;
    +
    - (id)pluginMenuItemTitle;
    @@ -280,6 +276,9 @@

    Declaration

    Return Value

    The title that should display for the plugin menu Item.

    + @@ -303,7 +302,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (nonnull UIImage *)pluginMenuItemImage;
    +
    - (id)pluginMenuItemImage;
    @@ -311,6 +310,9 @@

    Declaration

    Return Value

    The image that should display for the plugin menu Item.

    + @@ -334,7 +336,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (BOOL)shouldHideDrawerOnSelection;
    +
    - (id)shouldHideDrawerOnSelection;
    @@ -342,6 +344,9 @@

    Declaration

    Return Value

    Yes if the drawer should hide when the plugin becomes active/inactive.

    + @@ -350,8 +355,8 @@

    Return Value

    diff --git a/Docs/Protocols/HYPSnapshotContainer.html b/Docs/Protocols/HYPSnapshotContainer.html index 92567ab..543b8b0 100644 --- a/Docs/Protocols/HYPSnapshotContainer.html +++ b/Docs/Protocols/HYPSnapshotContainer.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPSnapshotContainer

    -
    @protocol HYPSnapshotContainer <NSObject>
    + +
    @protocol HYPSnapshotContainer

    The HYPSnapshotContainer provides a mechanism of displaying custom UI over a Snapshot of the current app. This allows the user to zoom on the app and inspect tiny details, but also prevents the user from interacting with the app. The HYPSnapshotContainer holds the HYPSnapshotPluginViewProvider’s view when a snapshot plugin becomes active. It also provides convenience methods for presenting common UI across the Snanshot plugin platform.

    +
    @@ -145,7 +160,7 @@

    HYPSnapshotContainer

    Declaration

    Objective-C

    -
    - (void)presentViewListPopoverForPoint:(CGPoint)point
    +                          
    - (void)presentViewListPopoverForPoint:(id)point
                                   delegate:(nullable id<HYPViewSelectionDelegate>)
                                                delegate;
    @@ -182,6 +197,9 @@

    Parameters

    +
    @@ -190,7 +208,7 @@

    Parameters

    - -presentPopover:recommendedHeight:forView: + -presentPopover:recommendedHeight:forView:
    @@ -205,9 +223,9 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)presentPopover:(nonnull UIViewController *)popoverController
    -     recommendedHeight:(CGFloat)height
    -               forView:(nonnull UIView *)view;
    +
    - (void)presentPopover:(id)popoverController
    +     recommendedHeight:(id)height
    +               forView:(id)view;
    @@ -254,6 +272,9 @@

    Parameters

    + @@ -262,7 +283,7 @@

    Parameters

    - -presentPopover:recommendedHeight:atPosition: + -presentPopover:recommendedHeight:atPosition:
    @@ -277,9 +298,9 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)presentPopover:(nonnull UIViewController *)popoverController
    -     recommendedHeight:(CGFloat)height
    -            atPosition:(CGPoint)point;
    +
    - (void)presentPopover:(id)popoverController
    +     recommendedHeight:(id)height
    +            atPosition:(id)point;
    @@ -326,6 +347,9 @@

    Parameters

    + @@ -353,6 +377,9 @@

    Declaration

    + @@ -361,7 +388,7 @@

    Declaration

    - -presentViewController:animated: + -presentViewController:animated:
    @@ -378,8 +405,7 @@

    Declaration

    Declaration

    Objective-C

    -
    - (void)presentViewController:(nonnull UIViewController *)controller
    -                     animated:(_Bool)animated;
    +
    - (void)presentViewController:(id)controller animated:(id)animated;
    @@ -414,6 +440,9 @@

    Parameters

    + @@ -439,12 +468,13 @@

    Parameters

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic, nullable)
    -    id<HYPPluginModule, HYPSnapshotPluginViewProvider>
    -        overlayModule;
    +
    @property (nonatomic, nullable) id<HYPPluginModule, HYPSnapshotPluginViewProvider> overlayModule;
    + @@ -453,8 +483,8 @@

    Declaration

    diff --git a/Docs/Protocols/HYPSnapshotPluginViewProvider.html b/Docs/Protocols/HYPSnapshotPluginViewProvider.html index 27cbf6a..44dc6de 100644 --- a/Docs/Protocols/HYPSnapshotPluginViewProvider.html +++ b/Docs/Protocols/HYPSnapshotPluginViewProvider.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,6 +124,7 @@

    HYPSnapshotPluginViewProvider

    +
    @protocol HYPSnapshotPluginViewProvider
    @@ -120,6 +132,9 @@

    HYPSnapshotPluginViewProvider

    The HYPSnapshotPluginViewProvider protocol defines a mechanism for requesting the view that is placed ontop of the app when a snap shot plugin becomes active.

    +
    @@ -129,7 +144,7 @@

    HYPSnapshotPluginViewProvider

    - -activateSnapshotPluginViewWithContext: + -activateSnapshotPluginViewWithContext:
    @@ -147,7 +162,7 @@

    HYPSnapshotPluginViewProvider

    Declaration

    Objective-C

    -
    - (void)activateSnapshotPluginViewWithContext:(nonnull UIView *)context;
    +
    - (void)activateSnapshotPluginViewWithContext:(id)context;
    @@ -170,6 +185,9 @@

    Parameters

    +
    @@ -197,6 +215,9 @@

    Declaration

    + @@ -205,7 +226,7 @@

    Declaration

    - -snapshotContextWillTransitionToSize:withTransitionCoordinator: + -snapshotContextWillTransitionToSize:withTransitionCoordinator:
    @@ -220,10 +241,8 @@

    Declaration

    Declaration

    Objective-C

    -
    - (void)snapshotContextWillTransitionToSize:(CGSize)size
    -                  withTransitionCoordinator:
    -                      (id<UIViewControllerTransitionCoordinator> _Nullable)
    -                          coordinator;
    +
    - (void)snapshotContextWillTransitionToSize:(id)size
    +                  withTransitionCoordinator:(id _Nullable)coordinator;
    @@ -258,6 +277,9 @@

    Parameters

    + @@ -266,7 +288,7 @@

    Parameters

    - -snapshotContextDidTransitionToSize: + -snapshotContextDidTransitionToSize:
    @@ -281,7 +303,7 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)snapshotContextDidTransitionToSize:(CGSize)size;
    +
    - (void)snapshotContextDidTransitionToSize:(id)size;
    @@ -304,6 +326,9 @@

    Parameters

    + @@ -312,8 +337,8 @@

    Parameters

    diff --git a/Docs/Protocols/HYPViewSelectionDelegate.html b/Docs/Protocols/HYPViewSelectionDelegate.html index f7e7581..d47d49d 100644 --- a/Docs/Protocols/HYPViewSelectionDelegate.html +++ b/Docs/Protocols/HYPViewSelectionDelegate.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPViewSelectionDelegate

    -
    @protocol HYPViewSelectionDelegate <NSObject>
    + +
    @protocol HYPViewSelectionDelegate

    A delegate used to notify when a view has been selected from the ViewListPopover.

    +
    @@ -128,7 +143,7 @@

    HYPViewSelectionDelegate

    - -viewSelected: + -viewSelected:
    @@ -143,7 +158,7 @@

    HYPViewSelectionDelegate

    Declaration

    Objective-C

    -
    - (void)viewSelected:(UIView *)selection;
    +
    - (void)viewSelected:(id)selection;
    @@ -166,6 +181,9 @@

    Parameters

    + @@ -174,8 +192,8 @@

    Parameters

    diff --git a/Docs/badge.svg b/Docs/badge.svg index 5f56a7e..a5fd08d 100644 --- a/Docs/badge.svg +++ b/Docs/badge.svg @@ -19,10 +19,10 @@ documentation - 97% + 94% - 97% + 94% diff --git a/Docs/css/jazzy.css b/Docs/css/jazzy.css index a982892..5cdffe9 100644 --- a/Docs/css/jazzy.css +++ b/Docs/css/jazzy.css @@ -56,9 +56,14 @@ p code, li code { padding: 2px 4px; border-radius: 4px; } +pre > code { + padding: 0; } + a { color: #0088cc; text-decoration: none; } + a code { + color: inherit; } ul { padding-left: 15px; } @@ -80,11 +85,11 @@ blockquote { header { font-size: 0.85em; - line-height: 26px; + line-height: 32px; background-color: #414141; position: fixed; width: 100%; - z-index: 1; } + z-index: 3; } header img { padding-right: 6px; vertical-align: -4px; @@ -100,12 +105,12 @@ header { #breadcrumbs { background-color: #f2f2f2; - height: 27px; + height: 21px; padding-top: 17px; position: fixed; width: 100%; - z-index: 1; - margin-top: 26px; } + z-index: 2; + margin-top: 32px; } #breadcrumbs #carat { height: 10px; margin: 0 5px; } @@ -169,6 +174,13 @@ header { display: block; padding-top: 70px; margin: -70px 0 0; } + .main-content .section-name p { + margin-bottom: inherit; + line-height: inherit; } + .main-content .section-name code { + background-color: inherit; + padding: inherit; + color: inherit; } .section { padding: 0 25px; } @@ -192,6 +204,7 @@ header { margin-left: 18px; } .task-group-section { + margin-top: 10px; padding-left: 6px; border-top: 1px solid #e2e2e2; } @@ -204,6 +217,23 @@ header { padding-top: 70px; margin: -70px 0 0; } +.section-name-container { + position: relative; + display: inline-block; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + .item { padding-top: 8px; width: 100%; @@ -217,9 +247,14 @@ header { background-color: transparent; padding: 0; } .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; padding-left: 3px; - margin-left: 15px; - font-size: 11.9px; } + margin-left: 35px; + font-size: 11.9px; + transition: all 300ms; } + .item .token-open { + margin-left: 20px; } .item .discouraged { text-decoration: line-through; } .item .declaration-note { @@ -323,6 +358,7 @@ header { html.dash header, html.dash #breadcrumbs, html.dash .sidebar { display: none; } + html.dash .main-content { width: 980px; margin-left: 0; @@ -330,11 +366,58 @@ html.dash .main-content { width: 100%; top: 0; padding-bottom: 0; } + html.dash .height-container { display: block; } + html.dash .item .token { margin-left: 0; } + html.dash .content-wrapper { width: auto; } + html.dash #footer { position: static; } + +form[role=search] { + float: right; } + form[role=search] input { + font: Helvetica, freesans, Arial, sans-serif; + margin-top: 6px; + font-size: 13px; + line-height: 20px; + padding: 0px 10px; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fff; + color: #333; + border: 1px solid #e2e2e2; + z-index: 4; } + form[role=search] .tt-highlight { + font-weight: bold; } + form[role=search] .tt-suggestion { + font: Helvetica, freesans, Arial, sans-serif; + font-size: 14px; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + form[role=search] .tt-suggestion:hover, + form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + form[role=search] .tt-suggestion:hover .doc-parent-name, + form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes.html index 41eb022..f62893e 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -140,17 +151,16 @@

    Classes

    Declaration

    Objective-C

    -
    @interface HyperionManager : NSObject
    +
    @interface HyperionManager
    + - - -
    -
    • @@ -172,17 +182,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @interface HYPPluginHelper : NSObject
      +
      @interface HYPPluginHelper
      +
    - - -
    -
    - - -
    -
    - - -
    -
    • @@ -268,17 +275,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @interface HYPSnapshotInteractionView : UIView
      +
      @interface HYPSnapshotInteractionView
      +
    - - -
    -
    • @@ -305,6 +311,9 @@

      Declaration

    + @@ -313,8 +322,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginHelper.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginHelper.html index 27744db..056e5d2 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginHelper.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginHelper.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginHelper

    -
    @interface HYPPluginHelper : NSObject
    + +
    @interface HYPPluginHelper

    Provides helper methods that should be common tasks among plugins.

    +
    @@ -143,8 +158,7 @@

    HYPPluginHelper

    Declaration

    Objective-C

    -
    + (NSMutableArray<UIView *> *)findSubviewsInView:(UIView *)view
    -                               intersectingPoint:(CGPoint)point;
    +
    + (id)findSubviewsInView:(id)view intersectingPoint:(id)point;
    @@ -179,6 +193,9 @@

    Parameters

    + @@ -187,8 +204,8 @@

    Parameters

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginMenuItem.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginMenuItem.html index 11fd4ba..eeb6f19 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginMenuItem.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPPluginMenuItem.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginMenuItem

    -
    @interface HYPPluginMenuItem : UIView <HYPPluginMenuItem>
    + +
    @interface HYPPluginMenuItem <HYPPluginMenuItem>

    HYPPluginMenuItem Represents a row in the Hyperion plugin list.

    +
    @@ -128,7 +143,7 @@

    HYPPluginMenuItem

    - -bindWithTitle:image: + -bindWithTitle:image:
    @@ -143,7 +158,7 @@

    HYPPluginMenuItem

    Declaration

    Objective-C

    -
    - (void)bindWithTitle:(NSString *)title image:(UIImage *)image;
    +
    - (void)bindWithTitle:(id)title image:(id)image;
    @@ -178,6 +193,9 @@

    Parameters

    + @@ -204,10 +222,13 @@

    Parameters

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic) UITapGestureRecognizer *tapGesture;
    +
    @property (nonatomic) int *tapGesture;
    + @@ -231,10 +252,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic) UILabel *titleLabel;
    +
    @property (nonatomic) int *titleLabel;
    + @@ -258,10 +282,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic) UIImageView *pluginImageView;
    +
    @property (nonatomic) int *pluginImageView;
    + @@ -285,10 +312,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic) CGFloat height;
    +
    @property (nonatomic) int height;
    + @@ -297,8 +327,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotInteractionView.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotInteractionView.html index 0dfd8c7..0a055c7 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotInteractionView.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotInteractionView.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,13 +124,17 @@

    HYPSnapshotInteractionView

    -
    @interface HYPSnapshotInteractionView : UIView
    + +
    @interface HYPSnapshotInteractionView

    This is a base implementation of a Snapshot plugins view that gets added to the HYPSnapshotContainer once active.

    +
    @@ -129,7 +144,7 @@

    HYPSnapshotInteractionView

    - -initWithExtension: + -initWithExtension:
    @@ -168,6 +183,9 @@

    Parameters

    +
    @@ -176,7 +194,7 @@

    Parameters

    - -interactionViewWillTransitionToSize:withTransitionCoordinator: + -interactionViewWillTransitionToSize:withTransitionCoordinator:
    @@ -191,10 +209,8 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)interactionViewWillTransitionToSize:(CGSize)size
    -                  withTransitionCoordinator:
    -                      (id<UIViewControllerTransitionCoordinator> _Nullable)
    -                          coordinator;
    +
    - (void)interactionViewWillTransitionToSize:(id)size
    +                  withTransitionCoordinator:(id _Nullable)coordinator;
    @@ -229,6 +245,9 @@

    Parameters

    + @@ -237,7 +256,7 @@

    Parameters

    - -interactionViewDidTransitionToSize: + -interactionViewDidTransitionToSize:
    @@ -252,7 +271,7 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)interactionViewDidTransitionToSize:(CGSize)size;
    +
    - (void)interactionViewDidTransitionToSize:(id)size;
    @@ -275,6 +294,9 @@

    Parameters

    + @@ -298,10 +320,13 @@

    Parameters

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic, nullable) id<HYPPluginExtension> extension;
    +
    @property (nonatomic, readonly, nullable) id<HYPPluginExtension> extension;
    + @@ -310,8 +335,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotPluginModule.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotPluginModule.html index 9a72977..0a8d641 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotPluginModule.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HYPSnapshotPluginModule.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,6 +124,7 @@

    HYPSnapshotPluginModule

    +
    @interface HYPSnapshotPluginModule
         : HYPPluginModule <HYPSnapshotPluginViewProvider>
    @@ -120,6 +132,9 @@

    HYPSnapshotPluginModule

    HYPSnapshotPluginModule is a base implementation of a Snapshot Plugin.

    +
    @@ -144,7 +159,7 @@

    HYPSnapshotPluginModule

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic) UIView *_Nullable snapshotPluginView;
    +
    @property (nonatomic, readonly) int *_Nullable snapshotPluginView;
    @@ -152,6 +167,9 @@

    Declaration

    Return Value

    The view that should get added the Snap Shot container when activated.

    +
    @@ -160,8 +178,8 @@

    Return Value

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HyperionManager.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HyperionManager.html index 39755b9..17277bb 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HyperionManager.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Classes/HyperionManager.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,7 +124,8 @@

    HyperionManager

    -
    @interface HyperionManager : NSObject
    + +
    @interface HyperionManager
    @@ -121,6 +133,9 @@

    HyperionManager

    Note: Hyperion handles embedding itself on it’s own, so using HyperionManager is not required.

    +
    @@ -151,6 +166,9 @@

    Declaration

    + @@ -159,7 +177,7 @@

    Declaration

    - -attachToWindow: + -attachToWindow:
    @@ -174,7 +192,7 @@

    Declaration

    Declaration

    Objective-C

    -
    - (void)attachToWindow:(UIWindow *)window;
    +
    - (void)attachToWindow:(id)window;
    @@ -197,6 +215,9 @@

    Parameters

    + @@ -224,6 +245,9 @@

    Declaration

    + @@ -247,7 +271,7 @@

    Declaration

    Declaration

    Objective-C

    -
    - (NSArray<Class<HYPPlugin>> *)retrievePluginClasses;
    +
    - (id)retrievePluginClasses;
    @@ -255,6 +279,9 @@

    Declaration

    Return Value

    A list of plugin classes.

    + @@ -278,7 +305,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (NSArray<id<HYPPluginModule>> *)retrievePluginModules;
    +
    - (id)retrievePluginModules;
    @@ -286,6 +313,9 @@

    Declaration

    Return Value

    A cached list of plugin modules.

    + @@ -309,7 +339,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (NSArray<id<HYPPluginModule>> *)forceRefreshPluginModules;
    +
    - (id)forceRefreshPluginModules;
    @@ -317,6 +347,9 @@

    Declaration

    Return Value

    The latest available plugin modules.

    + @@ -340,10 +373,13 @@

    Return Value

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic) HYPActivationGestureOptions activationGestures;
    +
    @property (nonatomic, readonly) int activationGestures;
    + @@ -352,8 +388,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Constants.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Constants.html index d523a0b..62ffb4d 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Constants.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Constants.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -137,10 +148,13 @@

    Constants

    Declaration

    Objective-C

    -
    extern double HyperionCoreVersionNumber
    +
    FOUNDATION_EXPORT double HyperionCoreVersionNumber
    + @@ -152,6 +166,28 @@

    Declaration

    HyperionCoreVersionString
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    + +
    +
    + +
  • +
    + + + + pluginMenuItem + +
    @@ -164,10 +200,13 @@

    Declaration

    Declaration

    Objective-C

    -
    extern const unsigned char HyperionCoreVersionString[]
    +
    <HYPPluginMenuItem> *pluginMenuItem
    +
  • @@ -176,8 +215,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Functions.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Functions.html new file mode 100644 index 0000000..2ef02e5 --- /dev/null +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Functions.html @@ -0,0 +1,173 @@ + + + + Functions Reference + + + + + + + + + + + + + +
    +
    +

    HyperionCore 0.99.0 Docs (94% documented)

    +

    View on GitHub

    +

    +

    + +
    +

    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    Functions

    +

    The following functions are available globally.

    + +
    +
    +
    +
      +
    • +
      + + + + NS_OPTIONS + +
      +
      +
      +
      +
      +
      +

      Supported gestures to activate Hyperion.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      int NS_OPTIONS(NSUInteger, HYPActivationGestureOptions)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols.html index aeb3114..1de7e24 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -138,10 +149,13 @@

    Protocols

    Declaration

    Objective-C

    -
    @protocol HYPSnapshotContainer <NSObject>
    +
    @protocol HYPSnapshotContainer
    + @@ -166,17 +180,16 @@

    Declaration

    Declaration

    Objective-C

    -
    @protocol HYPOverlayContainer <NSObject>
    +
    @protocol HYPOverlayContainer
    + - - -
    -
    • @@ -203,6 +216,9 @@

      Declaration

    + @@ -232,13 +248,12 @@

    Declaration

    + - - -
    -
    • @@ -263,17 +278,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPPlugin <NSObject>
      +
      @protocol HYPPlugin
      +
    - - -
    -
    • @@ -295,17 +309,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPPluginExtension <NSObject>
      +
      @protocol HYPPluginExtension
      +
    - - -
    -
    • @@ -331,6 +344,9 @@

      Declaration

    + @@ -359,13 +375,12 @@

    Declaration

    + - - -
    -
    • @@ -387,17 +402,16 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPPluginModule <NSObject>
      +
      @protocol HYPPluginModule
      +
    - - -
    -
    • @@ -419,10 +433,13 @@

      Declaration

      Declaration

      Objective-C

      -
      @protocol HYPViewSelectionDelegate <NSObject>
      +
      @protocol HYPViewSelectionDelegate
      +
    @@ -431,8 +448,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayContainer.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayContainer.html index 045d4ae..6e91fa9 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayContainer.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayContainer.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPOverlayContainer

    -
    @protocol HYPOverlayContainer <NSObject>
    + +
    @protocol HYPOverlayContainer

    The HYPOverlayContainer provides a mechanism for displaying custom UI over an app while still allowing the user to interact with it. The HYPOverlayContainer holds the HYPOverlayViewProvider’s when an overlay plugin becomes active.

    +
    @@ -145,12 +160,13 @@

    HYPOverlayContainer

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic, nullable)
    -    id<HYPPluginModule, HYPOverlayPluginViewProvider>
    -        overlayModule;
    +
    @property (nonatomic, nullable) id<HYPPluginModule, HYPOverlayPluginViewProvider> overlayModule;
    +
    @@ -159,8 +175,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayPluginViewProvider.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayPluginViewProvider.html index 11adc05..50171f9 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayPluginViewProvider.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPOverlayPluginViewProvider.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,6 +124,7 @@

    HYPOverlayPluginViewProvider

    +
    @protocol HYPOverlayPluginViewProvider
    @@ -120,6 +132,9 @@

    HYPOverlayPluginViewProvider

    The HYPOverlayPluginViewProvider protocol defines a mechanism for requesting the view that is overlayed on top of the app when an Overlay plugin becomes active.

    +
    @@ -129,7 +144,7 @@

    HYPOverlayPluginViewProvider

    - -activateOverlayPluginViewWithContext: + -activateOverlayPluginViewWithContext:
    @@ -147,7 +162,7 @@

    HYPOverlayPluginViewProvider

    Declaration

    Objective-C

    -
    - (void)activateOverlayPluginViewWithContext:(nonnull UIView *)context;
    +
    - (void)activateOverlayPluginViewWithContext:(id)context;
    @@ -170,6 +185,9 @@

    Parameters

    +
    @@ -197,6 +215,9 @@

    Declaration

    + @@ -205,8 +226,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPlugin.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPlugin.html index 492716b..477d625 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPlugin.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPlugin.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,7 +124,8 @@

    HYPPlugin

    -
    @protocol HYPPlugin <NSObject>
    + +
    @protocol HYPPlugin
    @@ -122,6 +134,9 @@

    HYPPlugin

    @since v1.0

    +
    @@ -131,7 +146,7 @@

    HYPPlugin

    - +createPluginModule: + +createPluginModule:
    @@ -174,6 +189,9 @@

    Parameters

    Return Value

    A new plugin module instance the represents the HYPPlugin.

    +
    @@ -197,7 +215,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nonnull NSString *)pluginVersion;
    +
    + (id)pluginVersion;
    @@ -205,6 +223,9 @@

    Declaration

    Return Value

    The semantic version for the plugin.

    + @@ -231,7 +252,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nullable UIViewController *)createPluginGuideViewController;
    +
    + (id)createPluginGuideViewController;
    @@ -239,6 +260,9 @@

    Declaration

    Return Value

    A ViewController that guides the user on how to

    + @@ -265,7 +289,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nonnull UIImage *)pluginGuideImage;
    +
    + (id)pluginGuideImage;
    @@ -273,6 +297,9 @@

    Declaration

    Return Value

    An image that represents the plugin.

    + @@ -299,7 +326,7 @@

    Return Value

    Declaration

    Objective-C

    -
    + (nonnull UIImage *)pluginGuideName;
    +
    + (id)pluginGuideName;
    @@ -307,6 +334,9 @@

    Declaration

    Return Value

    A name that represents the plugin.

    + @@ -315,8 +345,8 @@

    Return Value

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginExtension.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginExtension.html index 3828b22..d842d3c 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginExtension.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginExtension.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginExtension

    -
    @protocol HYPPluginExtension <NSObject>
    + +
    @protocol HYPPluginExtension

    The HYPPluginExtension protocol provides the plugin with context about windows and containers that are available to it.

    +
    @@ -143,7 +158,7 @@

    HYPPluginExtension

    Declaration

    Objective-C

    -
    - (nullable UIWindow *)attachedWindow;
    +
    - (id)attachedWindow;
    @@ -151,6 +166,9 @@

    Declaration

    Return Value

    The current window Hyperion is attached to.

    + @@ -174,7 +192,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (nullable UIWindow *)hypeWindow;
    +
    - (id)hypeWindow;
    @@ -182,6 +200,9 @@

    Declaration

    Return Value

    The window that displays the Hyperion plugin drawer.

    + @@ -213,6 +234,9 @@

    Declaration

    Return Value

    The container that HYPSnapshotPlugin ‘s will use to display.

    + @@ -244,6 +268,9 @@

    Declaration

    Return Value

    The container that HYPOverlayPlugin ‘s will use to display.

    + @@ -252,7 +279,7 @@

    Return Value

    - -presentViewControllerOverDrawer:animated: + -presentViewControllerOverDrawer:animated:
    @@ -270,8 +297,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (void)presentViewControllerOverDrawer:(UIViewController *_Nullable)controller
    -                               animated:(BOOL)animated;
    +
    - (void)presentViewControllerOverDrawer:(id)controller animated:(id)animated;
    @@ -306,6 +332,9 @@

    Parameters

    + @@ -314,8 +343,8 @@

    Parameters

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItem.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItem.html index e42e7b9..9072cf3 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItem.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItem.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginMenuItem

    +
    @protocol HYPPluginMenuItem

    HYPPluginMenuItem Represents a row in the Hyperion plugin list.

    +
    @@ -128,7 +143,7 @@

    HYPPluginMenuItem

    - -setSelected:animated: + -setSelected:animated:
    @@ -143,7 +158,7 @@

    HYPPluginMenuItem

    Declaration

    Objective-C

    -
    - (void)setSelected:(BOOL)selected animated:(BOOL)animated;
    +
    - (void)setSelected:(id)selected animated:(id)animated;
    @@ -178,6 +193,9 @@

    Parameters

    + @@ -201,10 +219,13 @@

    Parameters

    Declaration

    Objective-C

    -
    @property (readonly, getter=isSelected, nonatomic) BOOL selected;
    +
    @property (nonatomic, readonly, getter=isSelected) int selected;
    + @@ -228,10 +249,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (readwrite, nonatomic) id<HYPPluginMenuItemDelegate> delegate;
    +
    @property (nonatomic, weak) id<HYPPluginMenuItemDelegate> delegate;
    + @@ -240,8 +264,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItemDelegate.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItemDelegate.html index 46af0b4..ac7ad58 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItemDelegate.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginMenuItemDelegate.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginMenuItemDelegate

    +
    @protocol HYPPluginMenuItemDelegate

    A delegate to be informed on HYPPluginMenuItem actions.

    +
    @@ -128,7 +143,7 @@

    HYPPluginMenuItemDelegate

    - -pluginMenuItemSelected: + -pluginMenuItemSelected:
    @@ -143,7 +158,7 @@

    HYPPluginMenuItemDelegate

    Declaration

    Objective-C

    -
    - (void)pluginMenuItemSelected:(UIView<HYPPluginMenuItem> *)pluginView;
    +
    - (void)pluginMenuItemSelected:(id)pluginView;
    @@ -166,6 +181,9 @@

    Parameters

    + @@ -174,8 +192,8 @@

    Parameters

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginModule.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginModule.html index 6b9707b..c3991d2 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginModule.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPPluginModule.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPPluginModule

    -
    @protocol HYPPluginModule <NSObject>
    + +
    @protocol HYPPluginModule

    HYPPluginModule protocol represents an instance of a plugin.

    +
    @@ -128,7 +143,7 @@

    HYPPluginModule

    - -initWithExtension: + -initWithExtension:
    @@ -167,33 +182,8 @@

    Parameters

    -
    -
    - -
  • -
    - - - - pluginMenuItem - -
    -
    -
    -
    -
    -
    -

    The item that appears in the plugin menu list.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, nonatomic, nullable)
    -    UIView<HYPPluginMenuItem> *pluginMenuItem;
    - -
    +
    @@ -218,10 +208,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic) BOOL active;
    +
    @property (nonatomic, readonly) int active;
    +
  • @@ -245,10 +238,13 @@

    Declaration

    Declaration

    Objective-C

    -
    @property (readonly, nonatomic, nonnull) id<HYPPluginExtension> extension;
    +
    @property (nonatomic, readonly, nonnull) id<HYPPluginExtension> extension;
    + @@ -272,7 +268,7 @@

    Declaration

    Declaration

    Objective-C

    -
    - (nonnull NSString *)pluginMenuItemTitle;
    +
    - (id)pluginMenuItemTitle;
    @@ -280,6 +276,9 @@

    Declaration

    Return Value

    The title that should display for the plugin menu Item.

    + @@ -303,7 +302,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (nonnull UIImage *)pluginMenuItemImage;
    +
    - (id)pluginMenuItemImage;
    @@ -311,6 +310,9 @@

    Declaration

    Return Value

    The image that should display for the plugin menu Item.

    + @@ -334,7 +336,7 @@

    Return Value

    Declaration

    Objective-C

    -
    - (BOOL)shouldHideDrawerOnSelection;
    +
    - (id)shouldHideDrawerOnSelection;
    @@ -342,6 +344,9 @@

    Declaration

    Return Value

    Yes if the drawer should hide when the plugin becomes active/inactive.

    + @@ -350,8 +355,8 @@

    Return Value

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotContainer.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotContainer.html index 92567ab..543b8b0 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotContainer.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotContainer.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPSnapshotContainer

    -
    @protocol HYPSnapshotContainer <NSObject>
    + +
    @protocol HYPSnapshotContainer

    The HYPSnapshotContainer provides a mechanism of displaying custom UI over a Snapshot of the current app. This allows the user to zoom on the app and inspect tiny details, but also prevents the user from interacting with the app. The HYPSnapshotContainer holds the HYPSnapshotPluginViewProvider’s view when a snapshot plugin becomes active. It also provides convenience methods for presenting common UI across the Snanshot plugin platform.

    +
    @@ -145,7 +160,7 @@

    HYPSnapshotContainer

    Declaration

    Objective-C

    -
    - (void)presentViewListPopoverForPoint:(CGPoint)point
    +                          
    - (void)presentViewListPopoverForPoint:(id)point
                                   delegate:(nullable id<HYPViewSelectionDelegate>)
                                                delegate;
    @@ -182,6 +197,9 @@

    Parameters

    +
    @@ -190,7 +208,7 @@

    Parameters

    - -presentPopover:recommendedHeight:forView: + -presentPopover:recommendedHeight:forView:
    @@ -205,9 +223,9 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)presentPopover:(nonnull UIViewController *)popoverController
    -     recommendedHeight:(CGFloat)height
    -               forView:(nonnull UIView *)view;
    +
    - (void)presentPopover:(id)popoverController
    +     recommendedHeight:(id)height
    +               forView:(id)view;
    @@ -254,6 +272,9 @@

    Parameters

    + @@ -262,7 +283,7 @@

    Parameters

    - -presentPopover:recommendedHeight:atPosition: + -presentPopover:recommendedHeight:atPosition:
    @@ -277,9 +298,9 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)presentPopover:(nonnull UIViewController *)popoverController
    -     recommendedHeight:(CGFloat)height
    -            atPosition:(CGPoint)point;
    +
    - (void)presentPopover:(id)popoverController
    +     recommendedHeight:(id)height
    +            atPosition:(id)point;
    @@ -326,6 +347,9 @@

    Parameters

    + @@ -353,6 +377,9 @@

    Declaration

    + @@ -361,7 +388,7 @@

    Declaration

    - -presentViewController:animated: + -presentViewController:animated:
    @@ -378,8 +405,7 @@

    Declaration

    Declaration

    Objective-C

    -
    - (void)presentViewController:(nonnull UIViewController *)controller
    -                     animated:(_Bool)animated;
    +
    - (void)presentViewController:(id)controller animated:(id)animated;
    @@ -414,6 +440,9 @@

    Parameters

    + @@ -439,12 +468,13 @@

    Parameters

    Declaration

    Objective-C

    -
    @property (assign, readwrite, nonatomic, nullable)
    -    id<HYPPluginModule, HYPSnapshotPluginViewProvider>
    -        overlayModule;
    +
    @property (nonatomic, nullable) id<HYPPluginModule, HYPSnapshotPluginViewProvider> overlayModule;
    + @@ -453,8 +483,8 @@

    Declaration

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotPluginViewProvider.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotPluginViewProvider.html index 27cbf6a..44dc6de 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotPluginViewProvider.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPSnapshotPluginViewProvider.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,6 +124,7 @@

    HYPSnapshotPluginViewProvider

    +
    @protocol HYPSnapshotPluginViewProvider
    @@ -120,6 +132,9 @@

    HYPSnapshotPluginViewProvider

    The HYPSnapshotPluginViewProvider protocol defines a mechanism for requesting the view that is placed ontop of the app when a snap shot plugin becomes active.

    +
    @@ -129,7 +144,7 @@

    HYPSnapshotPluginViewProvider

    - -activateSnapshotPluginViewWithContext: + -activateSnapshotPluginViewWithContext:
    @@ -147,7 +162,7 @@

    HYPSnapshotPluginViewProvider

    Declaration

    Objective-C

    -
    - (void)activateSnapshotPluginViewWithContext:(nonnull UIView *)context;
    +
    - (void)activateSnapshotPluginViewWithContext:(id)context;
    @@ -170,6 +185,9 @@

    Parameters

    +
    @@ -197,6 +215,9 @@

    Declaration

    + @@ -205,7 +226,7 @@

    Declaration

    - -snapshotContextWillTransitionToSize:withTransitionCoordinator: + -snapshotContextWillTransitionToSize:withTransitionCoordinator:
    @@ -220,10 +241,8 @@

    Declaration

    Declaration

    Objective-C

    -
    - (void)snapshotContextWillTransitionToSize:(CGSize)size
    -                  withTransitionCoordinator:
    -                      (id<UIViewControllerTransitionCoordinator> _Nullable)
    -                          coordinator;
    +
    - (void)snapshotContextWillTransitionToSize:(id)size
    +                  withTransitionCoordinator:(id _Nullable)coordinator;
    @@ -258,6 +277,9 @@

    Parameters

    + @@ -266,7 +288,7 @@

    Parameters

    - -snapshotContextDidTransitionToSize: + -snapshotContextDidTransitionToSize:
    @@ -281,7 +303,7 @@

    Parameters

    Declaration

    Objective-C

    -
    - (void)snapshotContextDidTransitionToSize:(CGSize)size;
    +
    - (void)snapshotContextDidTransitionToSize:(id)size;
    @@ -304,6 +326,9 @@

    Parameters

    + @@ -312,8 +337,8 @@

    Parameters

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPViewSelectionDelegate.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPViewSelectionDelegate.html index f7e7581..d47d49d 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPViewSelectionDelegate.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/Protocols/HYPViewSelectionDelegate.html @@ -8,14 +8,22 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -60,13 +68,8 @@ - - - @@ -105,6 +108,14 @@ +
    @@ -113,12 +124,16 @@

    HYPViewSelectionDelegate

    -
    @protocol HYPViewSelectionDelegate <NSObject>
    + +
    @protocol HYPViewSelectionDelegate

    A delegate used to notify when a view has been selected from the ViewListPopover.

    +
    @@ -128,7 +143,7 @@

    HYPViewSelectionDelegate

    - -viewSelected: + -viewSelected:
    @@ -143,7 +158,7 @@

    HYPViewSelectionDelegate

    Declaration

    Objective-C

    -
    - (void)viewSelected:(UIView *)selection;
    +
    - (void)viewSelected:(id)selection;
    @@ -166,6 +181,9 @@

    Parameters

    + @@ -174,8 +192,8 @@

    Parameters

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/badge.svg b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/badge.svg new file mode 100644 index 0000000..5f56a7e --- /dev/null +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 97% + + + 97% + + + diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/css/jazzy.css b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/css/jazzy.css index a982892..5cdffe9 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/css/jazzy.css +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/css/jazzy.css @@ -56,9 +56,14 @@ p code, li code { padding: 2px 4px; border-radius: 4px; } +pre > code { + padding: 0; } + a { color: #0088cc; text-decoration: none; } + a code { + color: inherit; } ul { padding-left: 15px; } @@ -80,11 +85,11 @@ blockquote { header { font-size: 0.85em; - line-height: 26px; + line-height: 32px; background-color: #414141; position: fixed; width: 100%; - z-index: 1; } + z-index: 3; } header img { padding-right: 6px; vertical-align: -4px; @@ -100,12 +105,12 @@ header { #breadcrumbs { background-color: #f2f2f2; - height: 27px; + height: 21px; padding-top: 17px; position: fixed; width: 100%; - z-index: 1; - margin-top: 26px; } + z-index: 2; + margin-top: 32px; } #breadcrumbs #carat { height: 10px; margin: 0 5px; } @@ -169,6 +174,13 @@ header { display: block; padding-top: 70px; margin: -70px 0 0; } + .main-content .section-name p { + margin-bottom: inherit; + line-height: inherit; } + .main-content .section-name code { + background-color: inherit; + padding: inherit; + color: inherit; } .section { padding: 0 25px; } @@ -192,6 +204,7 @@ header { margin-left: 18px; } .task-group-section { + margin-top: 10px; padding-left: 6px; border-top: 1px solid #e2e2e2; } @@ -204,6 +217,23 @@ header { padding-top: 70px; margin: -70px 0 0; } +.section-name-container { + position: relative; + display: inline-block; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + .item { padding-top: 8px; width: 100%; @@ -217,9 +247,14 @@ header { background-color: transparent; padding: 0; } .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; padding-left: 3px; - margin-left: 15px; - font-size: 11.9px; } + margin-left: 35px; + font-size: 11.9px; + transition: all 300ms; } + .item .token-open { + margin-left: 20px; } .item .discouraged { text-decoration: line-through; } .item .declaration-note { @@ -323,6 +358,7 @@ header { html.dash header, html.dash #breadcrumbs, html.dash .sidebar { display: none; } + html.dash .main-content { width: 980px; margin-left: 0; @@ -330,11 +366,58 @@ html.dash .main-content { width: 100%; top: 0; padding-bottom: 0; } + html.dash .height-container { display: block; } + html.dash .item .token { margin-left: 0; } + html.dash .content-wrapper { width: auto; } + html.dash #footer { position: static; } + +form[role=search] { + float: right; } + form[role=search] input { + font: Helvetica, freesans, Arial, sans-serif; + margin-top: 6px; + font-size: 13px; + line-height: 20px; + padding: 0px 10px; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fff; + color: #333; + border: 1px solid #e2e2e2; + z-index: 4; } + form[role=search] .tt-highlight { + font-weight: bold; } + form[role=search] .tt-suggestion { + font: Helvetica, freesans, Arial, sans-serif; + font-size: 14px; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + form[role=search] .tt-suggestion:hover, + form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + form[role=search] .tt-suggestion:hover .doc-parent-name, + form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/img/spinner.gif b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/img/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..e3038d0a42c55b1a07caecb7c7a6cbac982ec09d GIT binary patch literal 1849 zcmb8wZBSF$83*voz31lM+?V7Kkqwb`LI|3K#DupH#kDs91c6du6?SMB!bsTr6|ge_{#vAVj^!DyNA-l zJ&$jDFNv;BTZXX@Qk-7+S5ErF>mkOcZ@lQv>F1VyCEMe2Ud@f<|L%#&QJi${E`2lR zqKFaW2Y$aTRxUY&ae$IHsN;Z;rdZ%CjYLTv!tMi234j-ON=CnvK-1QU|MG$YErn{gHZ@0Q6&?xSyply?S$EVNXH;gp?S5kV2-)$ga^gw`(f4Mm_Y(`RbgRkQTHF2@zL}dCiLk$RoZIc{xZL z_J*d5)Kb;#oKCFyfL*NGSs?y;e(QKvPJe1#G)h5*6E(?L9$nt?UaQJfP^$GDL0PU; z?r}C|);JQ4HES3w5VMlY7x6xfJAzDKlHE~>x;D`Fa=WygYot{pfFehH69o9pK|72W zwC6?t^AnATIJa=kewn=ep?Nk(aZ*pZo}51`S=^)jPRb`~l^VE}08>P3OJtQlXx1K8 z8Q}_u=F*fS;=k=?(fIv#+%811NTx8^}rHwvH%LbYmpFl9p1A{Idh@2x$ zuVp7)VD9}Uc(*(C**!QOdS(6B)$5^Tq5p3q*7un&_Z-NKEiEYg$D{Uq&sa>wj|za5 zJ6M~p)z+E6*X${8j6Ci+sqZ}zxeCAo0gZmZuhl+)Q%1U$Br_`NXcA-3yBdYMha+{o z{?q0Q(kaR2n`M29{!pwpgX6+CPQEgIO%x*0#!TC=c-ZPSkLO>OcmQUao5%-3w)U`F zRz?uGCEKQDh!TQPDmyd;iDX$TkMIe)%61q51Y2b-ie4r00!csilXgKL$txqj|6D(# z@(#!nQ}3R1JGeB3B5Tuqdvyg@*!-bq`9`pmasNGvy9^*+cd1Y*g>HK#rl7i79QQAG zl4SL_wW@WY1d+F?j0gFInGhsRrqvV3SKl{oqW+;9!fu|u@J)h4WM!0Cu02l@p60b#5M9c{dKh=_eRw~yl zWT0gw8RePzf%i8X&twiB|LF0bI@CYE{x1PI;Ylr4RJzU#Zc0j!c07g&q7=_eSd(sH z9VKChd?}^52IKcMqolAWiQH;HSp1Ploa$t zQhg|2sK;%Eb!By`)j9G1w?>`Wt6IK3gB}~uoue(MlRiIoZ#d{pgJZ8b{^{HO8)@%= zX)og3`*D5v1g;*Lz8@Sm(Q|&}PUytlb@Q_dzKFOzKK!Z_&?GO4+JO-)iPH=fs{(`& zZ9{oNn~LUZaeN!>i9p*0N^sHye8nw4xSi!REaP@@^Jy66|)Y9_AFoLlrlkg(42 zVq2J??I(+1*BcSKsTyO7LCho{8tVQm1b>*GQ*H~Mn71Lhy`alw%;D@CU^0)5Ng{cHz@LS7QZ o8uGHYt7)tmZjae5ge5$b`e_;HIklOseoIbqeod19BU-8d00{dbSpWb4 literal 0 HcmV?d00001 diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/index.html b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/index.html index 13f27bd..4cfb656 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/index.html +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/index.html @@ -8,13 +8,21 @@ + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -59,13 +67,8 @@ - - - @@ -104,6 +107,14 @@ +
    @@ -199,17 +210,17 @@

    CocoaPods

    CocoaPods automatically handles ensuring that Hyperion will only be included in the configurations you have specified for the pods. For more information please reference CooaPods Documentation.

    Carthage

    -

    To install through Carthage add github "willowtreeapps/Hyperion-iOS" to your cartfile. Then run carthage update. Drag and drop the created frameworks into your Xcode project. Important Make sure that Hyperion and any of it’s frameworks are not included as embedded frameworks (Settings should be available in General project settings). Once you ensure that Hyperion is not included in the embedded frameworks change the status of the Hyperion frameworks under Linked Frameworks and Libraries section to optional. At this point your project settings should look something like this. +

    To install through Carthage add github "willowtreeapps/Hyperion-iOS" to your cartfile. Then run carthage update. Drag and drop the created frameworks into your Xcode project. Important Make sure that Hyperion and any of it’s frameworks are not included as embedded frameworks (Settings should be available in General project settings). Once you ensure that Hyperion is not included in the embedded frameworks change the status of the Hyperion frameworks under “Linked Frameworks and Libraries” section to optional. At this point your project settings should look something like this. Hyperion Frameworks Section

    -

    Next hop on over to the build phases section and add a custom run script. Make sure it is inserted right above the Linked Frameworks and Libraries build phase. Make this your custom run script:

    +

    Next hop on over to the build phases section and add a custom run script. Make sure it is inserted right above the “Linked Frameworks and Libraries” build phase. Make this your custom run script:

    #Add the configurations you want to include Hyperion in below.
     if [ "$CONFIGURATION" == "Debug" ]; then
         /usr/local/bin/carthage copy-frameworks
     fi
     
    -

    Next you are going to want to add each Hyperion framework path to the Input Files section of your build script. Your build script should look something like this: +

    Next you are going to want to add each Hyperion framework path to the “Input Files” section of your build script. Your build script should look something like this: Hyperion Custom Build Script

    For more information on this custom build script please refer to the Carthage Documentation.

    @@ -222,13 +233,13 @@

    Manual

    Clone the git repo. In the root directory run sh build.sh. Once complete, the script will have generated the HyperionCore framework along with all of the first-party plugins. The only required framework is HyperionCore, but you should add at least one of the plugins that was generated. Follow the Carthage installation guide above to ensure that Hyperion does not get included in production.

    Verifying A Build Does Not Include Hyperion

    -

    Note: This only works if you are using Hyperion Frameworks. If you are using Cocoapods ensure that you have specified use_frameworks!.

    +

    Note: This only works if you are using Hyperion Frameworks. If you are using Cocoapods ensure that you have specified “use_frameworks!”.

    Opening the IPA

    1. Right click your IPA file and open it with Archive Utility. This should unzip your IPA.
    2. -
    3. Inside the unzipped IPA there should be an Application file. Depending on how the IPA was built it might be in a Payload folder. Once found, right click the Application file and select Show Package Contents.
    4. -
    5. Inside the package there should be a folder called Frameworks. Ensure that Hyperion and it’s plugins are not included in that folder. If Hyperion is in that folder then that means Hyperion is included in that build.
    6. +
    7. Inside the unzipped IPA there should be an Application file. Depending on how the IPA was built it might be in a Payload folder. Once found, right click the Application file and select “Show Package Contents”.
    8. +
    9. Inside the package there should be a folder called “Frameworks”. Ensure that Hyperion and it’s plugins are not included in that folder. If Hyperion is in that folder then that means Hyperion is included in that build.
    10. As an extra step you can ensure that your apps executable is not attempting to load Hyperion. Inside your app package find your app’s executable (It should be a unix executable in the root of the package). Run this:
    otool -L {Unix Executable Path Here}
    @@ -280,8 +291,8 @@ 

    About WillowTree!

    diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.js b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.js index 4ff9455..1e55d6e 100755 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.js +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.js @@ -8,29 +8,41 @@ if (navigator.userAgent.match(/xcode/i)) { window.jazzy.docset = true } -// On doc load, toggle the URL hash discussion if present -$(document).ready(function() { - if (!window.jazzy.docset) { - var linkToHash = $('a[href="' + window.location.hash +'"]'); - linkToHash.trigger("click"); +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; } -}); + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); -// On token click, toggle its discussion and animate token.marginLeft -$(".token").click(function(event) { +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { if (window.jazzy.docset) { return; } - var link = $(this); - var animationDuration = 300; - var tokenOffset = "15px"; - var original = link.css('marginLeft') == tokenOffset; - link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration); - $content = link.parent().parent().next(); - $content.slideToggle(animationDuration); + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); // Keeps the document from jumping to the hash. - var href = $(this).attr('href'); + var href = $link.attr('href'); if (history.pushState) { history.pushState({}, '', href); } else { @@ -38,3 +50,21 @@ $(".token").click(function(event) { } event.preventDefault(); }); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.search.js b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 0000000..e3d1ab9 --- /dev/null +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jazzy.search.js @@ -0,0 +1,70 @@ +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
    '; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
    '; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jquery.min.js b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jquery.min.js index 4d9b3a2..b061403 100644 --- a/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jquery.min.js +++ b/Docs/docsets/HyperionCore.docset/Contents/Resources/Documents/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),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("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" + + +
    -

    HyperionCore Docs (97% documented)

    +

    HyperionCore 0.99.0 Docs (94% documented)

    View on GitHub

    +

    +

    + +
    +

    @@ -59,13 +67,8 @@ - - - @@ -104,6 +107,14 @@ +
    @@ -199,17 +210,17 @@

    CocoaPods

    CocoaPods automatically handles ensuring that Hyperion will only be included in the configurations you have specified for the pods. For more information please reference CooaPods Documentation.

    Carthage

    -

    To install through Carthage add github "willowtreeapps/Hyperion-iOS" to your cartfile. Then run carthage update. Drag and drop the created frameworks into your Xcode project. Important Make sure that Hyperion and any of it’s frameworks are not included as embedded frameworks (Settings should be available in General project settings). Once you ensure that Hyperion is not included in the embedded frameworks change the status of the Hyperion frameworks under Linked Frameworks and Libraries section to optional. At this point your project settings should look something like this. +

    To install through Carthage add github "willowtreeapps/Hyperion-iOS" to your cartfile. Then run carthage update. Drag and drop the created frameworks into your Xcode project. Important Make sure that Hyperion and any of it’s frameworks are not included as embedded frameworks (Settings should be available in General project settings). Once you ensure that Hyperion is not included in the embedded frameworks change the status of the Hyperion frameworks under “Linked Frameworks and Libraries” section to optional. At this point your project settings should look something like this. Hyperion Frameworks Section

    -

    Next hop on over to the build phases section and add a custom run script. Make sure it is inserted right above the Linked Frameworks and Libraries build phase. Make this your custom run script:

    +

    Next hop on over to the build phases section and add a custom run script. Make sure it is inserted right above the “Linked Frameworks and Libraries” build phase. Make this your custom run script:

    #Add the configurations you want to include Hyperion in below.
     if [ "$CONFIGURATION" == "Debug" ]; then
         /usr/local/bin/carthage copy-frameworks
     fi
     
    -

    Next you are going to want to add each Hyperion framework path to the Input Files section of your build script. Your build script should look something like this: +

    Next you are going to want to add each Hyperion framework path to the “Input Files” section of your build script. Your build script should look something like this: Hyperion Custom Build Script

    For more information on this custom build script please refer to the Carthage Documentation.

    @@ -222,13 +233,13 @@

    Manual

    Clone the git repo. In the root directory run sh build.sh. Once complete, the script will have generated the HyperionCore framework along with all of the first-party plugins. The only required framework is HyperionCore, but you should add at least one of the plugins that was generated. Follow the Carthage installation guide above to ensure that Hyperion does not get included in production.

    Verifying A Build Does Not Include Hyperion

    -

    Note: This only works if you are using Hyperion Frameworks. If you are using Cocoapods ensure that you have specified use_frameworks!.

    +

    Note: This only works if you are using Hyperion Frameworks. If you are using Cocoapods ensure that you have specified “use_frameworks!”.

    Opening the IPA

    1. Right click your IPA file and open it with Archive Utility. This should unzip your IPA.
    2. -
    3. Inside the unzipped IPA there should be an Application file. Depending on how the IPA was built it might be in a Payload folder. Once found, right click the Application file and select Show Package Contents.
    4. -
    5. Inside the package there should be a folder called Frameworks. Ensure that Hyperion and it’s plugins are not included in that folder. If Hyperion is in that folder then that means Hyperion is included in that build.
    6. +
    7. Inside the unzipped IPA there should be an Application file. Depending on how the IPA was built it might be in a Payload folder. Once found, right click the Application file and select “Show Package Contents”.
    8. +
    9. Inside the package there should be a folder called “Frameworks”. Ensure that Hyperion and it’s plugins are not included in that folder. If Hyperion is in that folder then that means Hyperion is included in that build.
    10. As an extra step you can ensure that your apps executable is not attempting to load Hyperion. Inside your app package find your app’s executable (It should be a unix executable in the root of the package). Run this:
    otool -L {Unix Executable Path Here}
    @@ -280,8 +291,8 @@ 

    About WillowTree!

    diff --git a/Docs/js/jazzy.js b/Docs/js/jazzy.js index 4ff9455..1e55d6e 100755 --- a/Docs/js/jazzy.js +++ b/Docs/js/jazzy.js @@ -8,29 +8,41 @@ if (navigator.userAgent.match(/xcode/i)) { window.jazzy.docset = true } -// On doc load, toggle the URL hash discussion if present -$(document).ready(function() { - if (!window.jazzy.docset) { - var linkToHash = $('a[href="' + window.location.hash +'"]'); - linkToHash.trigger("click"); +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; } -}); + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); -// On token click, toggle its discussion and animate token.marginLeft -$(".token").click(function(event) { +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { if (window.jazzy.docset) { return; } - var link = $(this); - var animationDuration = 300; - var tokenOffset = "15px"; - var original = link.css('marginLeft') == tokenOffset; - link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration); - $content = link.parent().parent().next(); - $content.slideToggle(animationDuration); + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); // Keeps the document from jumping to the hash. - var href = $(this).attr('href'); + var href = $link.attr('href'); if (history.pushState) { history.pushState({}, '', href); } else { @@ -38,3 +50,21 @@ $(".token").click(function(event) { } event.preventDefault(); }); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/Docs/js/jazzy.search.js b/Docs/js/jazzy.search.js new file mode 100644 index 0000000..e3d1ab9 --- /dev/null +++ b/Docs/js/jazzy.search.js @@ -0,0 +1,70 @@ +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
    '; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
    '; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/Docs/js/jquery.min.js b/Docs/js/jquery.min.js index 4d9b3a2..b061403 100644 --- a/Docs/js/jquery.min.js +++ b/Docs/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),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("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("