Full Code of IonicChina/ioniclub for AI

master 208d52989396 cached
420 files
8.3 MB
2.2M tokens
2188 symbols
1 requests
Download .txt
Showing preview only (8,864K chars total). Download the full file or copy to clipboard to get everything.
Repository: IonicChina/ioniclub
Branch: master
Commit: 208d52989396
Files: 420
Total size: 8.3 MB

Directory structure:
gitextract_y8en00ab/

├── .bowerrc
├── .gitignore
├── README.md
├── bower.json
├── config.xml
├── gulpfile.js
├── hooks/
│   ├── README.md
│   └── after_prepare/
│       └── 010_add_platform_class.js
├── ionic.project
├── package.json
├── scss/
│   ├── app/
│   │   ├── _header.scss
│   │   ├── _topic.scss
│   │   ├── _topics.scss
│   │   └── _user.scss
│   ├── base/
│   │   └── _variables.scss
│   ├── ionic.app.scss
│   └── modules/
│       ├── _bar.scss
│       ├── _items.scss
│       ├── _markdown.scss
│       └── _scaffolding.scss
└── www/
    ├── css/
    │   ├── ionic.app.css
    │   └── style.css
    ├── index.html
    ├── js/
    │   ├── app.js
    │   ├── config.js
    │   ├── controllers.js
    │   └── services.js
    ├── lib/
    │   ├── angular/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-csp.css
    │   │   ├── angular.js
    │   │   ├── angular.min.js.gzip
    │   │   ├── bower.json
    │   │   └── package.json
    │   ├── angular-animate/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-animate.js
    │   │   ├── bower.json
    │   │   └── package.json
    │   ├── angular-moment/
    │   │   ├── .bower.json
    │   │   ├── .editorconfig
    │   │   ├── .gitignore
    │   │   ├── .jshintrc
    │   │   ├── .npmignore
    │   │   ├── .travis.yml
    │   │   ├── CHANGELOG.md
    │   │   ├── CONTRIBUTING.md
    │   │   ├── Gruntfile.js
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── angular-moment.js
    │   │   ├── angular-moment.nuspec
    │   │   ├── bower.json
    │   │   ├── karma.conf.js
    │   │   ├── package.json
    │   │   └── tests.js
    │   ├── angular-resource/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-resource.js
    │   │   ├── bower.json
    │   │   ├── index.js
    │   │   └── package.json
    │   ├── angular-sanitize/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-sanitize.js
    │   │   ├── bower.json
    │   │   └── package.json
    │   ├── angular-ui-router/
    │   │   ├── .bower.json
    │   │   ├── CHANGELOG.md
    │   │   ├── CONTRIBUTING.md
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── api/
    │   │   │   └── angular-ui-router.d.ts
    │   │   ├── bower.json
    │   │   ├── release/
    │   │   │   └── angular-ui-router.js
    │   │   └── src/
    │   │       ├── common.js
    │   │       ├── resolve.js
    │   │       ├── state.js
    │   │       ├── stateDirectives.js
    │   │       ├── stateFilters.js
    │   │       ├── templateFactory.js
    │   │       ├── urlMatcherFactory.js
    │   │       ├── urlRouter.js
    │   │       ├── view.js
    │   │       ├── viewDirective.js
    │   │       └── viewScroll.js
    │   ├── ionic/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── bower.json
    │   │   ├── css/
    │   │   │   └── ionic.css
    │   │   ├── js/
    │   │   │   ├── ionic-angular.js
    │   │   │   ├── ionic.bundle.js
    │   │   │   └── ionic.js
    │   │   └── scss/
    │   │       ├── _action-sheet.scss
    │   │       ├── _animations.scss
    │   │       ├── _backdrop.scss
    │   │       ├── _badge.scss
    │   │       ├── _bar.scss
    │   │       ├── _button-bar.scss
    │   │       ├── _button.scss
    │   │       ├── _checkbox.scss
    │   │       ├── _form.scss
    │   │       ├── _grid.scss
    │   │       ├── _items.scss
    │   │       ├── _list.scss
    │   │       ├── _loaders.scss
    │   │       ├── _loading.scss
    │   │       ├── _menu.scss
    │   │       ├── _mixins.scss
    │   │       ├── _modal.scss
    │   │       ├── _platform.scss
    │   │       ├── _popover.scss
    │   │       ├── _popup.scss
    │   │       ├── _progress.scss
    │   │       ├── _radio.scss
    │   │       ├── _range.scss
    │   │       ├── _refresher.scss
    │   │       ├── _reset.scss
    │   │       ├── _scaffolding.scss
    │   │       ├── _select.scss
    │   │       ├── _slide-box.scss
    │   │       ├── _spinner.scss
    │   │       ├── _split-pane.scss
    │   │       ├── _tabs.scss
    │   │       ├── _toggle.scss
    │   │       ├── _transitions.scss
    │   │       ├── _type.scss
    │   │       ├── _util.scss
    │   │       ├── _variables.scss
    │   │       ├── ionic.scss
    │   │       └── ionicons/
    │   │           ├── _ionicons-animation.scss
    │   │           ├── _ionicons-font.scss
    │   │           ├── _ionicons-icons.scss
    │   │           ├── _ionicons-variables.scss
    │   │           └── ionicons.scss
    │   ├── moment/
    │   │   ├── .bower.json
    │   │   ├── CHANGELOG.md
    │   │   ├── LICENSE
    │   │   ├── Moment.js.nuspec
    │   │   ├── README.md
    │   │   ├── benchmarks/
    │   │   │   └── clone.js
    │   │   ├── bower.json
    │   │   ├── locale/
    │   │   │   ├── af.js
    │   │   │   ├── ar-ma.js
    │   │   │   ├── ar-sa.js
    │   │   │   ├── ar-tn.js
    │   │   │   ├── ar.js
    │   │   │   ├── az.js
    │   │   │   ├── be.js
    │   │   │   ├── bg.js
    │   │   │   ├── bn.js
    │   │   │   ├── bo.js
    │   │   │   ├── br.js
    │   │   │   ├── bs.js
    │   │   │   ├── ca.js
    │   │   │   ├── cs.js
    │   │   │   ├── cv.js
    │   │   │   ├── cy.js
    │   │   │   ├── da.js
    │   │   │   ├── de-at.js
    │   │   │   ├── de.js
    │   │   │   ├── el.js
    │   │   │   ├── en-au.js
    │   │   │   ├── en-ca.js
    │   │   │   ├── en-gb.js
    │   │   │   ├── eo.js
    │   │   │   ├── es.js
    │   │   │   ├── et.js
    │   │   │   ├── eu.js
    │   │   │   ├── fa.js
    │   │   │   ├── fi.js
    │   │   │   ├── fo.js
    │   │   │   ├── fr-ca.js
    │   │   │   ├── fr.js
    │   │   │   ├── fy.js
    │   │   │   ├── gl.js
    │   │   │   ├── he.js
    │   │   │   ├── hi.js
    │   │   │   ├── hr.js
    │   │   │   ├── hu.js
    │   │   │   ├── hy-am.js
    │   │   │   ├── id.js
    │   │   │   ├── is.js
    │   │   │   ├── it.js
    │   │   │   ├── ja.js
    │   │   │   ├── ka.js
    │   │   │   ├── km.js
    │   │   │   ├── ko.js
    │   │   │   ├── lb.js
    │   │   │   ├── lt.js
    │   │   │   ├── lv.js
    │   │   │   ├── mk.js
    │   │   │   ├── ml.js
    │   │   │   ├── mr.js
    │   │   │   ├── ms-my.js
    │   │   │   ├── my.js
    │   │   │   ├── nb.js
    │   │   │   ├── ne.js
    │   │   │   ├── nl.js
    │   │   │   ├── nn.js
    │   │   │   ├── pl.js
    │   │   │   ├── pt-br.js
    │   │   │   ├── pt.js
    │   │   │   ├── ro.js
    │   │   │   ├── ru.js
    │   │   │   ├── sk.js
    │   │   │   ├── sl.js
    │   │   │   ├── sq.js
    │   │   │   ├── sr-cyrl.js
    │   │   │   ├── sr.js
    │   │   │   ├── sv.js
    │   │   │   ├── ta.js
    │   │   │   ├── th.js
    │   │   │   ├── tl-ph.js
    │   │   │   ├── tr.js
    │   │   │   ├── tzm-latn.js
    │   │   │   ├── tzm.js
    │   │   │   ├── uk.js
    │   │   │   ├── uz.js
    │   │   │   ├── vi.js
    │   │   │   ├── zh-cn.js
    │   │   │   └── zh-tw.js
    │   │   ├── meteor/
    │   │   │   ├── README.md
    │   │   │   ├── export.js
    │   │   │   └── test.js
    │   │   ├── min/
    │   │   │   ├── locales.js
    │   │   │   ├── moment-with-locales.js
    │   │   │   └── tests.js
    │   │   ├── moment.js
    │   │   ├── src/
    │   │   │   ├── lib/
    │   │   │   │   ├── create/
    │   │   │   │   │   ├── check-overflow.js
    │   │   │   │   │   ├── date-from-array.js
    │   │   │   │   │   ├── default-parsing-flags.js
    │   │   │   │   │   ├── from-anything.js
    │   │   │   │   │   ├── from-array.js
    │   │   │   │   │   ├── from-object.js
    │   │   │   │   │   ├── from-string-and-array.js
    │   │   │   │   │   ├── from-string-and-format.js
    │   │   │   │   │   ├── from-string.js
    │   │   │   │   │   ├── local.js
    │   │   │   │   │   ├── utc.js
    │   │   │   │   │   └── valid.js
    │   │   │   │   ├── duration/
    │   │   │   │   │   ├── abs.js
    │   │   │   │   │   ├── add-subtract.js
    │   │   │   │   │   ├── as.js
    │   │   │   │   │   ├── bubble.js
    │   │   │   │   │   ├── constructor.js
    │   │   │   │   │   ├── create.js
    │   │   │   │   │   ├── duration.js
    │   │   │   │   │   ├── get.js
    │   │   │   │   │   ├── humanize.js
    │   │   │   │   │   ├── iso-string.js
    │   │   │   │   │   └── prototype.js
    │   │   │   │   ├── format/
    │   │   │   │   │   └── format.js
    │   │   │   │   ├── locale/
    │   │   │   │   │   ├── calendar.js
    │   │   │   │   │   ├── constructor.js
    │   │   │   │   │   ├── en.js
    │   │   │   │   │   ├── formats.js
    │   │   │   │   │   ├── invalid.js
    │   │   │   │   │   ├── lists.js
    │   │   │   │   │   ├── locale.js
    │   │   │   │   │   ├── locales.js
    │   │   │   │   │   ├── ordinal.js
    │   │   │   │   │   ├── pre-post-format.js
    │   │   │   │   │   ├── prototype.js
    │   │   │   │   │   ├── relative.js
    │   │   │   │   │   └── set.js
    │   │   │   │   ├── moment/
    │   │   │   │   │   ├── add-subtract.js
    │   │   │   │   │   ├── calendar.js
    │   │   │   │   │   ├── clone.js
    │   │   │   │   │   ├── compare.js
    │   │   │   │   │   ├── constructor.js
    │   │   │   │   │   ├── diff.js
    │   │   │   │   │   ├── format.js
    │   │   │   │   │   ├── from.js
    │   │   │   │   │   ├── get-set.js
    │   │   │   │   │   ├── locale.js
    │   │   │   │   │   ├── min-max.js
    │   │   │   │   │   ├── moment.js
    │   │   │   │   │   ├── prototype.js
    │   │   │   │   │   ├── start-end-of.js
    │   │   │   │   │   ├── to-type.js
    │   │   │   │   │   └── valid.js
    │   │   │   │   ├── parse/
    │   │   │   │   │   ├── regex.js
    │   │   │   │   │   └── token.js
    │   │   │   │   ├── units/
    │   │   │   │   │   ├── aliases.js
    │   │   │   │   │   ├── constants.js
    │   │   │   │   │   ├── day-of-month.js
    │   │   │   │   │   ├── day-of-week.js
    │   │   │   │   │   ├── day-of-year.js
    │   │   │   │   │   ├── hour.js
    │   │   │   │   │   ├── millisecond.js
    │   │   │   │   │   ├── minute.js
    │   │   │   │   │   ├── month.js
    │   │   │   │   │   ├── offset.js
    │   │   │   │   │   ├── quarter.js
    │   │   │   │   │   ├── second.js
    │   │   │   │   │   ├── timestamp.js
    │   │   │   │   │   ├── timezone.js
    │   │   │   │   │   ├── units.js
    │   │   │   │   │   ├── week-year.js
    │   │   │   │   │   ├── week.js
    │   │   │   │   │   └── year.js
    │   │   │   │   └── utils/
    │   │   │   │       ├── abs-floor.js
    │   │   │   │       ├── compare-arrays.js
    │   │   │   │       ├── defaults.js
    │   │   │   │       ├── deprecate.js
    │   │   │   │       ├── extend.js
    │   │   │   │       ├── has-own-prop.js
    │   │   │   │       ├── hooks.js
    │   │   │   │       ├── is-array.js
    │   │   │   │       ├── is-date.js
    │   │   │   │       ├── map.js
    │   │   │   │       ├── to-int.js
    │   │   │   │       └── zero-fill.js
    │   │   │   ├── locale/
    │   │   │   │   ├── af.js
    │   │   │   │   ├── ar-ma.js
    │   │   │   │   ├── ar-sa.js
    │   │   │   │   ├── ar-tn.js
    │   │   │   │   ├── ar.js
    │   │   │   │   ├── az.js
    │   │   │   │   ├── be.js
    │   │   │   │   ├── bg.js
    │   │   │   │   ├── bn.js
    │   │   │   │   ├── bo.js
    │   │   │   │   ├── br.js
    │   │   │   │   ├── bs.js
    │   │   │   │   ├── ca.js
    │   │   │   │   ├── cs.js
    │   │   │   │   ├── cv.js
    │   │   │   │   ├── cy.js
    │   │   │   │   ├── da.js
    │   │   │   │   ├── de-at.js
    │   │   │   │   ├── de.js
    │   │   │   │   ├── el.js
    │   │   │   │   ├── en-au.js
    │   │   │   │   ├── en-ca.js
    │   │   │   │   ├── en-gb.js
    │   │   │   │   ├── eo.js
    │   │   │   │   ├── es.js
    │   │   │   │   ├── et.js
    │   │   │   │   ├── eu.js
    │   │   │   │   ├── fa.js
    │   │   │   │   ├── fi.js
    │   │   │   │   ├── fo.js
    │   │   │   │   ├── fr-ca.js
    │   │   │   │   ├── fr.js
    │   │   │   │   ├── fy.js
    │   │   │   │   ├── gl.js
    │   │   │   │   ├── he.js
    │   │   │   │   ├── hi.js
    │   │   │   │   ├── hr.js
    │   │   │   │   ├── hu.js
    │   │   │   │   ├── hy-am.js
    │   │   │   │   ├── id.js
    │   │   │   │   ├── is.js
    │   │   │   │   ├── it.js
    │   │   │   │   ├── ja.js
    │   │   │   │   ├── ka.js
    │   │   │   │   ├── km.js
    │   │   │   │   ├── ko.js
    │   │   │   │   ├── lb.js
    │   │   │   │   ├── lt.js
    │   │   │   │   ├── lv.js
    │   │   │   │   ├── mk.js
    │   │   │   │   ├── ml.js
    │   │   │   │   ├── mr.js
    │   │   │   │   ├── ms-my.js
    │   │   │   │   ├── my.js
    │   │   │   │   ├── nb.js
    │   │   │   │   ├── ne.js
    │   │   │   │   ├── nl.js
    │   │   │   │   ├── nn.js
    │   │   │   │   ├── pl.js
    │   │   │   │   ├── pt-br.js
    │   │   │   │   ├── pt.js
    │   │   │   │   ├── ro.js
    │   │   │   │   ├── ru.js
    │   │   │   │   ├── sk.js
    │   │   │   │   ├── sl.js
    │   │   │   │   ├── sq.js
    │   │   │   │   ├── sr-cyrl.js
    │   │   │   │   ├── sr.js
    │   │   │   │   ├── sv.js
    │   │   │   │   ├── ta.js
    │   │   │   │   ├── th.js
    │   │   │   │   ├── tl-ph.js
    │   │   │   │   ├── tr.js
    │   │   │   │   ├── tzm-latn.js
    │   │   │   │   ├── tzm.js
    │   │   │   │   ├── uk.js
    │   │   │   │   ├── uz.js
    │   │   │   │   ├── vi.js
    │   │   │   │   ├── zh-cn.js
    │   │   │   │   └── zh-tw.js
    │   │   │   └── moment.js
    │   │   └── templates/
    │   │       ├── amd-named.js
    │   │       ├── amd.js
    │   │       ├── globals.js
    │   │       ├── locale-header.js
    │   │       └── test-header.js
    │   └── ngCordova/
    │       ├── .bower.json
    │       ├── CHANGELOG.md
    │       ├── LICENSE
    │       ├── README.md
    │       ├── bower.json
    │       ├── dist/
    │       │   ├── ng-cordova-mocks.js
    │       │   └── ng-cordova.js
    │       └── package.json
    └── views/
        ├── explore/
        │   ├── explore.html
        │   └── explore.js
        ├── my/
        │   ├── messages.html
        │   ├── my.html
        │   ├── my.js
        │   └── personal.html
        ├── tabs.html
        └── topic/
            ├── newTopic.html
            ├── popover.html
            ├── topic.html
            ├── topics.html
            └── topics.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .bowerrc
================================================
{
  "directory": "www/lib"
}


================================================
FILE: .gitignore
================================================
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore

#node_modules/
platforms/
plugins/
截图/
ioniclub-1.0.0.apk
ioniclub.keystore


================================================
FILE: README.md
================================================
# Ioniclub App

[![Join the chat at https://gitter.im/IonicChina/ioniclub](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/IonicChina/ioniclub?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

> [http://ionichina.com](http://ionichina.com) Ionichina社区客户端,采用Ionic Framework开发

[![Download on the app store](https://devimages.apple.com.edgekey.net/app-store/marketing/guidelines/images/badge-download-on-the-app-store.svg)](https://itunes.apple.com/cn/app/id996999423)

## 快速开始

### 1. 首先安装ionic
    $ sudo npm install -g cordova ionic

### 2. 项目Clone到本地
    $ git clone https://github.com/IonicChina/ioniclub.git

### 3. 添加 android 或 ios 平台
注: 真机调试,浏览器可以跳过此步骤;  
 ios 开发只能在 mac 下进行。
    
    $ cd ioniclub
    $ ionic platform add ios
    $ ionic platform add android

### 4. 添加所有用到的插件

    bower install moment --save
    bower install ngCordova
    bower install angular-moment --save
    bower install angular-resource --save
    cordova plugin add https://github.com/danwilson/google-analytics-plugin.git
    cordova plugin add https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin.git
    cordova plugin add cordova-plugin-inappbrowser
    cordova plugin add https://github.com/katzer/cordova-plugin-email-composer.git
    cordova plugin add https://github.com/whiteoctober/cordova-plugin-app-version.git
    cordova plugin add cordova-plugin-network-information
    cordova plugin add https://github.com/wildabeast/BarcodeScanner.git
    cordova plugin add https://github.com/VersoSolutions/CordovaClipboard.git

jpush 插件安装参考:[https://github.com/jpush/jpush-phonegap-plugin](https://github.com/jpush/jpush-phonegap-plugin

  注:在添加了BarcodeScanner插件后android 打包会遇到个蛋疼error,解决方案是在platforms/android/build.gradle文件里 `android {}` 结点(243行)添加
  ```lintOptions {
    abortOnError false
}```
[#详情](http://forum.ionicframework.com/t/error-when-running-cordova-build-release-android/25136/4)
### 5. 运行
#### 浏览器
    $  ionic serve
#### ios
    $  ionic build ios
    $  ionic run ios
#### android
    $  ionic build android
    $  ionic run android


## 贡献
[贡献者列表](https://github.com/IonicChina/ioniclub/graphs/contributors)

有任何意见或建议都欢迎提 issue,或者直接在社区 [http://ionichina.com](http://ionichina.com) 提给 [@DongHongfei](http://ionichina.com/user/DongHongfei)

## License
[MIT](LICENSE)


================================================
FILE: bower.json
================================================
{
  "name": "ioniclub",
  "private": "true",
  "devDependencies": {
    "ionic": "driftyco/ionic-bower#1.0.0"
  },
  "dependencies": {
    "angular-moment": "~0.10.0",
    "angular-resource": "~1.3.15"
  }
}


================================================
FILE: config.xml
================================================
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionichina.ioniclub" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>ioniclub</name>
  <description>
    An Ionic Framework and Cordova project.
  </description>
  <author email="v@ionichina.com" href="http://ionichina.com/">
    Ionic China Team
  </author>
  <content src="index.html"/>
  <access origin="*"/>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="SplashScreen" value="screen"/>
  <preference name="SplashScreenDelay" value="3000"/>
  <feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" onload="true"/>
  </feature>
  <platform name="ios">
    <icon src="resources/ios/icon/icon.png" width="57" height="57"/>
    <icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/>
    <icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
    <icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/>
    <icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
    <icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/>
    <icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
    <icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/>
    <icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/>
    <icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
    <icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/>
    <icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
    <icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/>
    <icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
    <icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/>
    <icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/>
    <splash src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/>
    <splash src="resources/ios/splash/Default-667h.png" width="750" height="1334"/>
    <splash src="resources/ios/splash/Default-736h.png" width="1242" height="2208"/>
    <splash src="resources/ios/splash/Default-Landscape-736h.png" width="2208" height="1242"/>
    <splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
    <splash src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" height="768"/>
    <splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
    <splash src="resources/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/>
    <splash src="resources/ios/splash/Default@2x~iphone.png" width="640" height="960"/>
    <splash src="resources/ios/splash/Default~iphone.png" width="320" height="480"/>
  </platform>
  <platform name="android">
    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
  </platform>
  <icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
</widget>

================================================
FILE: gulpfile.js
================================================
var gulp = require('gulp');
var gutil = require('gulp-util');
var bower = require('bower');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var minifyCss = require('gulp-minify-css');
var rename = require('gulp-rename');
var sh = require('shelljs');

var paths = {
  sass: ['./scss/**/*.scss']
};

gulp.task('default', ['sass']);

gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass())
    .pipe(gulp.dest('./www/css/'))
    .pipe(minifyCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});

gulp.task('watch', function() {
  gulp.watch(paths.sass, ['sass']);
});

gulp.task('install', ['git-check'], function() {
  return bower.commands.install()
    .on('log', function(data) {
      gutil.log('bower', gutil.colors.cyan(data.id), data.message);
    });
});

gulp.task('git-check', function(done) {
  if (!sh.which('git')) {
    console.log(
      '  ' + gutil.colors.red('Git is not installed.'),
      '\n  Git, the version control system, is required to download Ionic.',
      '\n  Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
      '\n  Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
    );
    process.exit(1);
  }
  done();
});


================================================
FILE: hooks/README.md
================================================
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
-->
# Cordova Hooks

This directory may contain scripts used to customize cordova commands. This
directory used to exist at `.cordova/hooks`, but has now been moved to the
project root. Any scripts you add to these directories will be executed before
and after the commands corresponding to the directory name. Useful for
integrating your own build systems or integrating with version control systems.

__Remember__: Make your scripts executable.

## Hook Directories
The following subdirectories will be used for hooks:

    after_build/
    after_compile/
    after_docs/
    after_emulate/
    after_platform_add/
    after_platform_rm/
    after_platform_ls/
    after_plugin_add/
    after_plugin_ls/
    after_plugin_rm/
    after_plugin_search/
    after_prepare/
    after_run/
    after_serve/
    before_build/
    before_compile/
    before_docs/
    before_emulate/
    before_platform_add/
    before_platform_rm/
    before_platform_ls/
    before_plugin_add/
    before_plugin_ls/
    before_plugin_rm/
    before_plugin_search/
    before_prepare/
    before_run/
    before_serve/
    pre_package/ <-- Windows 8 and Windows Phone only.

## Script Interface

All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables:

* CORDOVA_VERSION - The version of the Cordova-CLI.
* CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios).
* CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer)
* CORDOVA_HOOK - Path to the hook that is being executed.
* CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate)

If a script returns a non-zero exit code, then the parent cordova command will be aborted.


## Writing hooks

We highly recommend writting your hooks using Node.js so that they are
cross-platform. Some good examples are shown here:

[http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/)



================================================
FILE: hooks/after_prepare/010_add_platform_class.js
================================================
#!/usr/bin/env node

// Add Platform Class
// v1.0
// Automatically adds the platform class to the body tag
// after the `prepare` command. By placing the platform CSS classes
// directly in the HTML built for the platform, it speeds up
// rendering the correct layout/style for the specific platform
// instead of waiting for the JS to figure out the correct classes.

var fs = require('fs');
var path = require('path');

var rootdir = process.argv[2];

function addPlatformBodyTag(indexPath, platform) {
  // add the platform class to the body tag
  try {
    var platformClass = 'platform-' + platform;
    var cordovaClass = 'platform-cordova platform-webview';

    var html = fs.readFileSync(indexPath, 'utf8');

    var bodyTag = findBodyTag(html);
    if(!bodyTag) return; // no opening body tag, something's wrong

    if(bodyTag.indexOf(platformClass) > -1) return; // already added

    var newBodyTag = bodyTag;

    var classAttr = findClassAttr(bodyTag);
    if(classAttr) {
      // body tag has existing class attribute, add the classname
      var endingQuote = classAttr.substring(classAttr.length-1);
      var newClassAttr = classAttr.substring(0, classAttr.length-1);
      newClassAttr += ' ' + platformClass + ' ' + cordovaClass + endingQuote;
      newBodyTag = bodyTag.replace(classAttr, newClassAttr);

    } else {
      // add class attribute to the body tag
      newBodyTag = bodyTag.replace('>', ' class="' + platformClass + ' ' + cordovaClass + '">');
    }

    html = html.replace(bodyTag, newBodyTag);

    fs.writeFileSync(indexPath, html, 'utf8');

    process.stdout.write('add to body class: ' + platformClass + '\n');
  } catch(e) {
    process.stdout.write(e);
  }
}

function findBodyTag(html) {
  // get the body tag
  try{
    return html.match(/<body(?=[\s>])(.*?)>/gi)[0];
  }catch(e){}
}

function findClassAttr(bodyTag) {
  // get the body tag's class attribute
  try{
    return bodyTag.match(/ class=["|'](.*?)["|']/gi)[0];
  }catch(e){}
}

if (rootdir) {

  // go through each of the platform directories that have been prepared
  var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []);

  for(var x=0; x<platforms.length; x++) {
    // open up the index.html file at the www root
    try {
      var platform = platforms[x].trim().toLowerCase();
      var indexPath;

      if(platform == 'android') {
        indexPath = path.join('platforms', platform, 'assets', 'www', 'index.html');
      } else {
        indexPath = path.join('platforms', platform, 'www', 'index.html');
      }

      if(fs.existsSync(indexPath)) {
        addPlatformBodyTag(indexPath, platform);
      }

    } catch(e) {
      process.stdout.write(e);
    }
  }

}


================================================
FILE: ionic.project
================================================
{
  "name": "ioniclub",
  "app_id": "996999423",
  "gulpStartupTasks": [
    "sass",
    "watch"
  ],
  "watchPatterns": [
    "www/**/*",
    "!www/lib/**/*"
  ]
}

================================================
FILE: package.json
================================================
{
  "name": "ioniclub",
  "version": "1.0.0",
  "description": "ioniclub: An Ionic project",
  "dependencies": {
    "angular-moment": "^0.10.0",
    "gulp": "^3.5.6",
    "gulp-concat": "^2.2.0",
    "gulp-minify-css": "^0.3.0",
    "gulp-rename": "^1.2.0",
    "gulp-sass": "^1.3.3"
  },
  "devDependencies": {
    "bower": "^1.3.3",
    "gulp-util": "^2.2.14",
    "shelljs": "^0.3.0"
  },
  "cordovaPlugins": [
    "org.apache.cordova.device",
    "org.apache.cordova.console",
    "com.ionic.keyboard",
    "cordova-plugin-whitelist"
  ],
  "cordovaPlatforms": [
    "ios",
    "android"
  ]
}

================================================
FILE: scss/app/_header.scss
================================================
a {
  color: #08c;
  text-decoration: none;
}
#logo {
  width: 128px;
  height: 30px;
  margin-left: 10px;
}
#devTag {
  position: relative;
  font-size: 14px;
}


================================================
FILE: scss/app/_topic.scss
================================================
.topic {
  .title {
    margin: 0;
  }
  .summary {
    margin: 8px 0;
  }
  .avatar {
    width: 16px;
    border-radius: 8px;
    vertical-align: middle;
  }
}
.replies {
  .item {
    padding-top: 10px;
    padding-bottom: 10px;
    white-space: normal;
  }
  .reply-content {
    img {
      max-width: 100%;
    }
    p {
      overflow: visible !important;
      white-space: normal !important;
    }
  }
}
.topic-create {
  .topic-tabs {
    position: relative;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 0;
  }
}
.reply-new {
  input {
    background: rgba(0, 0, 0, 0);
  }
}
.center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  -webkit-box-orient: horizontal;
  -moz-box-orient: horizontal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-box-align: center;
  -moz-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}


================================================
FILE: scss/app/_topics.scss
================================================
.topics {
  .item-content {
    padding: 14px 16px 18px 72px;
    > img {
      &:not(:first-child) {
        -webkit-transform: translate3d(-2000px, -2000px, 0px);
        position: absolute;
      }
    }
  }
  .activated {
    .tab {
      &:not(.hl) {
        background-color: #aeaeae;
        color: #fff;
      }
    }
  }
  .ago,
  .summary {
    font-size: 12px;
  }
  .tab {
    background-color: #E5E5E5;
    color: #999;
    border-radius: 2px;
    padding: 2px 4px;
  }
  .hl {
    background-color: $node-green;
    color: #fff;
  }
}
.topic-content {
  img {
    max-width: 100%;
  }
}


================================================
FILE: scss/app/_user.scss
================================================
.user {
  .item-content {
    padding-right: 16px;
  }
}


================================================
FILE: scss/base/_variables.scss
================================================
// Colors
// -------------------------------

$node-green: #80bd01;
$node-black: #444;


================================================
FILE: scss/ionic.app.scss
================================================
/*
To customize the look and feel of Ionic, you can override the variables
in ionic's _variables.scss file.

For example, you might change some of the default colors:

$light:                           #fff !default;
$stable:                          #f8f8f8 !default;
$positive:                        #387ef5 !default;
$calm:                            #11c1f3 !default;
$balanced:                        #33cd5f !default;
$energized:                       #ffc900 !default;
$assertive:                       #ef473a !default;
$royal:                           #886aea !default;
$dark:                            #444 !default;
*/

// The path for our ionicons font files, relative to the built CSS in www/css
$ionicons-font-path: "../lib/ionic/fonts" !default;

// Include all of Ionic
@import "www/lib/ionic/scss/ionic";

// base
@import "base/_variables.scss";

// modules
@import "modules/_scaffolding.scss";
@import "modules/_bar.scss";
@import "modules/_items.scss";
@import "modules/_markdown.scss";

// app
@import "app/_header.scss";
@import "app/_topics.scss";
@import "app/_topic.scss";
@import "app/_user.scss";


.tabs-striped.tabs-color-assertive .tab-item{
  color: black;
}
.tabs-striped.tabs-color-assertive .tab-item.active{
  color: red;
}
.nav-bar-tabs-top.hide + .view-container > .tabs-top > .tabs, .tabs.tabs-top {
  top: 0 !important;
}

.nav-bar-tabs-top.hide + .view-container > .tabs-top > .tab-content .pane .has-tabs-top {
  top: 49px !important;
}

.tabs-hide .tabs {
    display: none;
}

.spinner svg {
  width: 28px;
  height: 28px;
  stroke: #444;
  fill: #444;
}

// 话题详情部分的spinner
.topic-spinner {
  margin: 100px auto 0;
  text-align: center;
  font-size: 50px;
  position: absolute;
  top: 50px;
  left: -webkit-calc(50% - 25px);
  z-index: 2;
  -webkit-transition:all .4s cubic-bezier(.6,-1.6,.92,.48);
  transition:all .4s cubic-bezier(.6,-1.6,.92,.48);
}
.topic-spinner.ng-hide-add{
  -webkit-transform: scale(1,1);
  transform: scale(1,1);
}
.topic-spinner.ng-hide-add-active{
  -webkit-transform: scale(0,0);
  transform: scale(0,0);
}

.hide-tabs .has-tabs { bottom: 0px; }


================================================
FILE: scss/modules/_bar.scss
================================================


================================================
FILE: scss/modules/_items.scss
================================================
.item {
  left: 0;
  right: 0;
}
.item-divider {
  color: #555;
  font-weight: normal;
  font-size: 14px;
}
.item-gap {
  border: 0 none;
  min-height: 0;
}
.item-loading {
  text-align: center;
  color: #aaa;
}
.saverMode {
  .item-avatar {
    padding-left: 14px;
    &.item-complex {
      padding-left: 0;
    }
    > img {
      &:first-child {
        -webkit-transform: translate3d(-2000px, -2000px, 0px);
      }
    }
    .item-content {
      padding-left: 14px;
      padding-right: 16px;
      > img {
        &:first-child {
          -webkit-transform: translate3d(-2000px, -2000px, 0px);
        }
      }
    }
  }
}
.setting {
  .avatar {
    width: 50px;
    border-radius: 10px;
    vertical-align: middle;
  }
  .login {
    text-align: center;
    /* background-color: #4EB554; */
  }
}


================================================
FILE: scss/modules/_markdown.scss
================================================
.markdown-text {
  a {
    color: #778087;
  }
  ul {
    list-style-type: disc;
    margin-bottom: 5px;
    margin-left: 15px;
    ul {
      list-style-type: circle;
    }
  }
}


================================================
FILE: scss/modules/_scaffolding.scss
================================================
#copyright {
  margin: 20px 0 10px;
  text-align: center;
  color: #aaa;
  text-shadow: 0 1px 0 #fff;
}
.notifyBadge {
  position: absolute;
  top: 2px;
  right: 2px;
  background: #EF4E3A;
  border-radius: 10px;
  width: 10px;
  height: 10px;
}
.badge {
  &.messagesCount {
    border-radius: 20px;
    width: 20px;
    height: 20px;
    display: inline-block;
    padding: 0;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
  }
}

.bold {
  font-weight: bold;
}

.pane {
  background-color: #f5f5f5;
}

.cnode {
  color: $node-green;
}

.cnode-bg {
  background-color: $node-green;
}


================================================
FILE: www/css/ionic.app.css
================================================
@charset "UTF-8";
/*
To customize the look and feel of Ionic, you can override the variables
in ionic's _variables.scss file.

For example, you might change some of the default colors:

$light:                           #fff !default;
$stable:                          #f8f8f8 !default;
$positive:                        #387ef5 !default;
$calm:                            #11c1f3 !default;
$balanced:                        #33cd5f !default;
$energized:                       #ffc900 !default;
$assertive:                       #ef473a !default;
$royal:                           #886aea !default;
$dark:                            #444 !default;
*/
/*!
  Ionicons, v2.0.1
  Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
  https://twitter.com/benjsperry  https://twitter.com/ionicframework
  MIT License: https://github.com/driftyco/ionicons

  Android-style icons originally built by Google’s
  Material Design Icons: https://github.com/google/material-design-icons
  used under CC BY http://creativecommons.org/licenses/by/4.0/
  Modified icons to fit ionicon’s grid from original.
*/
@font-face {
  font-family: "Ionicons";
  src: url("../lib/ionic/fonts/ionicons.eot?v=2.0.1");
  src: url("../lib/ionic/fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"), url("../lib/ionic/fonts/ionicons.ttf?v=2.0.1") format("truetype"), url("../lib/ionic/fonts/ionicons.woff?v=2.0.1") format("woff"), url("../lib/ionic/fonts/ionicons.woff") format("woff"), url("../lib/ionic/fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg");
  font-weight: normal;
  font-style: normal; }

.ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before {
  display: inline-block;
  font-family: "Ionicons";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.ion-alert:before {
  content: "\f101"; }

.ion-alert-circled:before {
  content: "\f100"; }

.ion-android-add:before {
  content: "\f2c7"; }

.ion-android-add-circle:before {
  content: "\f359"; }

.ion-android-alarm-clock:before {
  content: "\f35a"; }

.ion-android-alert:before {
  content: "\f35b"; }

.ion-android-apps:before {
  content: "\f35c"; }

.ion-android-archive:before {
  content: "\f2c9"; }

.ion-android-arrow-back:before {
  content: "\f2ca"; }

.ion-android-arrow-down:before {
  content: "\f35d"; }

.ion-android-arrow-dropdown:before {
  content: "\f35f"; }

.ion-android-arrow-dropdown-circle:before {
  content: "\f35e"; }

.ion-android-arrow-dropleft:before {
  content: "\f361"; }

.ion-android-arrow-dropleft-circle:before {
  content: "\f360"; }

.ion-android-arrow-dropright:before {
  content: "\f363"; }

.ion-android-arrow-dropright-circle:before {
  content: "\f362"; }

.ion-android-arrow-dropup:before {
  content: "\f365"; }

.ion-android-arrow-dropup-circle:before {
  content: "\f364"; }

.ion-android-arrow-forward:before {
  content: "\f30f"; }

.ion-android-arrow-up:before {
  content: "\f366"; }

.ion-android-attach:before {
  content: "\f367"; }

.ion-android-bar:before {
  content: "\f368"; }

.ion-android-bicycle:before {
  content: "\f369"; }

.ion-android-boat:before {
  content: "\f36a"; }

.ion-android-bookmark:before {
  content: "\f36b"; }

.ion-android-bulb:before {
  content: "\f36c"; }

.ion-android-bus:before {
  content: "\f36d"; }

.ion-android-calendar:before {
  content: "\f2d1"; }

.ion-android-call:before {
  content: "\f2d2"; }

.ion-android-camera:before {
  content: "\f2d3"; }

.ion-android-cancel:before {
  content: "\f36e"; }

.ion-android-car:before {
  content: "\f36f"; }

.ion-android-cart:before {
  content: "\f370"; }

.ion-android-chat:before {
  content: "\f2d4"; }

.ion-android-checkbox:before {
  content: "\f374"; }

.ion-android-checkbox-blank:before {
  content: "\f371"; }

.ion-android-checkbox-outline:before {
  content: "\f373"; }

.ion-android-checkbox-outline-blank:before {
  content: "\f372"; }

.ion-android-checkmark-circle:before {
  content: "\f375"; }

.ion-android-clipboard:before {
  content: "\f376"; }

.ion-android-close:before {
  content: "\f2d7"; }

.ion-android-cloud:before {
  content: "\f37a"; }

.ion-android-cloud-circle:before {
  content: "\f377"; }

.ion-android-cloud-done:before {
  content: "\f378"; }

.ion-android-cloud-outline:before {
  content: "\f379"; }

.ion-android-color-palette:before {
  content: "\f37b"; }

.ion-android-compass:before {
  content: "\f37c"; }

.ion-android-contact:before {
  content: "\f2d8"; }

.ion-android-contacts:before {
  content: "\f2d9"; }

.ion-android-contract:before {
  content: "\f37d"; }

.ion-android-create:before {
  content: "\f37e"; }

.ion-android-delete:before {
  content: "\f37f"; }

.ion-android-desktop:before {
  content: "\f380"; }

.ion-android-document:before {
  content: "\f381"; }

.ion-android-done:before {
  content: "\f383"; }

.ion-android-done-all:before {
  content: "\f382"; }

.ion-android-download:before {
  content: "\f2dd"; }

.ion-android-drafts:before {
  content: "\f384"; }

.ion-android-exit:before {
  content: "\f385"; }

.ion-android-expand:before {
  content: "\f386"; }

.ion-android-favorite:before {
  content: "\f388"; }

.ion-android-favorite-outline:before {
  content: "\f387"; }

.ion-android-film:before {
  content: "\f389"; }

.ion-android-folder:before {
  content: "\f2e0"; }

.ion-android-folder-open:before {
  content: "\f38a"; }

.ion-android-funnel:before {
  content: "\f38b"; }

.ion-android-globe:before {
  content: "\f38c"; }

.ion-android-hand:before {
  content: "\f2e3"; }

.ion-android-hangout:before {
  content: "\f38d"; }

.ion-android-happy:before {
  content: "\f38e"; }

.ion-android-home:before {
  content: "\f38f"; }

.ion-android-image:before {
  content: "\f2e4"; }

.ion-android-laptop:before {
  content: "\f390"; }

.ion-android-list:before {
  content: "\f391"; }

.ion-android-locate:before {
  content: "\f2e9"; }

.ion-android-lock:before {
  content: "\f392"; }

.ion-android-mail:before {
  content: "\f2eb"; }

.ion-android-map:before {
  content: "\f393"; }

.ion-android-menu:before {
  content: "\f394"; }

.ion-android-microphone:before {
  content: "\f2ec"; }

.ion-android-microphone-off:before {
  content: "\f395"; }

.ion-android-more-horizontal:before {
  content: "\f396"; }

.ion-android-more-vertical:before {
  content: "\f397"; }

.ion-android-navigate:before {
  content: "\f398"; }

.ion-android-notifications:before {
  content: "\f39b"; }

.ion-android-notifications-none:before {
  content: "\f399"; }

.ion-android-notifications-off:before {
  content: "\f39a"; }

.ion-android-open:before {
  content: "\f39c"; }

.ion-android-options:before {
  content: "\f39d"; }

.ion-android-people:before {
  content: "\f39e"; }

.ion-android-person:before {
  content: "\f3a0"; }

.ion-android-person-add:before {
  content: "\f39f"; }

.ion-android-phone-landscape:before {
  content: "\f3a1"; }

.ion-android-phone-portrait:before {
  content: "\f3a2"; }

.ion-android-pin:before {
  content: "\f3a3"; }

.ion-android-plane:before {
  content: "\f3a4"; }

.ion-android-playstore:before {
  content: "\f2f0"; }

.ion-android-print:before {
  content: "\f3a5"; }

.ion-android-radio-button-off:before {
  content: "\f3a6"; }

.ion-android-radio-button-on:before {
  content: "\f3a7"; }

.ion-android-refresh:before {
  content: "\f3a8"; }

.ion-android-remove:before {
  content: "\f2f4"; }

.ion-android-remove-circle:before {
  content: "\f3a9"; }

.ion-android-restaurant:before {
  content: "\f3aa"; }

.ion-android-sad:before {
  content: "\f3ab"; }

.ion-android-search:before {
  content: "\f2f5"; }

.ion-android-send:before {
  content: "\f2f6"; }

.ion-android-settings:before {
  content: "\f2f7"; }

.ion-android-share:before {
  content: "\f2f8"; }

.ion-android-share-alt:before {
  content: "\f3ac"; }

.ion-android-star:before {
  content: "\f2fc"; }

.ion-android-star-half:before {
  content: "\f3ad"; }

.ion-android-star-outline:before {
  content: "\f3ae"; }

.ion-android-stopwatch:before {
  content: "\f2fd"; }

.ion-android-subway:before {
  content: "\f3af"; }

.ion-android-sunny:before {
  content: "\f3b0"; }

.ion-android-sync:before {
  content: "\f3b1"; }

.ion-android-textsms:before {
  content: "\f3b2"; }

.ion-android-time:before {
  content: "\f3b3"; }

.ion-android-train:before {
  content: "\f3b4"; }

.ion-android-unlock:before {
  content: "\f3b5"; }

.ion-android-upload:before {
  content: "\f3b6"; }

.ion-android-volume-down:before {
  content: "\f3b7"; }

.ion-android-volume-mute:before {
  content: "\f3b8"; }

.ion-android-volume-off:before {
  content: "\f3b9"; }

.ion-android-volume-up:before {
  content: "\f3ba"; }

.ion-android-walk:before {
  content: "\f3bb"; }

.ion-android-warning:before {
  content: "\f3bc"; }

.ion-android-watch:before {
  content: "\f3bd"; }

.ion-android-wifi:before {
  content: "\f305"; }

.ion-aperture:before {
  content: "\f313"; }

.ion-archive:before {
  content: "\f102"; }

.ion-arrow-down-a:before {
  content: "\f103"; }

.ion-arrow-down-b:before {
  content: "\f104"; }

.ion-arrow-down-c:before {
  content: "\f105"; }

.ion-arrow-expand:before {
  content: "\f25e"; }

.ion-arrow-graph-down-left:before {
  content: "\f25f"; }

.ion-arrow-graph-down-right:before {
  content: "\f260"; }

.ion-arrow-graph-up-left:before {
  content: "\f261"; }

.ion-arrow-graph-up-right:before {
  content: "\f262"; }

.ion-arrow-left-a:before {
  content: "\f106"; }

.ion-arrow-left-b:before {
  content: "\f107"; }

.ion-arrow-left-c:before {
  content: "\f108"; }

.ion-arrow-move:before {
  content: "\f263"; }

.ion-arrow-resize:before {
  content: "\f264"; }

.ion-arrow-return-left:before {
  content: "\f265"; }

.ion-arrow-return-right:before {
  content: "\f266"; }

.ion-arrow-right-a:before {
  content: "\f109"; }

.ion-arrow-right-b:before {
  content: "\f10a"; }

.ion-arrow-right-c:before {
  content: "\f10b"; }

.ion-arrow-shrink:before {
  content: "\f267"; }

.ion-arrow-swap:before {
  content: "\f268"; }

.ion-arrow-up-a:before {
  content: "\f10c"; }

.ion-arrow-up-b:before {
  content: "\f10d"; }

.ion-arrow-up-c:before {
  content: "\f10e"; }

.ion-asterisk:before {
  content: "\f314"; }

.ion-at:before {
  content: "\f10f"; }

.ion-backspace:before {
  content: "\f3bf"; }

.ion-backspace-outline:before {
  content: "\f3be"; }

.ion-bag:before {
  content: "\f110"; }

.ion-battery-charging:before {
  content: "\f111"; }

.ion-battery-empty:before {
  content: "\f112"; }

.ion-battery-full:before {
  content: "\f113"; }

.ion-battery-half:before {
  content: "\f114"; }

.ion-battery-low:before {
  content: "\f115"; }

.ion-beaker:before {
  content: "\f269"; }

.ion-beer:before {
  content: "\f26a"; }

.ion-bluetooth:before {
  content: "\f116"; }

.ion-bonfire:before {
  content: "\f315"; }

.ion-bookmark:before {
  content: "\f26b"; }

.ion-bowtie:before {
  content: "\f3c0"; }

.ion-briefcase:before {
  content: "\f26c"; }

.ion-bug:before {
  content: "\f2be"; }

.ion-calculator:before {
  content: "\f26d"; }

.ion-calendar:before {
  content: "\f117"; }

.ion-camera:before {
  content: "\f118"; }

.ion-card:before {
  content: "\f119"; }

.ion-cash:before {
  content: "\f316"; }

.ion-chatbox:before {
  content: "\f11b"; }

.ion-chatbox-working:before {
  content: "\f11a"; }

.ion-chatboxes:before {
  content: "\f11c"; }

.ion-chatbubble:before {
  content: "\f11e"; }

.ion-chatbubble-working:before {
  content: "\f11d"; }

.ion-chatbubbles:before {
  content: "\f11f"; }

.ion-checkmark:before {
  content: "\f122"; }

.ion-checkmark-circled:before {
  content: "\f120"; }

.ion-checkmark-round:before {
  content: "\f121"; }

.ion-chevron-down:before {
  content: "\f123"; }

.ion-chevron-left:before {
  content: "\f124"; }

.ion-chevron-right:before {
  content: "\f125"; }

.ion-chevron-up:before {
  content: "\f126"; }

.ion-clipboard:before {
  content: "\f127"; }

.ion-clock:before {
  content: "\f26e"; }

.ion-close:before {
  content: "\f12a"; }

.ion-close-circled:before {
  content: "\f128"; }

.ion-close-round:before {
  content: "\f129"; }

.ion-closed-captioning:before {
  content: "\f317"; }

.ion-cloud:before {
  content: "\f12b"; }

.ion-code:before {
  content: "\f271"; }

.ion-code-download:before {
  content: "\f26f"; }

.ion-code-working:before {
  content: "\f270"; }

.ion-coffee:before {
  content: "\f272"; }

.ion-compass:before {
  content: "\f273"; }

.ion-compose:before {
  content: "\f12c"; }

.ion-connection-bars:before {
  content: "\f274"; }

.ion-contrast:before {
  content: "\f275"; }

.ion-crop:before {
  content: "\f3c1"; }

.ion-cube:before {
  content: "\f318"; }

.ion-disc:before {
  content: "\f12d"; }

.ion-document:before {
  content: "\f12f"; }

.ion-document-text:before {
  content: "\f12e"; }

.ion-drag:before {
  content: "\f130"; }

.ion-earth:before {
  content: "\f276"; }

.ion-easel:before {
  content: "\f3c2"; }

.ion-edit:before {
  content: "\f2bf"; }

.ion-egg:before {
  content: "\f277"; }

.ion-eject:before {
  content: "\f131"; }

.ion-email:before {
  content: "\f132"; }

.ion-email-unread:before {
  content: "\f3c3"; }

.ion-erlenmeyer-flask:before {
  content: "\f3c5"; }

.ion-erlenmeyer-flask-bubbles:before {
  content: "\f3c4"; }

.ion-eye:before {
  content: "\f133"; }

.ion-eye-disabled:before {
  content: "\f306"; }

.ion-female:before {
  content: "\f278"; }

.ion-filing:before {
  content: "\f134"; }

.ion-film-marker:before {
  content: "\f135"; }

.ion-fireball:before {
  content: "\f319"; }

.ion-flag:before {
  content: "\f279"; }

.ion-flame:before {
  content: "\f31a"; }

.ion-flash:before {
  content: "\f137"; }

.ion-flash-off:before {
  content: "\f136"; }

.ion-folder:before {
  content: "\f139"; }

.ion-fork:before {
  content: "\f27a"; }

.ion-fork-repo:before {
  content: "\f2c0"; }

.ion-forward:before {
  content: "\f13a"; }

.ion-funnel:before {
  content: "\f31b"; }

.ion-gear-a:before {
  content: "\f13d"; }

.ion-gear-b:before {
  content: "\f13e"; }

.ion-grid:before {
  content: "\f13f"; }

.ion-hammer:before {
  content: "\f27b"; }

.ion-happy:before {
  content: "\f31c"; }

.ion-happy-outline:before {
  content: "\f3c6"; }

.ion-headphone:before {
  content: "\f140"; }

.ion-heart:before {
  content: "\f141"; }

.ion-heart-broken:before {
  content: "\f31d"; }

.ion-help:before {
  content: "\f143"; }

.ion-help-buoy:before {
  content: "\f27c"; }

.ion-help-circled:before {
  content: "\f142"; }

.ion-home:before {
  content: "\f144"; }

.ion-icecream:before {
  content: "\f27d"; }

.ion-image:before {
  content: "\f147"; }

.ion-images:before {
  content: "\f148"; }

.ion-information:before {
  content: "\f14a"; }

.ion-information-circled:before {
  content: "\f149"; }

.ion-ionic:before {
  content: "\f14b"; }

.ion-ios-alarm:before {
  content: "\f3c8"; }

.ion-ios-alarm-outline:before {
  content: "\f3c7"; }

.ion-ios-albums:before {
  content: "\f3ca"; }

.ion-ios-albums-outline:before {
  content: "\f3c9"; }

.ion-ios-americanfootball:before {
  content: "\f3cc"; }

.ion-ios-americanfootball-outline:before {
  content: "\f3cb"; }

.ion-ios-analytics:before {
  content: "\f3ce"; }

.ion-ios-analytics-outline:before {
  content: "\f3cd"; }

.ion-ios-arrow-back:before {
  content: "\f3cf"; }

.ion-ios-arrow-down:before {
  content: "\f3d0"; }

.ion-ios-arrow-forward:before {
  content: "\f3d1"; }

.ion-ios-arrow-left:before {
  content: "\f3d2"; }

.ion-ios-arrow-right:before {
  content: "\f3d3"; }

.ion-ios-arrow-thin-down:before {
  content: "\f3d4"; }

.ion-ios-arrow-thin-left:before {
  content: "\f3d5"; }

.ion-ios-arrow-thin-right:before {
  content: "\f3d6"; }

.ion-ios-arrow-thin-up:before {
  content: "\f3d7"; }

.ion-ios-arrow-up:before {
  content: "\f3d8"; }

.ion-ios-at:before {
  content: "\f3da"; }

.ion-ios-at-outline:before {
  content: "\f3d9"; }

.ion-ios-barcode:before {
  content: "\f3dc"; }

.ion-ios-barcode-outline:before {
  content: "\f3db"; }

.ion-ios-baseball:before {
  content: "\f3de"; }

.ion-ios-baseball-outline:before {
  content: "\f3dd"; }

.ion-ios-basketball:before {
  content: "\f3e0"; }

.ion-ios-basketball-outline:before {
  content: "\f3df"; }

.ion-ios-bell:before {
  content: "\f3e2"; }

.ion-ios-bell-outline:before {
  content: "\f3e1"; }

.ion-ios-body:before {
  content: "\f3e4"; }

.ion-ios-body-outline:before {
  content: "\f3e3"; }

.ion-ios-bolt:before {
  content: "\f3e6"; }

.ion-ios-bolt-outline:before {
  content: "\f3e5"; }

.ion-ios-book:before {
  content: "\f3e8"; }

.ion-ios-book-outline:before {
  content: "\f3e7"; }

.ion-ios-bookmarks:before {
  content: "\f3ea"; }

.ion-ios-bookmarks-outline:before {
  content: "\f3e9"; }

.ion-ios-box:before {
  content: "\f3ec"; }

.ion-ios-box-outline:before {
  content: "\f3eb"; }

.ion-ios-briefcase:before {
  content: "\f3ee"; }

.ion-ios-briefcase-outline:before {
  content: "\f3ed"; }

.ion-ios-browsers:before {
  content: "\f3f0"; }

.ion-ios-browsers-outline:before {
  content: "\f3ef"; }

.ion-ios-calculator:before {
  content: "\f3f2"; }

.ion-ios-calculator-outline:before {
  content: "\f3f1"; }

.ion-ios-calendar:before {
  content: "\f3f4"; }

.ion-ios-calendar-outline:before {
  content: "\f3f3"; }

.ion-ios-camera:before {
  content: "\f3f6"; }

.ion-ios-camera-outline:before {
  content: "\f3f5"; }

.ion-ios-cart:before {
  content: "\f3f8"; }

.ion-ios-cart-outline:before {
  content: "\f3f7"; }

.ion-ios-chatboxes:before {
  content: "\f3fa"; }

.ion-ios-chatboxes-outline:before {
  content: "\f3f9"; }

.ion-ios-chatbubble:before {
  content: "\f3fc"; }

.ion-ios-chatbubble-outline:before {
  content: "\f3fb"; }

.ion-ios-checkmark:before {
  content: "\f3ff"; }

.ion-ios-checkmark-empty:before {
  content: "\f3fd"; }

.ion-ios-checkmark-outline:before {
  content: "\f3fe"; }

.ion-ios-circle-filled:before {
  content: "\f400"; }

.ion-ios-circle-outline:before {
  content: "\f401"; }

.ion-ios-clock:before {
  content: "\f403"; }

.ion-ios-clock-outline:before {
  content: "\f402"; }

.ion-ios-close:before {
  content: "\f406"; }

.ion-ios-close-empty:before {
  content: "\f404"; }

.ion-ios-close-outline:before {
  content: "\f405"; }

.ion-ios-cloud:before {
  content: "\f40c"; }

.ion-ios-cloud-download:before {
  content: "\f408"; }

.ion-ios-cloud-download-outline:before {
  content: "\f407"; }

.ion-ios-cloud-outline:before {
  content: "\f409"; }

.ion-ios-cloud-upload:before {
  content: "\f40b"; }

.ion-ios-cloud-upload-outline:before {
  content: "\f40a"; }

.ion-ios-cloudy:before {
  content: "\f410"; }

.ion-ios-cloudy-night:before {
  content: "\f40e"; }

.ion-ios-cloudy-night-outline:before {
  content: "\f40d"; }

.ion-ios-cloudy-outline:before {
  content: "\f40f"; }

.ion-ios-cog:before {
  content: "\f412"; }

.ion-ios-cog-outline:before {
  content: "\f411"; }

.ion-ios-color-filter:before {
  content: "\f414"; }

.ion-ios-color-filter-outline:before {
  content: "\f413"; }

.ion-ios-color-wand:before {
  content: "\f416"; }

.ion-ios-color-wand-outline:before {
  content: "\f415"; }

.ion-ios-compose:before {
  content: "\f418"; }

.ion-ios-compose-outline:before {
  content: "\f417"; }

.ion-ios-contact:before {
  content: "\f41a"; }

.ion-ios-contact-outline:before {
  content: "\f419"; }

.ion-ios-copy:before {
  content: "\f41c"; }

.ion-ios-copy-outline:before {
  content: "\f41b"; }

.ion-ios-crop:before {
  content: "\f41e"; }

.ion-ios-crop-strong:before {
  content: "\f41d"; }

.ion-ios-download:before {
  content: "\f420"; }

.ion-ios-download-outline:before {
  content: "\f41f"; }

.ion-ios-drag:before {
  content: "\f421"; }

.ion-ios-email:before {
  content: "\f423"; }

.ion-ios-email-outline:before {
  content: "\f422"; }

.ion-ios-eye:before {
  content: "\f425"; }

.ion-ios-eye-outline:before {
  content: "\f424"; }

.ion-ios-fastforward:before {
  content: "\f427"; }

.ion-ios-fastforward-outline:before {
  content: "\f426"; }

.ion-ios-filing:before {
  content: "\f429"; }

.ion-ios-filing-outline:before {
  content: "\f428"; }

.ion-ios-film:before {
  content: "\f42b"; }

.ion-ios-film-outline:before {
  content: "\f42a"; }

.ion-ios-flag:before {
  content: "\f42d"; }

.ion-ios-flag-outline:before {
  content: "\f42c"; }

.ion-ios-flame:before {
  content: "\f42f"; }

.ion-ios-flame-outline:before {
  content: "\f42e"; }

.ion-ios-flask:before {
  content: "\f431"; }

.ion-ios-flask-outline:before {
  content: "\f430"; }

.ion-ios-flower:before {
  content: "\f433"; }

.ion-ios-flower-outline:before {
  content: "\f432"; }

.ion-ios-folder:before {
  content: "\f435"; }

.ion-ios-folder-outline:before {
  content: "\f434"; }

.ion-ios-football:before {
  content: "\f437"; }

.ion-ios-football-outline:before {
  content: "\f436"; }

.ion-ios-game-controller-a:before {
  content: "\f439"; }

.ion-ios-game-controller-a-outline:before {
  content: "\f438"; }

.ion-ios-game-controller-b:before {
  content: "\f43b"; }

.ion-ios-game-controller-b-outline:before {
  content: "\f43a"; }

.ion-ios-gear:before {
  content: "\f43d"; }

.ion-ios-gear-outline:before {
  content: "\f43c"; }

.ion-ios-glasses:before {
  content: "\f43f"; }

.ion-ios-glasses-outline:before {
  content: "\f43e"; }

.ion-ios-grid-view:before {
  content: "\f441"; }

.ion-ios-grid-view-outline:before {
  content: "\f440"; }

.ion-ios-heart:before {
  content: "\f443"; }

.ion-ios-heart-outline:before {
  content: "\f442"; }

.ion-ios-help:before {
  content: "\f446"; }

.ion-ios-help-empty:before {
  content: "\f444"; }

.ion-ios-help-outline:before {
  content: "\f445"; }

.ion-ios-home:before {
  content: "\f448"; }

.ion-ios-home-outline:before {
  content: "\f447"; }

.ion-ios-infinite:before {
  content: "\f44a"; }

.ion-ios-infinite-outline:before {
  content: "\f449"; }

.ion-ios-information:before {
  content: "\f44d"; }

.ion-ios-information-empty:before {
  content: "\f44b"; }

.ion-ios-information-outline:before {
  content: "\f44c"; }

.ion-ios-ionic-outline:before {
  content: "\f44e"; }

.ion-ios-keypad:before {
  content: "\f450"; }

.ion-ios-keypad-outline:before {
  content: "\f44f"; }

.ion-ios-lightbulb:before {
  content: "\f452"; }

.ion-ios-lightbulb-outline:before {
  content: "\f451"; }

.ion-ios-list:before {
  content: "\f454"; }

.ion-ios-list-outline:before {
  content: "\f453"; }

.ion-ios-location:before {
  content: "\f456"; }

.ion-ios-location-outline:before {
  content: "\f455"; }

.ion-ios-locked:before {
  content: "\f458"; }

.ion-ios-locked-outline:before {
  content: "\f457"; }

.ion-ios-loop:before {
  content: "\f45a"; }

.ion-ios-loop-strong:before {
  content: "\f459"; }

.ion-ios-medical:before {
  content: "\f45c"; }

.ion-ios-medical-outline:before {
  content: "\f45b"; }

.ion-ios-medkit:before {
  content: "\f45e"; }

.ion-ios-medkit-outline:before {
  content: "\f45d"; }

.ion-ios-mic:before {
  content: "\f461"; }

.ion-ios-mic-off:before {
  content: "\f45f"; }

.ion-ios-mic-outline:before {
  content: "\f460"; }

.ion-ios-minus:before {
  content: "\f464"; }

.ion-ios-minus-empty:before {
  content: "\f462"; }

.ion-ios-minus-outline:before {
  content: "\f463"; }

.ion-ios-monitor:before {
  content: "\f466"; }

.ion-ios-monitor-outline:before {
  content: "\f465"; }

.ion-ios-moon:before {
  content: "\f468"; }

.ion-ios-moon-outline:before {
  content: "\f467"; }

.ion-ios-more:before {
  content: "\f46a"; }

.ion-ios-more-outline:before {
  content: "\f469"; }

.ion-ios-musical-note:before {
  content: "\f46b"; }

.ion-ios-musical-notes:before {
  content: "\f46c"; }

.ion-ios-navigate:before {
  content: "\f46e"; }

.ion-ios-navigate-outline:before {
  content: "\f46d"; }

.ion-ios-nutrition:before {
  content: "\f470"; }

.ion-ios-nutrition-outline:before {
  content: "\f46f"; }

.ion-ios-paper:before {
  content: "\f472"; }

.ion-ios-paper-outline:before {
  content: "\f471"; }

.ion-ios-paperplane:before {
  content: "\f474"; }

.ion-ios-paperplane-outline:before {
  content: "\f473"; }

.ion-ios-partlysunny:before {
  content: "\f476"; }

.ion-ios-partlysunny-outline:before {
  content: "\f475"; }

.ion-ios-pause:before {
  content: "\f478"; }

.ion-ios-pause-outline:before {
  content: "\f477"; }

.ion-ios-paw:before {
  content: "\f47a"; }

.ion-ios-paw-outline:before {
  content: "\f479"; }

.ion-ios-people:before {
  content: "\f47c"; }

.ion-ios-people-outline:before {
  content: "\f47b"; }

.ion-ios-person:before {
  content: "\f47e"; }

.ion-ios-person-outline:before {
  content: "\f47d"; }

.ion-ios-personadd:before {
  content: "\f480"; }

.ion-ios-personadd-outline:before {
  content: "\f47f"; }

.ion-ios-photos:before {
  content: "\f482"; }

.ion-ios-photos-outline:before {
  content: "\f481"; }

.ion-ios-pie:before {
  content: "\f484"; }

.ion-ios-pie-outline:before {
  content: "\f483"; }

.ion-ios-pint:before {
  content: "\f486"; }

.ion-ios-pint-outline:before {
  content: "\f485"; }

.ion-ios-play:before {
  content: "\f488"; }

.ion-ios-play-outline:before {
  content: "\f487"; }

.ion-ios-plus:before {
  content: "\f48b"; }

.ion-ios-plus-empty:before {
  content: "\f489"; }

.ion-ios-plus-outline:before {
  content: "\f48a"; }

.ion-ios-pricetag:before {
  content: "\f48d"; }

.ion-ios-pricetag-outline:before {
  content: "\f48c"; }

.ion-ios-pricetags:before {
  content: "\f48f"; }

.ion-ios-pricetags-outline:before {
  content: "\f48e"; }

.ion-ios-printer:before {
  content: "\f491"; }

.ion-ios-printer-outline:before {
  content: "\f490"; }

.ion-ios-pulse:before {
  content: "\f493"; }

.ion-ios-pulse-strong:before {
  content: "\f492"; }

.ion-ios-rainy:before {
  content: "\f495"; }

.ion-ios-rainy-outline:before {
  content: "\f494"; }

.ion-ios-recording:before {
  content: "\f497"; }

.ion-ios-recording-outline:before {
  content: "\f496"; }

.ion-ios-redo:before {
  content: "\f499"; }

.ion-ios-redo-outline:before {
  content: "\f498"; }

.ion-ios-refresh:before {
  content: "\f49c"; }

.ion-ios-refresh-empty:before {
  content: "\f49a"; }

.ion-ios-refresh-outline:before {
  content: "\f49b"; }

.ion-ios-reload:before {
  content: "\f49d"; }

.ion-ios-reverse-camera:before {
  content: "\f49f"; }

.ion-ios-reverse-camera-outline:before {
  content: "\f49e"; }

.ion-ios-rewind:before {
  content: "\f4a1"; }

.ion-ios-rewind-outline:before {
  content: "\f4a0"; }

.ion-ios-rose:before {
  content: "\f4a3"; }

.ion-ios-rose-outline:before {
  content: "\f4a2"; }

.ion-ios-search:before {
  content: "\f4a5"; }

.ion-ios-search-strong:before {
  content: "\f4a4"; }

.ion-ios-settings:before {
  content: "\f4a7"; }

.ion-ios-settings-strong:before {
  content: "\f4a6"; }

.ion-ios-shuffle:before {
  content: "\f4a9"; }

.ion-ios-shuffle-strong:before {
  content: "\f4a8"; }

.ion-ios-skipbackward:before {
  content: "\f4ab"; }

.ion-ios-skipbackward-outline:before {
  content: "\f4aa"; }

.ion-ios-skipforward:before {
  content: "\f4ad"; }

.ion-ios-skipforward-outline:before {
  content: "\f4ac"; }

.ion-ios-snowy:before {
  content: "\f4ae"; }

.ion-ios-speedometer:before {
  content: "\f4b0"; }

.ion-ios-speedometer-outline:before {
  content: "\f4af"; }

.ion-ios-star:before {
  content: "\f4b3"; }

.ion-ios-star-half:before {
  content: "\f4b1"; }

.ion-ios-star-outline:before {
  content: "\f4b2"; }

.ion-ios-stopwatch:before {
  content: "\f4b5"; }

.ion-ios-stopwatch-outline:before {
  content: "\f4b4"; }

.ion-ios-sunny:before {
  content: "\f4b7"; }

.ion-ios-sunny-outline:before {
  content: "\f4b6"; }

.ion-ios-telephone:before {
  content: "\f4b9"; }

.ion-ios-telephone-outline:before {
  content: "\f4b8"; }

.ion-ios-tennisball:before {
  content: "\f4bb"; }

.ion-ios-tennisball-outline:before {
  content: "\f4ba"; }

.ion-ios-thunderstorm:before {
  content: "\f4bd"; }

.ion-ios-thunderstorm-outline:before {
  content: "\f4bc"; }

.ion-ios-time:before {
  content: "\f4bf"; }

.ion-ios-time-outline:before {
  content: "\f4be"; }

.ion-ios-timer:before {
  content: "\f4c1"; }

.ion-ios-timer-outline:before {
  content: "\f4c0"; }

.ion-ios-toggle:before {
  content: "\f4c3"; }

.ion-ios-toggle-outline:before {
  content: "\f4c2"; }

.ion-ios-trash:before {
  content: "\f4c5"; }

.ion-ios-trash-outline:before {
  content: "\f4c4"; }

.ion-ios-undo:before {
  content: "\f4c7"; }

.ion-ios-undo-outline:before {
  content: "\f4c6"; }

.ion-ios-unlocked:before {
  content: "\f4c9"; }

.ion-ios-unlocked-outline:before {
  content: "\f4c8"; }

.ion-ios-upload:before {
  content: "\f4cb"; }

.ion-ios-upload-outline:before {
  content: "\f4ca"; }

.ion-ios-videocam:before {
  content: "\f4cd"; }

.ion-ios-videocam-outline:before {
  content: "\f4cc"; }

.ion-ios-volume-high:before {
  content: "\f4ce"; }

.ion-ios-volume-low:before {
  content: "\f4cf"; }

.ion-ios-wineglass:before {
  content: "\f4d1"; }

.ion-ios-wineglass-outline:before {
  content: "\f4d0"; }

.ion-ios-world:before {
  content: "\f4d3"; }

.ion-ios-world-outline:before {
  content: "\f4d2"; }

.ion-ipad:before {
  content: "\f1f9"; }

.ion-iphone:before {
  content: "\f1fa"; }

.ion-ipod:before {
  content: "\f1fb"; }

.ion-jet:before {
  content: "\f295"; }

.ion-key:before {
  content: "\f296"; }

.ion-knife:before {
  content: "\f297"; }

.ion-laptop:before {
  content: "\f1fc"; }

.ion-leaf:before {
  content: "\f1fd"; }

.ion-levels:before {
  content: "\f298"; }

.ion-lightbulb:before {
  content: "\f299"; }

.ion-link:before {
  content: "\f1fe"; }

.ion-load-a:before {
  content: "\f29a"; }

.ion-load-b:before {
  content: "\f29b"; }

.ion-load-c:before {
  content: "\f29c"; }

.ion-load-d:before {
  content: "\f29d"; }

.ion-location:before {
  content: "\f1ff"; }

.ion-lock-combination:before {
  content: "\f4d4"; }

.ion-locked:before {
  content: "\f200"; }

.ion-log-in:before {
  content: "\f29e"; }

.ion-log-out:before {
  content: "\f29f"; }

.ion-loop:before {
  content: "\f201"; }

.ion-magnet:before {
  content: "\f2a0"; }

.ion-male:before {
  content: "\f2a1"; }

.ion-man:before {
  content: "\f202"; }

.ion-map:before {
  content: "\f203"; }

.ion-medkit:before {
  content: "\f2a2"; }

.ion-merge:before {
  content: "\f33f"; }

.ion-mic-a:before {
  content: "\f204"; }

.ion-mic-b:before {
  content: "\f205"; }

.ion-mic-c:before {
  content: "\f206"; }

.ion-minus:before {
  content: "\f209"; }

.ion-minus-circled:before {
  content: "\f207"; }

.ion-minus-round:before {
  content: "\f208"; }

.ion-model-s:before {
  content: "\f2c1"; }

.ion-monitor:before {
  content: "\f20a"; }

.ion-more:before {
  content: "\f20b"; }

.ion-mouse:before {
  content: "\f340"; }

.ion-music-note:before {
  content: "\f20c"; }

.ion-navicon:before {
  content: "\f20e"; }

.ion-navicon-round:before {
  content: "\f20d"; }

.ion-navigate:before {
  content: "\f2a3"; }

.ion-network:before {
  content: "\f341"; }

.ion-no-smoking:before {
  content: "\f2c2"; }

.ion-nuclear:before {
  content: "\f2a4"; }

.ion-outlet:before {
  content: "\f342"; }

.ion-paintbrush:before {
  content: "\f4d5"; }

.ion-paintbucket:before {
  content: "\f4d6"; }

.ion-paper-airplane:before {
  content: "\f2c3"; }

.ion-paperclip:before {
  content: "\f20f"; }

.ion-pause:before {
  content: "\f210"; }

.ion-person:before {
  content: "\f213"; }

.ion-person-add:before {
  content: "\f211"; }

.ion-person-stalker:before {
  content: "\f212"; }

.ion-pie-graph:before {
  content: "\f2a5"; }

.ion-pin:before {
  content: "\f2a6"; }

.ion-pinpoint:before {
  content: "\f2a7"; }

.ion-pizza:before {
  content: "\f2a8"; }

.ion-plane:before {
  content: "\f214"; }

.ion-planet:before {
  content: "\f343"; }

.ion-play:before {
  content: "\f215"; }

.ion-playstation:before {
  content: "\f30a"; }

.ion-plus:before {
  content: "\f218"; }

.ion-plus-circled:before {
  content: "\f216"; }

.ion-plus-round:before {
  content: "\f217"; }

.ion-podium:before {
  content: "\f344"; }

.ion-pound:before {
  content: "\f219"; }

.ion-power:before {
  content: "\f2a9"; }

.ion-pricetag:before {
  content: "\f2aa"; }

.ion-pricetags:before {
  content: "\f2ab"; }

.ion-printer:before {
  content: "\f21a"; }

.ion-pull-request:before {
  content: "\f345"; }

.ion-qr-scanner:before {
  content: "\f346"; }

.ion-quote:before {
  content: "\f347"; }

.ion-radio-waves:before {
  content: "\f2ac"; }

.ion-record:before {
  content: "\f21b"; }

.ion-refresh:before {
  content: "\f21c"; }

.ion-reply:before {
  content: "\f21e"; }

.ion-reply-all:before {
  content: "\f21d"; }

.ion-ribbon-a:before {
  content: "\f348"; }

.ion-ribbon-b:before {
  content: "\f349"; }

.ion-sad:before {
  content: "\f34a"; }

.ion-sad-outline:before {
  content: "\f4d7"; }

.ion-scissors:before {
  content: "\f34b"; }

.ion-search:before {
  content: "\f21f"; }

.ion-settings:before {
  content: "\f2ad"; }

.ion-share:before {
  content: "\f220"; }

.ion-shuffle:before {
  content: "\f221"; }

.ion-skip-backward:before {
  content: "\f222"; }

.ion-skip-forward:before {
  content: "\f223"; }

.ion-social-android:before {
  content: "\f225"; }

.ion-social-android-outline:before {
  content: "\f224"; }

.ion-social-angular:before {
  content: "\f4d9"; }

.ion-social-angular-outline:before {
  content: "\f4d8"; }

.ion-social-apple:before {
  content: "\f227"; }

.ion-social-apple-outline:before {
  content: "\f226"; }

.ion-social-bitcoin:before {
  content: "\f2af"; }

.ion-social-bitcoin-outline:before {
  content: "\f2ae"; }

.ion-social-buffer:before {
  content: "\f229"; }

.ion-social-buffer-outline:before {
  content: "\f228"; }

.ion-social-chrome:before {
  content: "\f4db"; }

.ion-social-chrome-outline:before {
  content: "\f4da"; }

.ion-social-codepen:before {
  content: "\f4dd"; }

.ion-social-codepen-outline:before {
  content: "\f4dc"; }

.ion-social-css3:before {
  content: "\f4df"; }

.ion-social-css3-outline:before {
  content: "\f4de"; }

.ion-social-designernews:before {
  content: "\f22b"; }

.ion-social-designernews-outline:before {
  content: "\f22a"; }

.ion-social-dribbble:before {
  content: "\f22d"; }

.ion-social-dribbble-outline:before {
  content: "\f22c"; }

.ion-social-dropbox:before {
  content: "\f22f"; }

.ion-social-dropbox-outline:before {
  content: "\f22e"; }

.ion-social-euro:before {
  content: "\f4e1"; }

.ion-social-euro-outline:before {
  content: "\f4e0"; }

.ion-social-facebook:before {
  content: "\f231"; }

.ion-social-facebook-outline:before {
  content: "\f230"; }

.ion-social-foursquare:before {
  content: "\f34d"; }

.ion-social-foursquare-outline:before {
  content: "\f34c"; }

.ion-social-freebsd-devil:before {
  content: "\f2c4"; }

.ion-social-github:before {
  content: "\f233"; }

.ion-social-github-outline:before {
  content: "\f232"; }

.ion-social-google:before {
  content: "\f34f"; }

.ion-social-google-outline:before {
  content: "\f34e"; }

.ion-social-googleplus:before {
  content: "\f235"; }

.ion-social-googleplus-outline:before {
  content: "\f234"; }

.ion-social-hackernews:before {
  content: "\f237"; }

.ion-social-hackernews-outline:before {
  content: "\f236"; }

.ion-social-html5:before {
  content: "\f4e3"; }

.ion-social-html5-outline:before {
  content: "\f4e2"; }

.ion-social-instagram:before {
  content: "\f351"; }

.ion-social-instagram-outline:before {
  content: "\f350"; }

.ion-social-javascript:before {
  content: "\f4e5"; }

.ion-social-javascript-outline:before {
  content: "\f4e4"; }

.ion-social-linkedin:before {
  content: "\f239"; }

.ion-social-linkedin-outline:before {
  content: "\f238"; }

.ion-social-markdown:before {
  content: "\f4e6"; }

.ion-social-nodejs:before {
  content: "\f4e7"; }

.ion-social-octocat:before {
  content: "\f4e8"; }

.ion-social-pinterest:before {
  content: "\f2b1"; }

.ion-social-pinterest-outline:before {
  content: "\f2b0"; }

.ion-social-python:before {
  content: "\f4e9"; }

.ion-social-reddit:before {
  content: "\f23b"; }

.ion-social-reddit-outline:before {
  content: "\f23a"; }

.ion-social-rss:before {
  content: "\f23d"; }

.ion-social-rss-outline:before {
  content: "\f23c"; }

.ion-social-sass:before {
  content: "\f4ea"; }

.ion-social-skype:before {
  content: "\f23f"; }

.ion-social-skype-outline:before {
  content: "\f23e"; }

.ion-social-snapchat:before {
  content: "\f4ec"; }

.ion-social-snapchat-outline:before {
  content: "\f4eb"; }

.ion-social-tumblr:before {
  content: "\f241"; }

.ion-social-tumblr-outline:before {
  content: "\f240"; }

.ion-social-tux:before {
  content: "\f2c5"; }

.ion-social-twitch:before {
  content: "\f4ee"; }

.ion-social-twitch-outline:before {
  content: "\f4ed"; }

.ion-social-twitter:before {
  content: "\f243"; }

.ion-social-twitter-outline:before {
  content: "\f242"; }

.ion-social-usd:before {
  content: "\f353"; }

.ion-social-usd-outline:before {
  content: "\f352"; }

.ion-social-vimeo:before {
  content: "\f245"; }

.ion-social-vimeo-outline:before {
  content: "\f244"; }

.ion-social-whatsapp:before {
  content: "\f4f0"; }

.ion-social-whatsapp-outline:before {
  content: "\f4ef"; }

.ion-social-windows:before {
  content: "\f247"; }

.ion-social-windows-outline:before {
  content: "\f246"; }

.ion-social-wordpress:before {
  content: "\f249"; }

.ion-social-wordpress-outline:before {
  content: "\f248"; }

.ion-social-yahoo:before {
  content: "\f24b"; }

.ion-social-yahoo-outline:before {
  content: "\f24a"; }

.ion-social-yen:before {
  content: "\f4f2"; }

.ion-social-yen-outline:before {
  content: "\f4f1"; }

.ion-social-youtube:before {
  content: "\f24d"; }

.ion-social-youtube-outline:before {
  content: "\f24c"; }

.ion-soup-can:before {
  content: "\f4f4"; }

.ion-soup-can-outline:before {
  content: "\f4f3"; }

.ion-speakerphone:before {
  content: "\f2b2"; }

.ion-speedometer:before {
  content: "\f2b3"; }

.ion-spoon:before {
  content: "\f2b4"; }

.ion-star:before {
  content: "\f24e"; }

.ion-stats-bars:before {
  content: "\f2b5"; }

.ion-steam:before {
  content: "\f30b"; }

.ion-stop:before {
  content: "\f24f"; }

.ion-thermometer:before {
  content: "\f2b6"; }

.ion-thumbsdown:before {
  content: "\f250"; }

.ion-thumbsup:before {
  content: "\f251"; }

.ion-toggle:before {
  content: "\f355"; }

.ion-toggle-filled:before {
  content: "\f354"; }

.ion-transgender:before {
  content: "\f4f5"; }

.ion-trash-a:before {
  content: "\f252"; }

.ion-trash-b:before {
  content: "\f253"; }

.ion-trophy:before {
  content: "\f356"; }

.ion-tshirt:before {
  content: "\f4f7"; }

.ion-tshirt-outline:before {
  content: "\f4f6"; }

.ion-umbrella:before {
  content: "\f2b7"; }

.ion-university:before {
  content: "\f357"; }

.ion-unlocked:before {
  content: "\f254"; }

.ion-upload:before {
  content: "\f255"; }

.ion-usb:before {
  content: "\f2b8"; }

.ion-videocamera:before {
  content: "\f256"; }

.ion-volume-high:before {
  content: "\f257"; }

.ion-volume-low:before {
  content: "\f258"; }

.ion-volume-medium:before {
  content: "\f259"; }

.ion-volume-mute:before {
  content: "\f25a"; }

.ion-wand:before {
  content: "\f358"; }

.ion-waterdrop:before {
  content: "\f25b"; }

.ion-wifi:before {
  content: "\f25c"; }

.ion-wineglass:before {
  content: "\f2b9"; }

.ion-woman:before {
  content: "\f25d"; }

.ion-wrench:before {
  content: "\f2ba"; }

.ion-xbox:before {
  content: "\f30c"; }

/**
 * Resets
 * --------------------------------------------------
 * Adapted from normalize.css and some reset.css. We don't care even one
 * bit about old IE, so we don't need any hacks for that in here.
 *
 * There are probably other things we could remove here, as well.
 *
 * normalize.css v2.1.2 | MIT License | git.io/normalize

 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, u, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, fieldset, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font: inherit;
  font-size: 100%; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden], template {
  display: none; }

script {
  display: none !important; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *  user zoom.
 */
html {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0;
  line-height: 1; }

/**
 * Remove default outlines.
 */
a, button, :focus, a:focus, button:focus, a:active, a:hover {
  outline: 0; }

/* *
 * Remove tap highlight color
 */
a {
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent; }
  a[href]:hover {
    cursor: pointer; }

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b, strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code, kbd, pre, samp {
  font-size: 1em;
  font-family: monospace, serif; }

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap; }

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
  border: 1px solid #c0c0c0; }

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  padding: 0;
  /* 2 */
  border: 0;
  /* 1 */ }

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 * 4. Remove any default :focus styles
 * 5. Make sure webkit font smoothing is being inherited
 * 6. Remove default gradient in Android Firefox / FirefoxOS
 */
button, input, select, textarea {
  margin: 0;
  /* 3 */
  font-size: 100%;
  /* 2 */
  font-family: inherit;
  /* 1 */
  outline-offset: 0;
  /* 4 */
  outline-style: none;
  /* 4 */
  outline-width: 0;
  /* 4 */
  -webkit-font-smoothing: inherit;
  /* 5 */
  background-image: none;
  /* 6 */ }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `importnt` in
 * the UA stylesheet.
 */
button, input {
  line-height: normal; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button, select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  /* 3 */
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
  cursor: default; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *  (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-box-sizing: content-box;
  /* 2 */
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield;
  /* 1 */ }

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0; }

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */ }

img {
  -webkit-user-drag: none; }

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-spacing: 0;
  border-collapse: collapse; }

/**
 * Scaffolding
 * --------------------------------------------------
 */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html {
  overflow: hidden;
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

body, .ionic-body {
  -webkit-touch-callout: none;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  color: #000;
  word-wrap: break-word;
  font-size: 14px;
  font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif;
  line-height: 20px;
  text-rendering: optimizeLegibility;
  -webkit-backface-visibility: hidden;
  -webkit-user-drag: none;
  -ms-content-zooming: none; }

body.grade-b, body.grade-c {
  text-rendering: auto; }

.content {
  position: relative; }

.scroll-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  margin-top: -1px;
  padding-top: 1px;
  margin-bottom: -1px;
  width: auto;
  height: auto; }

.menu .scroll-content.scroll-content-false {
  z-index: 11; }

.scroll-view {
  position: relative;
  display: block;
  overflow: hidden;
  margin-top: -1px; }

/**
 * Scroll is the scroll view component available for complex and custom
 * scroll view functionality.
 */
.scroll {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-transform-origin: left top;
  transform-origin: left top; }

/**
 * Set ms-viewport to prevent MS "page squish" and allow fluid scrolling
 * https://msdn.microsoft.com/en-us/library/ie/hh869615(v=vs.85).aspx
 */
@-ms-viewport {
  width: device-width; }

.scroll-bar {
  position: absolute;
  z-index: 9999; }

.ng-animate .scroll-bar {
  visibility: hidden; }

.scroll-bar-h {
  right: 2px;
  bottom: 3px;
  left: 2px;
  height: 3px; }
  .scroll-bar-h .scroll-bar-indicator {
    height: 100%; }

.scroll-bar-v {
  top: 2px;
  right: 3px;
  bottom: 2px;
  width: 3px; }
  .scroll-bar-v .scroll-bar-indicator {
    width: 100%; }

.scroll-bar-indicator {
  position: absolute;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.3);
  opacity: 1;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear; }
  .scroll-bar-indicator.scroll-bar-fade-out {
    opacity: 0; }

.platform-android .scroll-bar-indicator {
  border-radius: 0; }

.grade-b .scroll-bar-indicator, .grade-c .scroll-bar-indicator {
  background: #aaa; }
  .grade-b .scroll-bar-indicator.scroll-bar-fade-out, .grade-c .scroll-bar-indicator.scroll-bar-fade-out {
    -webkit-transition: none;
    transition: none; }

ion-infinite-scroll {
  height: 60px;
  width: 100%;
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center; }
  ion-infinite-scroll .icon {
    color: #666666;
    font-size: 30px;
    color: #666666; }
  ion-infinite-scroll .icon:before, ion-infinite-scroll .spinner {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  ion-infinite-scroll:not(.active) .spinner, ion-infinite-scroll:not(.active) .icon:before {
    -webkit-transform: translate3d(-1000px, 0, 0);
    transform: translate3d(-1000px, 0, 0); }

.overflow-scroll {
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute; }
  .overflow-scroll .scroll {
    position: static;
    height: 100%;
    -webkit-transform: translate3d(0, 0, 0); }

/* If you change these, change platform.scss as well */
.has-header {
  top: 44px; }

.no-header {
  top: 0; }

.has-subheader {
  top: 88px; }

.has-tabs-top {
  top: 93px; }

.has-header.has-subheader.has-tabs-top {
  top: 137px; }

.has-footer {
  bottom: 44px; }

.has-subfooter {
  bottom: 88px; }

.has-tabs, .bar-footer.has-tabs {
  bottom: 49px; }
  .has-tabs.pane, .bar-footer.has-tabs.pane {
    bottom: 49px;
    height: auto; }

.has-footer.has-tabs {
  bottom: 93px; }

.pane {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-duration: 0;
  transition-duration: 0;
  z-index: 1; }

.view {
  z-index: 1; }

.pane, .view {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  overflow: hidden; }

.view-container {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%; }

/**
 * Typography
 * --------------------------------------------------
 */
p {
  margin: 0 0 10px; }

small {
  font-size: 85%; }

cite {
  font-style: normal; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: #000;
  font-weight: 500;
  font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif;
  line-height: 1.2; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small {
    font-weight: normal;
    line-height: 1; }

h1, .h1, h2, .h2, h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px; }
  h1:first-child, .h1:first-child, h2:first-child, .h2:first-child, h3:first-child, .h3:first-child {
    margin-top: 0; }
  h1 + h1, h1 + .h1, h1 + h2, h1 + .h2, h1 + h3, h1 + .h3, .h1 + h1, .h1 + .h1, .h1 + h2, .h1 + .h2, .h1 + h3, .h1 + .h3, h2 + h1, h2 + .h1, h2 + h2, h2 + .h2, h2 + h3, h2 + .h3, .h2 + h1, .h2 + .h1, .h2 + h2, .h2 + .h2, .h2 + h3, .h2 + .h3, h3 + h1, h3 + .h1, h3 + h2, h3 + .h2, h3 + h3, h3 + .h3, .h3 + h1, .h3 + .h1, .h3 + h2, .h3 + .h2, .h3 + h3, .h3 + .h3 {
    margin-top: 10px; }

h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 10px;
  margin-bottom: 10px; }

h1, .h1 {
  font-size: 36px; }

h2, .h2 {
  font-size: 30px; }

h3, .h3 {
  font-size: 24px; }

h4, .h4 {
  font-size: 18px; }

h5, .h5 {
  font-size: 14px; }

h6, .h6 {
  font-size: 12px; }

h1 small, .h1 small {
  font-size: 24px; }

h2 small, .h2 small {
  font-size: 18px; }

h3 small, .h3 small, h4 small, .h4 small {
  font-size: 14px; }

dl {
  margin-bottom: 20px; }

dt, dd {
  line-height: 1.42857; }

dt {
  font-weight: bold; }

blockquote {
  margin: 0 0 20px;
  padding: 10px 20px;
  border-left: 5px solid gray; }
  blockquote p {
    font-weight: 300;
    font-size: 17.5px;
    line-height: 1.25; }
  blockquote p:last-child {
    margin-bottom: 0; }
  blockquote small {
    display: block;
    line-height: 1.42857; }
    blockquote small:before {
      content: '\2014 \00A0'; }

q:before, q:after, blockquote:before, blockquote:after {
  content: ""; }

address {
  display: block;
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.42857; }

a.subdued {
  padding-right: 10px;
  color: #888;
  text-decoration: none; }
  a.subdued:hover {
    text-decoration: none; }
  a.subdued:last-child {
    padding-right: 0; }

/**
 * Action Sheets
 * --------------------------------------------------
 */
.action-sheet-backdrop {
  -webkit-transition: background-color 150ms ease-in-out;
  transition: background-color 150ms ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  background-color: transparent; }
  .action-sheet-backdrop.active {
    background-color: rgba(0, 0, 0, 0.4); }

.action-sheet-wrapper {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: all cubic-bezier(.36, .66, .04, 1) 500ms;
  transition: all cubic-bezier(.36, .66, .04, 1) 500ms;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 500px;
  margin: auto; }

.action-sheet-up {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.action-sheet {
  margin-left: 8px;
  margin-right: 8px;
  width: auto;
  z-index: 11;
  overflow: hidden; }
  .action-sheet .button {
    display: block;
    padding: 1px;
    width: 100%;
    border-radius: 0;
    border-color: #d1d3d6;
    background-color: transparent;
    color: #007aff;
    font-size: 21px; }
    .action-sheet .button:hover {
      color: #007aff; }
    .action-sheet .button.destructive {
      color: #ff3b30; }
      .action-sheet .button.destructive:hover {
        color: #ff3b30; }
  .action-sheet .button.active, .action-sheet .button.activated {
    box-shadow: none;
    border-color: #d1d3d6;
    color: #007aff;
    background: #e4e5e7; }

.action-sheet-has-icons .icon {
  position: absolute;
  left: 16px; }

.action-sheet-title {
  padding: 16px;
  color: #8f8f8f;
  text-align: center;
  font-size: 13px; }

.action-sheet-group {
  margin-bottom: 8px;
  border-radius: 4px;
  background-color: #fff;
  overflow: hidden; }
  .action-sheet-group .button {
    border-width: 1px 0px 0px 0px; }
  .action-sheet-group .button:first-child:last-child {
    border-width: 0; }

.action-sheet-options {
  background: #f1f2f3; }

.action-sheet-cancel .button {
  font-weight: 500; }

.action-sheet-open {
  pointer-events: none; }
  .action-sheet-open.modal-open .modal {
    pointer-events: none; }
  .action-sheet-open .action-sheet-backdrop {
    pointer-events: auto; }

.platform-android .action-sheet-backdrop.active {
  background-color: rgba(0, 0, 0, 0.2); }
.platform-android .action-sheet {
  margin: 0; }
  .platform-android .action-sheet .action-sheet-title, .platform-android .action-sheet .button {
    text-align: left;
    border-color: transparent;
    font-size: 16px;
    color: inherit; }
  .platform-android .action-sheet .action-sheet-title {
    font-size: 14px;
    padding: 16px;
    color: #666; }
  .platform-android .action-sheet .button.active, .platform-android .action-sheet .button.activated {
    background: #e8e8e8; }
.platform-android .action-sheet-group {
  margin: 0;
  border-radius: 0;
  background-color: #fafafa; }
.platform-android .action-sheet-cancel {
  display: none; }
.platform-android .action-sheet-has-icons .button {
  padding-left: 56px; }

.backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.1s opacity linear;
  transition: 0.1s opacity linear; }
  .backdrop.visible {
    visibility: visible; }
  .backdrop.active {
    opacity: 1; }

/**
 * Bar (Headers and Footers)
 * --------------------------------------------------
 */
.bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: absolute;
  right: 0;
  left: 0;
  z-index: 9;
  box-sizing: border-box;
  padding: 5px;
  width: 100%;
  height: 44px;
  border-width: 0;
  border-style: solid;
  border-top: 1px solid transparent;
  border-bottom: 1px solid #ddd;
  background-color: white;
  /* border-width: 1px will actually create 2 device pixels on retina */
  /* this nifty trick sets an actual 1px border on hi-res displays */
  background-size: 0; }
  @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) {
    .bar {
      border: none;
      background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%);
      background-position: bottom;
      background-size: 100% 1px;
      background-repeat: no-repeat; } }
  .bar.bar-clear {
    border: none;
    background: none;
    color: #fff; }
    .bar.bar-clear .button {
      color: #fff; }
    .bar.bar-clear .title {
      color: #fff; }
  .bar.item-input-inset .item-input-wrapper {
    margin-top: -1px; }
    .bar.item-input-inset .item-input-wrapper input {
      padding-left: 8px;
      width: 94%;
      height: 28px;
      background: transparent; }
  .bar.bar-light {
    border-color: #ddd;
    background-color: white;
    background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%);
    color: #444; }
    .bar.bar-light .title {
      color: #444; }
    .bar.bar-light.bar-footer {
      background-image: linear-gradient(180deg, #ddd, #ddd 50%, transparent 50%); }
  .bar.bar-stable {
    border-color: #b2b2b2;
    background-color: #f8f8f8;
    background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%);
    color: #444; }
    .bar.bar-stable .title {
      color: #444; }
    .bar.bar-stable.bar-footer {
      background-image: linear-gradient(180deg, #b2b2b2, #b2b2b2 50%, transparent 50%); }
  .bar.bar-positive {
    border-color: #0c60ee;
    background-color: #387ef5;
    background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%);
    color: #fff; }
    .bar.bar-positive .title {
      color: #fff; }
    .bar.bar-positive.bar-footer {
      background-image: linear-gradient(180deg, #0c60ee, #0c60ee 50%, transparent 50%); }
  .bar.bar-calm {
    border-color: #0a9dc7;
    background-color: #11c1f3;
    background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%);
    color: #fff; }
    .bar.bar-calm .title {
      color: #fff; }
    .bar.bar-calm.bar-footer {
      background-image: linear-gradient(180deg, #0a9dc7, #0a9dc7 50%, transparent 50%); }
  .bar.bar-assertive {
    border-color: #e42112;
    background-color: #ef473a;
    background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%);
    color: #fff; }
    .bar.bar-assertive .title {
      color: #fff; }
    .bar.bar-assertive.bar-footer {
      background-image: linear-gradient(180deg, #e42112, #e42112 50%, transparent 50%); }
  .bar.bar-balanced {
    border-color: #28a54c;
    background-color: #33cd5f;
    background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%);
    color: #fff; }
    .bar.bar-balanced .title {
      color: #fff; }
    .bar.bar-balanced.bar-footer {
      background-image: linear-gradient(180deg, #28a54c, #0c60ee 50%, transparent 50%); }
  .bar.bar-energized {
    border-color: #e6b500;
    background-color: #ffc900;
    background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%);
    color: #fff; }
    .bar.bar-energized .title {
      color: #fff; }
    .bar.bar-energized.bar-footer {
      background-image: linear-gradient(180deg, #e6b500, #e6b500 50%, transparent 50%); }
  .bar.bar-royal {
    border-color: #6b46e5;
    background-color: #886aea;
    background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%);
    color: #fff; }
    .bar.bar-royal .title {
      color: #fff; }
    .bar.bar-royal.bar-footer {
      background-image: linear-gradient(180deg, #6b46e5, #6b46e5 50%, transparent 50%); }
  .bar.bar-dark {
    border-color: #111;
    background-color: #444444;
    background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%);
    color: #fff; }
    .bar.bar-dark .title {
      color: #fff; }
    .bar.bar-dark.bar-footer {
      background-image: linear-gradient(180deg, #111, #111 50%, transparent 50%); }
  .bar .title {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 0;
    overflow: hidden;
    margin: 0 10px;
    min-width: 30px;
    height: 43px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 17px;
    font-weight: 500;
    line-height: 44px; }
    .bar .title.title-left {
      text-align: left; }
    .bar .title.title-right {
      text-align: right; }
  .bar .title a {
    color: inherit; }
  .bar .button {
    z-index: 1;
    padding: 0 8px;
    min-width: initial;
    min-height: 31px;
    font-weight: 400;
    font-size: 13px;
    line-height: 32px; }
    .bar .button.button-icon:before, .bar .button .icon:before, .bar .button.icon:before, .bar .button.icon-left:before, .bar .button.icon-right:before {
      padding-right: 2px;
      padding-left: 2px;
      font-size: 20px;
      line-height: 32px; }
    .bar .button.button-icon {
      font-size: 17px; }
      .bar .button.button-icon .icon:before, .bar .button.button-icon:before, .bar .button.button-icon.icon-left:before, .bar .button.button-icon.icon-right:before {
        vertical-align: top;
        font-size: 32px;
        line-height: 32px; }
    .bar .button.button-clear {
      padding-right: 2px;
      padding-left: 2px;
      font-weight: 300;
      font-size: 17px; }
      .bar .button.button-clear .icon:before, .bar .button.button-clear.icon:before, .bar .button.button-clear.icon-left:before, .bar .button.button-clear.icon-right:before {
        font-size: 32px;
        line-height: 32px; }
    .bar .button.back-button {
      display: block;
      margin-right: 5px;
      padding: 0;
      white-space: nowrap;
      font-weight: 400; }
    .bar .button.back-button.active, .bar .button.back-button.activated {
      opacity: 0.2; }
  .bar .button-bar > .button, .bar .buttons > .button {
    min-height: 31px;
    line-height: 32px; }
  .bar .button-bar + .button, .bar .button + .button-bar {
    margin-left: 5px; }
  .bar .buttons, .bar .buttons.primary-buttons, .bar .buttons.secondary-buttons {
    display: inherit; }
  .bar .buttons span {
    display: inline-block; }
  .bar .buttons-left span {
    margin-right: 5px;
    display: inherit; }
  .bar .buttons-right span {
    margin-left: 5px;
    display: inherit; }
  .bar .title + .button:last-child, .bar > .button + .button:last-child, .bar > .button.pull-right, .bar .buttons.pull-right, .bar .title + .buttons {
    position: absolute;
    top: 5px;
    right: 5px;
    bottom: 5px; }

.platform-android .nav-bar-has-subheader .bar {
  background-image: none; }
.platform-android .bar .back-button .icon:before {
  font-size: 24px; }
.platform-android .bar .title {
  font-size: 19px;
  line-height: 44px; }

.bar-light .button {
  border-color: #ddd;
  background-color: white;
  color: #444; }
  .bar-light .button:hover {
    color: #444;
    text-decoration: none; }
  .bar-light .button.active, .bar-light .button.activated {
    border-color: #ccc;
    background-color: #fafafa;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-light .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #444;
    font-size: 17px; }
  .bar-light .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-stable .button {
  border-color: #b2b2b2;
  background-color: #f8f8f8;
  color: #444; }
  .bar-stable .button:hover {
    color: #444;
    text-decoration: none; }
  .bar-stable .button.active, .bar-stable .button.activated {
    border-color: #a2a2a2;
    background-color: #e5e5e5;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-stable .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #444;
    font-size: 17px; }
  .bar-stable .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-positive .button {
  border-color: #0c60ee;
  background-color: #387ef5;
  color: #fff; }
  .bar-positive .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-positive .button.active, .bar-positive .button.activated {
    border-color: #0c60ee;
    background-color: #0c60ee;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-positive .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-positive .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-calm .button {
  border-color: #0a9dc7;
  background-color: #11c1f3;
  color: #fff; }
  .bar-calm .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-calm .button.active, .bar-calm .button.activated {
    border-color: #0a9dc7;
    background-color: #0a9dc7;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-calm .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-calm .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-assertive .button {
  border-color: #e42112;
  background-color: #ef473a;
  color: #fff; }
  .bar-assertive .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-assertive .button.active, .bar-assertive .button.activated {
    border-color: #e42112;
    background-color: #e42112;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-assertive .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-assertive .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-balanced .button {
  border-color: #28a54c;
  background-color: #33cd5f;
  color: #fff; }
  .bar-balanced .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-balanced .button.active, .bar-balanced .button.activated {
    border-color: #28a54c;
    background-color: #28a54c;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-balanced .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-balanced .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-energized .button {
  border-color: #e6b500;
  background-color: #ffc900;
  color: #fff; }
  .bar-energized .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-energized .button.active, .bar-energized .button.activated {
    border-color: #e6b500;
    background-color: #e6b500;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-energized .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-energized .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-royal .button {
  border-color: #6b46e5;
  background-color: #886aea;
  color: #fff; }
  .bar-royal .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-royal .button.active, .bar-royal .button.activated {
    border-color: #6b46e5;
    background-color: #6b46e5;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-royal .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-royal .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-dark .button {
  border-color: #111;
  background-color: #444444;
  color: #fff; }
  .bar-dark .button:hover {
    color: #fff;
    text-decoration: none; }
  .bar-dark .button.active, .bar-dark .button.activated {
    border-color: #000;
    background-color: #262626;
    box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1); }
  .bar-dark .button.button-clear {
    border-color: transparent;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: 17px; }
  .bar-dark .button.button-icon {
    border-color: transparent;
    background: none; }

.bar-header {
  top: 0;
  border-top-width: 0;
  border-bottom-width: 1px; }
  .bar-header.has-tabs-top {
    border-bottom-width: 0px;
    background-image: none; }

.tabs-top .bar-header {
  border-bottom-width: 0px;
  background-image: none; }

.bar-footer {
  bottom: 0;
  border-top-width: 1px;
  border-bottom-width: 0;
  background-position: top;
  height: 44px; }
  .bar-footer.item-input-inset {
    position: absolute; }

.bar-tabs {
  padding: 0; }

.bar-subheader {
  top: 44px;
  display: block;
  height: 44px; }

.bar-subfooter {
  bottom: 44px;
  display: block;
  height: 44px; }

.nav-bar-block {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9; }

.bar .back-button.hide, .bar .buttons .hide {
  display: none; }

.nav-bar-tabs-top .bar {
  background-image: none; }

/**
 * Tabs
 * --------------------------------------------------
 * A navigation bar with any number of tab items supported.
 */
.tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: horizontal;
  -moz-flex-direction: horizontal;
  -ms-flex-direction: horizontal;
  flex-direction: horizontal;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  border-color: #b2b2b2;
  background-color: #f8f8f8;
  background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%);
  color: #444;
  position: absolute;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 49px;
  border-style: solid;
  border-top-width: 1px;
  background-size: 0;
  line-height: 49px; }
  .tabs .tab-item .badge {
    background-color: #444;
    color: #f8f8f8; }
  @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) {
    .tabs {
      padding-top: 2px;
      border-top: none !important;
      border-bottom: none;
      background-position: top;
      background-size: 100% 1px;
      background-repeat: no-repeat; } }

/* Allow parent element of tabs to define color, or just the tab itself */
.tabs-light > .tabs, .tabs.tabs-light {
  border-color: #ddd;
  background-color: #fff;
  background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%);
  color: #444; }
  .tabs-light > .tabs .tab-item .badge, .tabs.tabs-light .tab-item .badge {
    background-color: #444;
    color: #fff; }

.tabs-stable > .tabs, .tabs.tabs-stable {
  border-color: #b2b2b2;
  background-color: #f8f8f8;
  background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%);
  color: #444; }
  .tabs-stable > .tabs .tab-item .badge, .tabs.tabs-stable .tab-item .badge {
    background-color: #444;
    color: #f8f8f8; }

.tabs-positive > .tabs, .tabs.tabs-positive {
  border-color: #0c60ee;
  background-color: #387ef5;
  background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%);
  color: #fff; }
  .tabs-positive > .tabs .tab-item .badge, .tabs.tabs-positive .tab-item .badge {
    background-color: #fff;
    color: #387ef5; }

.tabs-calm > .tabs, .tabs.tabs-calm {
  border-color: #0a9dc7;
  background-color: #11c1f3;
  background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%);
  color: #fff; }
  .tabs-calm > .tabs .tab-item .badge, .tabs.tabs-calm .tab-item .badge {
    background-color: #fff;
    color: #11c1f3; }

.tabs-assertive > .tabs, .tabs.tabs-assertive {
  border-color: #e42112;
  background-color: #ef473a;
  background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%);
  color: #fff; }
  .tabs-assertive > .tabs .tab-item .badge, .tabs.tabs-assertive .tab-item .badge {
    background-color: #fff;
    color: #ef473a; }

.tabs-balanced > .tabs, .tabs.tabs-balanced {
  border-color: #28a54c;
  background-color: #33cd5f;
  background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%);
  color: #fff; }
  .tabs-balanced > .tabs .tab-item .badge, .tabs.tabs-balanced .tab-item .badge {
    background-color: #fff;
    color: #33cd5f; }

.tabs-energized > .tabs, .tabs.tabs-energized {
  border-color: #e6b500;
  background-color: #ffc900;
  background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%);
  color: #fff; }
  .tabs-energized > .tabs .tab-item .badge, .tabs.tabs-energized .tab-item .badge {
    background-color: #fff;
    color: #ffc900; }

.tabs-royal > .tabs, .tabs.tabs-royal {
  border-color: #6b46e5;
  background-color: #886aea;
  background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%);
  color: #fff; }
  .tabs-royal > .tabs .tab-item .badge, .tabs.tabs-royal .tab-item .badge {
    background-color: #fff;
    color: #886aea; }

.tabs-dark > .tabs, .tabs.tabs-dark {
  border-color: #111;
  background-color: #444;
  background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%);
  color: #fff; }
  .tabs-dark > .tabs .tab-item .badge, .tabs.tabs-dark .tab-item .badge {
    background-color: #fff;
    color: #444; }

.tabs-striped .tabs {
  background-color: white;
  background-image: none;
  border: none;
  border-bottom: 1px solid #ddd;
  padding-top: 2px; }
.tabs-striped .tab-item.tab-item-active, .tabs-striped .tab-item.active, .tabs-striped .tab-item.activated {
  margin-top: -2px;
  border-style: solid;
  border-width: 2px 0 0 0;
  border-color: #444; }
  .tabs-striped .tab-item.tab-item-active .badge, .tabs-striped .tab-item.active .badge, .tabs-striped .tab-item.activated .badge {
    top: 2px;
    opacity: 1; }
.tabs-striped.tabs-light .tabs {
  background-color: #fff; }
.tabs-striped.tabs-light .tab-item {
  color: rgba(68, 68, 68, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-light .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-light .tab-item.tab-item-active, .tabs-striped.tabs-light .tab-item.active, .tabs-striped.tabs-light .tab-item.activated {
    margin-top: -2px;
    color: #444;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #444; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-stable .tabs {
  background-color: #f8f8f8; }
.tabs-striped.tabs-stable .tab-item {
  color: rgba(68, 68, 68, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-stable .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-stable .tab-item.tab-item-active, .tabs-striped.tabs-stable .tab-item.active, .tabs-striped.tabs-stable .tab-item.activated {
    margin-top: -2px;
    color: #444;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #444; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-positive .tabs {
  background-color: #387ef5; }
.tabs-striped.tabs-positive .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-positive .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-positive .tab-item.tab-item-active, .tabs-striped.tabs-positive .tab-item.active, .tabs-striped.tabs-positive .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-calm .tabs {
  background-color: #11c1f3; }
.tabs-striped.tabs-calm .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-calm .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-calm .tab-item.tab-item-active, .tabs-striped.tabs-calm .tab-item.active, .tabs-striped.tabs-calm .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-assertive .tabs {
  background-color: #ef473a; }
.tabs-striped.tabs-assertive .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-assertive .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-assertive .tab-item.tab-item-active, .tabs-striped.tabs-assertive .tab-item.active, .tabs-striped.tabs-assertive .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-balanced .tabs {
  background-color: #33cd5f; }
.tabs-striped.tabs-balanced .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-balanced .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-balanced .tab-item.tab-item-active, .tabs-striped.tabs-balanced .tab-item.active, .tabs-striped.tabs-balanced .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-energized .tabs {
  background-color: #ffc900; }
.tabs-striped.tabs-energized .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-energized .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-energized .tab-item.tab-item-active, .tabs-striped.tabs-energized .tab-item.active, .tabs-striped.tabs-energized .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-royal .tabs {
  background-color: #886aea; }
.tabs-striped.tabs-royal .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-royal .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-royal .tab-item.tab-item-active, .tabs-striped.tabs-royal .tab-item.active, .tabs-striped.tabs-royal .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-dark .tabs {
  background-color: #444; }
.tabs-striped.tabs-dark .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-dark .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-dark .tab-item.tab-item-active, .tabs-striped.tabs-dark .tab-item.active, .tabs-striped.tabs-dark .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border-style: solid;
    border-width: 2px 0 0 0;
    border-color: #fff; }
.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge {
  top: 4%; }
.tabs-striped.tabs-background-light .tabs {
  background-color: #fff;
  background-image: none; }
.tabs-striped.tabs-background-stable .tabs {
  background-color: #f8f8f8;
  background-image: none; }
.tabs-striped.tabs-background-positive .tabs {
  background-color: #387ef5;
  background-image: none; }
.tabs-striped.tabs-background-calm .tabs {
  background-color: #11c1f3;
  background-image: none; }
.tabs-striped.tabs-background-assertive .tabs {
  background-color: #ef473a;
  background-image: none; }
.tabs-striped.tabs-background-balanced .tabs {
  background-color: #33cd5f;
  background-image: none; }
.tabs-striped.tabs-background-energized .tabs {
  background-color: #ffc900;
  background-image: none; }
.tabs-striped.tabs-background-royal .tabs {
  background-color: #886aea;
  background-image: none; }
.tabs-striped.tabs-background-dark .tabs {
  background-color: #444;
  background-image: none; }
.tabs-striped.tabs-color-light .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-light .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-light .tab-item.tab-item-active, .tabs-striped.tabs-color-light .tab-item.active, .tabs-striped.tabs-color-light .tab-item.activated {
    margin-top: -2px;
    color: #fff;
    border: 0 solid #fff;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-light .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-light .tab-item.active .badge, .tabs-striped.tabs-color-light .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-stable .tab-item {
  color: rgba(248, 248, 248, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-stable .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-stable .tab-item.tab-item-active, .tabs-striped.tabs-color-stable .tab-item.active, .tabs-striped.tabs-color-stable .tab-item.activated {
    margin-top: -2px;
    color: #f8f8f8;
    border: 0 solid #f8f8f8;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-stable .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-stable .tab-item.active .badge, .tabs-striped.tabs-color-stable .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-positive .tab-item {
  color: rgba(56, 126, 245, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-positive .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-positive .tab-item.tab-item-active, .tabs-striped.tabs-color-positive .tab-item.active, .tabs-striped.tabs-color-positive .tab-item.activated {
    margin-top: -2px;
    color: #387ef5;
    border: 0 solid #387ef5;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-positive .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-positive .tab-item.active .badge, .tabs-striped.tabs-color-positive .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-calm .tab-item {
  color: rgba(17, 193, 243, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-calm .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-calm .tab-item.tab-item-active, .tabs-striped.tabs-color-calm .tab-item.active, .tabs-striped.tabs-color-calm .tab-item.activated {
    margin-top: -2px;
    color: #11c1f3;
    border: 0 solid #11c1f3;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-calm .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-calm .tab-item.active .badge, .tabs-striped.tabs-color-calm .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-assertive .tab-item {
  color: rgba(239, 71, 58, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-assertive .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-assertive .tab-item.tab-item-active, .tabs-striped.tabs-color-assertive .tab-item.active, .tabs-striped.tabs-color-assertive .tab-item.activated {
    margin-top: -2px;
    color: #ef473a;
    border: 0 solid #ef473a;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-assertive .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-assertive .tab-item.active .badge, .tabs-striped.tabs-color-assertive .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-balanced .tab-item {
  color: rgba(51, 205, 95, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-balanced .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-balanced .tab-item.tab-item-active, .tabs-striped.tabs-color-balanced .tab-item.active, .tabs-striped.tabs-color-balanced .tab-item.activated {
    margin-top: -2px;
    color: #33cd5f;
    border: 0 solid #33cd5f;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-balanced .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-balanced .tab-item.active .badge, .tabs-striped.tabs-color-balanced .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-energized .tab-item {
  color: rgba(255, 201, 0, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-energized .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-energized .tab-item.tab-item-active, .tabs-striped.tabs-color-energized .tab-item.active, .tabs-striped.tabs-color-energized .tab-item.activated {
    margin-top: -2px;
    color: #ffc900;
    border: 0 solid #ffc900;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-energized .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-energized .tab-item.active .badge, .tabs-striped.tabs-color-energized .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-royal .tab-item {
  color: rgba(136, 106, 234, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-royal .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-royal .tab-item.tab-item-active, .tabs-striped.tabs-color-royal .tab-item.active, .tabs-striped.tabs-color-royal .tab-item.activated {
    margin-top: -2px;
    color: #886aea;
    border: 0 solid #886aea;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-royal .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-royal .tab-item.active .badge, .tabs-striped.tabs-color-royal .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }
.tabs-striped.tabs-color-dark .tab-item {
  color: rgba(68, 68, 68, 0.4);
  opacity: 1; }
  .tabs-striped.tabs-color-dark .tab-item .badge {
    opacity: 0.4; }
  .tabs-striped.tabs-color-dark .tab-item.tab-item-active, .tabs-striped.tabs-color-dark .tab-item.active, .tabs-striped.tabs-color-dark .tab-item.activated {
    margin-top: -2px;
    color: #444;
    border: 0 solid #444;
    border-top-width: 2px; }
    .tabs-striped.tabs-color-dark .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-dark .tab-item.active .badge, .tabs-striped.tabs-color-dark .tab-item.activated .badge {
      top: 2px;
      opacity: 1; }

.tabs-background-light .tabs, .tabs-background-light > .tabs {
  background-color: #fff;
  background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%);
  border-color: #ddd; }

.tabs-background-stable .tabs, .tabs-background-stable > .tabs {
  background-color: #f8f8f8;
  background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%);
  border-color: #b2b2b2; }

.tabs-background-positive .tabs, .tabs-background-positive > .tabs {
  background-color: #387ef5;
  background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%);
  border-color: #0c60ee; }

.tabs-background-calm .tabs, .tabs-background-calm > .tabs {
  background-color: #11c1f3;
  background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%);
  border-color: #0a9dc7; }

.tabs-background-assertive .tabs, .tabs-background-assertive > .tabs {
  background-color: #ef473a;
  background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%);
  border-color: #e42112; }

.tabs-background-balanced .tabs, .tabs-background-balanced > .tabs {
  background-color: #33cd5f;
  background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%);
  border-color: #28a54c; }

.tabs-background-energized .tabs, .tabs-background-energized > .tabs {
  background-color: #ffc900;
  background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%);
  border-color: #e6b500; }

.tabs-background-royal .tabs, .tabs-background-royal > .tabs {
  background-color: #886aea;
  background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%);
  border-color: #6b46e5; }

.tabs-background-dark .tabs, .tabs-background-dark > .tabs {
  background-color: #444;
  background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%);
  border-color: #111; }

.tabs-color-light .tab-item {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1; }
  .tabs-color-light .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-light .tab-item.tab-item-active, .tabs-color-light .tab-item.active, .tabs-color-light .tab-item.activated {
    color: #fff;
    border: 0 solid #fff; }
    .tabs-color-light .tab-item.tab-item-active .badge, .tabs-color-light .tab-item.active .badge, .tabs-color-light .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-stable .tab-item {
  color: rgba(248, 248, 248, 0.4);
  opacity: 1; }
  .tabs-color-stable .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-stable .tab-item.tab-item-active, .tabs-color-stable .tab-item.active, .tabs-color-stable .tab-item.activated {
    color: #f8f8f8;
    border: 0 solid #f8f8f8; }
    .tabs-color-stable .tab-item.tab-item-active .badge, .tabs-color-stable .tab-item.active .badge, .tabs-color-stable .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-positive .tab-item {
  color: rgba(56, 126, 245, 0.4);
  opacity: 1; }
  .tabs-color-positive .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-positive .tab-item.tab-item-active, .tabs-color-positive .tab-item.active, .tabs-color-positive .tab-item.activated {
    color: #387ef5;
    border: 0 solid #387ef5; }
    .tabs-color-positive .tab-item.tab-item-active .badge, .tabs-color-positive .tab-item.active .badge, .tabs-color-positive .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-calm .tab-item {
  color: rgba(17, 193, 243, 0.4);
  opacity: 1; }
  .tabs-color-calm .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-calm .tab-item.tab-item-active, .tabs-color-calm .tab-item.active, .tabs-color-calm .tab-item.activated {
    color: #11c1f3;
    border: 0 solid #11c1f3; }
    .tabs-color-calm .tab-item.tab-item-active .badge, .tabs-color-calm .tab-item.active .badge, .tabs-color-calm .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-assertive .tab-item {
  color: rgba(239, 71, 58, 0.4);
  opacity: 1; }
  .tabs-color-assertive .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-assertive .tab-item.tab-item-active, .tabs-color-assertive .tab-item.active, .tabs-color-assertive .tab-item.activated {
    color: #ef473a;
    border: 0 solid #ef473a; }
    .tabs-color-assertive .tab-item.tab-item-active .badge, .tabs-color-assertive .tab-item.active .badge, .tabs-color-assertive .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-balanced .tab-item {
  color: rgba(51, 205, 95, 0.4);
  opacity: 1; }
  .tabs-color-balanced .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-balanced .tab-item.tab-item-active, .tabs-color-balanced .tab-item.active, .tabs-color-balanced .tab-item.activated {
    color: #33cd5f;
    border: 0 solid #33cd5f; }
    .tabs-color-balanced .tab-item.tab-item-active .badge, .tabs-color-balanced .tab-item.active .badge, .tabs-color-balanced .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-energized .tab-item {
  color: rgba(255, 201, 0, 0.4);
  opacity: 1; }
  .tabs-color-energized .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-energized .tab-item.tab-item-active, .tabs-color-energized .tab-item.active, .tabs-color-energized .tab-item.activated {
    color: #ffc900;
    border: 0 solid #ffc900; }
    .tabs-color-energized .tab-item.tab-item-active .badge, .tabs-color-energized .tab-item.active .badge, .tabs-color-energized .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-royal .tab-item {
  color: rgba(136, 106, 234, 0.4);
  opacity: 1; }
  .tabs-color-royal .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-royal .tab-item.tab-item-active, .tabs-color-royal .tab-item.active, .tabs-color-royal .tab-item.activated {
    color: #886aea;
    border: 0 solid #886aea; }
    .tabs-color-royal .tab-item.tab-item-active .badge, .tabs-color-royal .tab-item.active .badge, .tabs-color-royal .tab-item.activated .badge {
      opacity: 1; }

.tabs-color-dark .tab-item {
  color: rgba(68, 68, 68, 0.4);
  opacity: 1; }
  .tabs-color-dark .tab-item .badge {
    opacity: 0.4; }
  .tabs-color-dark .tab-item.tab-item-active, .tabs-color-dark .tab-item.active, .tabs-color-dark .tab-item.activated {
    color: #444;
    border: 0 solid #444; }
    .tabs-color-dark .tab-item.tab-item-active .badge, .tabs-color-dark .tab-item.active .badge, .tabs-color-dark .tab-item.activated .badge {
      opacity: 1; }

ion-tabs.tabs-color-active-light .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-light .tab-item.tab-item-active, ion-tabs.tabs-color-active-light .tab-item.active, ion-tabs.tabs-color-active-light .tab-item.activated {
    color: #fff; }
ion-tabs.tabs-color-active-stable .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-stable .tab-item.tab-item-active, ion-tabs.tabs-color-active-stable .tab-item.active, ion-tabs.tabs-color-active-stable .tab-item.activated {
    color: #f8f8f8; }
ion-tabs.tabs-color-active-positive .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-positive .tab-item.tab-item-active, ion-tabs.tabs-color-active-positive .tab-item.active, ion-tabs.tabs-color-active-positive .tab-item.activated {
    color: #387ef5; }
ion-tabs.tabs-color-active-calm .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-calm .tab-item.tab-item-active, ion-tabs.tabs-color-active-calm .tab-item.active, ion-tabs.tabs-color-active-calm .tab-item.activated {
    color: #11c1f3; }
ion-tabs.tabs-color-active-assertive .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-assertive .tab-item.tab-item-active, ion-tabs.tabs-color-active-assertive .tab-item.active, ion-tabs.tabs-color-active-assertive .tab-item.activated {
    color: #ef473a; }
ion-tabs.tabs-color-active-balanced .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-balanced .tab-item.tab-item-active, ion-tabs.tabs-color-active-balanced .tab-item.active, ion-tabs.tabs-color-active-balanced .tab-item.activated {
    color: #33cd5f; }
ion-tabs.tabs-color-active-energized .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-energized .tab-item.tab-item-active, ion-tabs.tabs-color-active-energized .tab-item.active, ion-tabs.tabs-color-active-energized .tab-item.activated {
    color: #ffc900; }
ion-tabs.tabs-color-active-royal .tab-item {
  color: #444; }
  ion-tabs.tabs-color-active-royal .tab-item.tab-item-active, ion-tabs.tabs-color-active-royal .tab-item.active, ion-tabs.tabs-color-active-royal .tab-item.activated {
    color: #886aea; }
ion-tabs.tabs-color-active-dark .tab-item {
  color: #fff; }
  ion-tabs.tabs-color-active-dark .tab-item.tab-item-active, ion-tabs.tabs-color-active-dark .tab-item.active, ion-tabs.tabs-color-active-dark .tab-item.activated {
    color: #444; }

.tabs-top.tabs-striped {
  padding-bottom: 0; }
  .tabs-top.tabs-striped .tab-item {
    background: transparent;
    -webkit-transition: color .1s ease;
    -moz-transition: color .1s ease;
    -ms-transition: color .1s ease;
    -o-transition: color .1s ease;
    transition: color .1s ease; }
    .tabs-top.tabs-striped .tab-item.tab-item-active, .tabs-top.tabs-striped .tab-item.active, .tabs-top.tabs-striped .tab-item.activated {
      margin-top: 1px;
      border-width: 0px 0px 2px 0px !important;
      border-style: solid; }
      .tabs-top.tabs-striped .tab-item.tab-item-active > .badge, .tabs-top.tabs-striped .tab-item.tab-item-active > i, .tabs-top.tabs-striped .tab-item.active > .badge, .tabs-top.tabs-striped .tab-item.active > i, .tabs-top.tabs-striped .tab-item.activated > .badge, .tabs-top.tabs-striped .tab-item.activated > i {
        margin-top: -1px; }
    .tabs-top.tabs-striped .tab-item .badge {
      -webkit-transition: color .2s ease;
      -moz-transition: color .2s ease;
      -ms-transition: color .2s ease;
      -o-transition: color .2s ease;
      transition: color .2s ease; }

/* Allow parent element to have tabs-top */
/* If you change this, change platform.scss as well */
.tabs-top > .tabs, .tabs.tabs-top {
  top: 44px;
  padding-top: 0;
  background-position: bottom;
  border-top-width: 0;
  border-bottom-width: 1px; }
  .tabs-top > .tabs .tab-item.tab-item-active .badge, .tabs-top > .tabs .tab-item.active .badge, .tabs-top > .tabs .tab-item.activated .badge, .tabs.tabs-top .tab-item.tab-item-active .badge, .tabs.tabs-top .tab-item.active .badge, .tabs.tabs-top .tab-item.activated .badge {
    top: 4%; }

.tabs-top ~ .bar-header {
  border-bottom-width: 0; }

.tab-item {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -moz-box-flex: 1;
  -moz-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: block;
  overflow: hidden;
  max-width: 150px;
  height: 100%;
  color: inherit;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
  font-size: 14px;
  font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif;
  opacity: 0.7; }
  .tab-item:hover {
    cursor: pointer; }
  .tab-item.tab-hidden {
    display: none; }

.tabs-item-hide > .tabs, .tabs.tabs-item-hide {
  display: none; }

.tabs-icon-top > .tabs .tab-item, .tabs-icon-top.tabs .tab-item, .tabs-icon-bottom > .tabs .tab-item, .tabs-icon-bottom.tabs .tab-item {
  font-size: 10px;
  line-height: 14px; }

.tab-item .icon {
  display: block;
  margin: 0 auto;
  height: 32px;
  font-size: 32px; }

.tabs-icon-left.tabs .tab-item, .tabs-icon-left > .tabs .tab-item, .tabs-icon-right.tabs .tab-item, .tabs-icon-right > .tabs .tab-item {
  font-size: 10px; }
  .tabs-icon-left.tabs .tab-item .icon, .tabs-icon-left > .tabs .tab-item .icon, .tabs-icon-right.tabs .tab-item .icon, .tabs-icon-right > .tabs .tab-item .icon {
    display: inline-block;
    vertical-align: top;
    margin-top: -.1em; }
    .tabs-icon-left.tabs .tab-item .icon:before, .tabs-icon-left > .tabs .tab-item .icon:before, .tabs-icon-right.tabs .tab-item .icon:before, .tabs-icon-right > .tabs .tab-item .icon:before {
      font-size: 24px;
      line-height: 49px; }

.tabs-icon-left > .tabs .tab-item .icon, .tabs-icon-left.tabs .tab-item .icon {
  padding-right: 3px; }

.tabs-icon-right > .tabs .tab-item .icon, .tabs-icon-right.tabs .tab-item .icon {
  padding-left: 3px; }

.tabs-icon-only > .tabs .icon, .tabs-icon-only.tabs .icon {
  line-height: inherit; }

.tab-item.has-badge {
  position: relative; }

.tab-item .badge {
  position: absolute;
  top: 4%;
  right: 33%;
  right: calc(50% - 26px);
  padding: 1px 6px;
  height: auto;
  font-size: 12px;
  line-height: 16px; }

/* Navigational tab */
/* Active state for tab */
.tab-item.tab-item-active, .tab-item.active, .tab-item.activated {
  opacity: 1; }
  .tab-item.tab-item-active.tab-item-light, .tab-item.active.tab-item-light, .tab-item.activated.tab-item-light {
    color: #fff; }
  .tab-item.tab-item-active.tab-item-stable, .tab-item.active.tab-item-stable, .tab-item.activated.tab-item-stable {
    color: #f8f8f8; }
  .tab-item.tab-item-active.tab-item-positive, .tab-item.active.tab-item-positive, .tab-item.activated.tab-item-positive {
    color: #387ef5; }
  .tab-item.tab-item-active.tab-item-calm, .tab-item.active.tab-item-calm, .tab-item.activated.tab-item-calm {
    color: #11c1f3; }
  .tab-item.tab-item-active.tab-item-assertive, .tab-item.active.tab-item-assertive, .tab-item.activated.tab-item-assertive {
    color: #ef473a; }
  .tab-item.tab-item-active.tab-item-balanced, .tab-item.active.tab-item-balanced, .tab-item.activated.tab-item-balanced {
    color: #33cd5f; }
  .tab-item.tab-item-active.tab-item-energized, .tab-item.active.tab-item-energized, .tab-item.activated.tab-item-energized {
    color: #ffc900; }
  .tab-item.tab-item-active.tab-item-royal, .tab-item.active.tab-item-royal, .tab-item.activated.tab-item-royal {
    color: #886aea; }
  .tab-item.tab-item-active.tab-item-dark, .tab-item.active.tab-item-dark, .tab-item.activated.tab-item-dark {
    color: #444; }

.item.tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0; }
  .item.tabs .icon:before {
    position: relative; }

.tab-item.disabled, .tab-item[disabled] {
  opacity: .4;
  cursor: default;
  pointer-events: none; }

/**
 * Menus
 * --------------------------------------------------
 * Side panel structure
 */
.menu {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  overflow: hidden;
  min-height: 100%;
  max-height: 100%;
  width: 275px;
  background-color: #fff; }
  .menu .scroll-content {
    z-index: 10; }
  .menu .bar-header {
    z-index: 11; }

.menu-content {
  -webkit-transform: none;
  transform: none;
  box-shadow: -1px 0px 2px rgba(0, 0, 0, 0.2), 1px 0px 2px rgba(0, 0, 0, 0.2); }

.menu-open .menu-content .pane, .menu-open .menu-content .scroll-content {
  pointer-events: none; }

.grade-b .menu-content, .grade-c .menu-content {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  right: -1px;
  left: -1px;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  box-shadow: none; }

.menu-left {
  left: 0; }

.menu-right {
  right: 0; }

.aside-open.aside-resizing .menu-right {
  display: none; }

.menu-animated {
  -webkit-transition: -webkit-transform 200ms ease;
  transition: transform 200ms ease; }

/**
 * Modals
 * --------------------------------------------------
 * Modals are independent windows that slide in from off-screen.
 */
.modal-backdrop, .modal-backdrop-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%; }

.modal-backdrop-bg {
  pointer-events: none; }

.modal {
  display: block;
  position: absolute;
  top: 0;
  z-index: 10;
  overflow: hidden;
  min-height: 100%;
  width: 100%;
  background-color: #fff; }

@media (min-width: 680px) {
  .modal {
    top: 20%;
    right: 20%;
    bottom: 20%;
    left: 20%;
    min-height: 240px;
    width: 60%; }
  .modal.ng-leave-active {
    bottom: 0; }
  .platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader) {
    height: 44px; }
    .platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader) > * {
      margin-top: 0; }
  .platform-ios.platform-cordova .modal-wrapper .modal .tabs-top > .tabs, .platform-ios.platform-cordova .modal-wrapper .modal .tabs.tabs-top {
    top: 44px; }
  .platform-ios.platform-cordova .modal-wrapper .modal .has-header, .platform-ios.platform-cordova .modal-wrapper .modal .bar-subheader {
    top: 44px; }
  .platform-ios.platform-cordova .modal-wrapper .modal .has-subheader {
    top: 88px; }
  .platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-tabs-top {
    top: 93px; }
  .platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-subheader.has-tabs-top {
    top: 137px; }
  .modal-backdrop-bg {
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
    background-color: #000;
    opacity: 0; }
  .active .modal-backdrop-bg {
    opacity: 0.5; } }

.modal-open {
  pointer-events: none; }
  .modal-open .modal, .modal-open .modal-backdrop {
    pointer-events: auto; }
  .modal-open.loading-active .modal, .modal-open.loading-active .modal-backdrop {
    pointer-events: none; }

/**
 * Popovers
 * --------------------------------------------------
 * Popovers are independent views which float over content
 */
.popover-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: transparent; }
  .popover-backdrop.active {
    background-color: rgba(0, 0, 0, 0.1); }

.popover {
  position: absolute;
  top: 25%;
  left: 50%;
  z-index: 10;
  display: block;
  margin-top: 12px;
  margin-left: -110px;
  height: 280px;
  width: 220px;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  opacity: 0; }
  .popover .item:first-child {
    border-top: 0; }
  .popover .item:last-child {
    border-bottom: 0; }
  .popover.popover-bottom {
    margin-top: -12px; }

.popover, .popover .bar-header {
  border-radius: 2px; }

.popover .scroll-content {
  z-index: 1;
  margin: 2px 0; }

.popover .bar-header {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.popover .has-header {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.popover-arrow {
  display: none; }

.platform-ios .popover {
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);
  border-radius: 10px; }
.platform-ios .popover .bar-header {
  -webkit-border-top-right-radius: 10px;
  border-top-right-radius: 10px;
  -webkit-border-top-left-radius: 10px;
  border-top-left-radius: 10px; }
.platform-ios .popover .scroll-content {
  margin: 8px 0;
  border-radius: 10px; }
.platform-ios .popover .scroll-content.has-header {
  margin-top: 0; }
.platform-ios .popover-arrow {
  position: absolute;
  display: block;
  top: -17px;
  width: 30px;
  height: 19px;
  overflow: hidden; }
  .platform-ios .popover-arrow:after {
    position: absolute;
    top: 12px;
    left: 5px;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 3px;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
.platform-ios .popover-bottom .popover-arrow {
  top: auto;
  bottom: -10px; }
  .platform-ios .popover-bottom .popover-arrow:after {
    top: -6px; }

.platform-android .popover {
  margin-top: -32px;
  background-color: #fafafa;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); }
  .platform-android .popover .item {
    border-color: #fafafa;
    background-color: #fafafa;
    color: #4d4d4d; }
  .platform-android .popover.popover-bottom {
    margin-top: 32px; }
.platform-android .popover-backdrop, .platform-android .popover-backdrop.active {
  background-color: transparent; }

.popover-open {
  pointer-events: none; }
  .popover-open .popover, .popover-open .popover-backdrop {
    pointer-events: auto; }
  .popover-open.loading-active .popover, .popover-open.loading-active .popover-backdrop {
    pointer-events: none; }

@media (min-width: 680px) {
  .popover {
    width: 360px; } }

/**
 * Popups
 * --------------------------------------------------
 */
.popup-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: transparent;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  z-index: 12;
  visibility: hidden; }
  .popup-container.popup-showing {
    visibility: visible; }
  .popup-container.popup-hidden .popup {
    -webkit-animation-name: scaleOut;
    animation-name: scaleOut;
    -webkit-animation-duration: 0.1s;
    animation-duration: 0.1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both; }
  .popup-container.active .popup {
    -webkit-animation-name: superScaleIn;
    animation-name: superScaleIn;
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both; }
  .popup-container .popup {
    width: 250px;
    max-width: 100%;
    max-height: 90%;
    border-radius: 0px;
    background-color: rgba(255, 255, 255, 0.9);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .popup-container input, .popup-container textarea {
    width: 100%; }

.popup-head {
  padding: 15px 10px;
  border-bottom: 1px solid #eee;
  text-align: center; }

.popup-title {
  margin: 0;
  padding: 0;
  font-size: 15px; }

.popup-sub-title {
  margin: 5px 0 0 0;
  padding: 0;
  font-weight: normal;
  font-size: 11px; }

.popup-body {
  padding: 10px;
  overflow: auto; }

.popup-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  padding: 10px;
  min-height: 65px; }
  .popup-buttons .button {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -moz-box-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: block;
    min-height: 45px;
    border-radius: 2px;
    line-height: 20px;
    margin-right: 5px; }
    .popup-buttons .button:last-child {
      margin-right: 0px; }

.popup-open {
  pointer-events: none; }
  .popup-open.modal-open .modal {
    pointer-events: none; }
  .popup-open .popup-backdrop, .popup-open .popup {
    pointer-events: auto; }

/**
 * Loading
 * --------------------------------------------------
 */
.loading-container {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 13;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -webkit-transition: 0.2s opacity linear;
  transition: 0.2s opacity linear;
  visibility: hidden;
  opacity: 0; }
  .loading-container:not(.visible) .icon {
    display: none; }
  .loading-container.visible {
    visibility: visible; }
  .loading-container.active {
    opacity: 1; }
  .loading-container .loading {
    padding: 20px;
    border-radius: 5px;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    text-align: center;
    text-overflow: ellipsis;
    font-size: 15px; }
    .loading-container .loading h1, .loading-container .loading h2, .loading-container .loading h3, .loading-container .loading h4, .loading-container .loading h5, .loading-container .loading h6 {
      color: #fff; }

/**
 * Items
 * --------------------------------------------------
 */
.item {
  border-color: #ddd;
  background-color: #fff;
  color: #444;
  position: relative;
  z-index: 2;
  display: block;
  margin: -1px;
  padding: 16px;
  border-width: 1px;
  border-style: solid;
  font-size: 16px; }
  .item h2 {
    margin: 0 0 2px 0;
    font-size: 16px;
    font-weight: normal; }
  .item h3 {
    margin: 0 0 4px 0;
    font-size: 14px; }
  .item h4 {
    margin: 0 0 4px 0;
    font-size: 12px; }
  .item h5, .item h6 {
    margin: 0 0 3px 0;
    font-size: 10px; }
  .item p {
    color: #666;
    font-size: 14px;
    margin-bottom: 2px; }
  .item h1:last-child, .item h2:last-child, .item h3:last-child, .item h4:last-child, .item h5:last-child, .item h6:last-child, .item p:last-child {
    margin-bottom: 0; }
  .item .badge {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 16px;
    right: 32px; }
  .item.item-button-right .badge {
    right: 67px; }
  .item.item-divider .badge {
    top: 8px; }
  .item .badge + .badge {
    margin-right: 5px; }
  .item.item-light {
    border-color: #ddd;
    background-color: #fff;
    color: #444; }
  .item.item-stable {
    border-color: #b2b2b2;
    background-color: #f8f8f8;
    color: #444; }
  .item.item-positive {
    border-color: #0c60ee;
    background-color: #387ef5;
    color: #fff; }
  .item.item-calm {
    border-color: #0a9dc7;
    background-color: #11c1f3;
    color: #fff; }
  .item.item-assertive {
    border-color: #e42112;
    background-color: #ef473a;
    color: #fff; }
  .item.item-balanced {
    border-color: #28a54c;
    background-color: #33cd5f;
    color: #fff; }
  .item.item-energized {
    border-color: #e6b500;
    background-color: #ffc900;
    color: #fff; }
  .item.item-royal {
    border-color: #6b46e5;
    background-color: #886aea;
    color: #fff; }
  .item.item-dark {
    border-color: #111;
    background-color: #444;
    color: #fff; }
  .item[ng-click]:hover {
    cursor: pointer; }

.list-borderless .item, .item-borderless {
  border-width: 0; }

.item.active, .item.activated, .item-complex.active .item-content, .item-complex.activated .item-content, .item .item-content.active, .item .item-content.activated {
  border-color: #ccc;
  background-color: #D9D9D9; }
  .item.active.item-light, .item.activated.item-light, .item-complex.active .item-content.item-light, .item-complex.activated .item-content.item-light, .item .item-content.active.item-light, .item .item-content.activated.item-light {
    border-color: #ccc;
    background-color: #fafafa; }
  .item.active.item-stable, .item.activated.item-stable, .item-complex.active .item-content.item-stable, .item-complex.activated .item-content.item-stable, .item .item-content.active.item-stable, .item .item-content.activated.item-stable {
    border-color: #a2a2a2;
    background-color: #e5e5e5; }
  .item.active.item-positive, .item.activated.item-positive, .item-complex.active .item-content.item-positive, .item-complex.activated .item-content.item-positive, .item .item-content.active.item-positive, .item .item-content.activated.item-positive {
    border-color: #0c60ee;
    background-color: #0c60ee; }
  .item.active.item-calm, .item.activated.item-calm, .item-complex.active .item-content.item-calm, .item-complex.activated .item-content.item-calm, .item .item-content.active.item-calm, .item .item-content.activated.item-calm {
    border-color: #0a9dc7;
    background-color: #0a9dc7; }
  .item.active.item-assertive, .item.activated.item-assertive, .item-complex.active .item-content.item-assertive, .item-complex.activated .item-content.item-assertive, .item .item-content.active.item-assertive, .item .item-content.activated.item-assertive {
    border-color: #e42112;
    background-color: #e42112; }
  .item.active.item-balanced, .item.activated.item-balanced, .item-complex.active .item-content.item-balanced, .item-complex.activated .item-content.item-balanced, .item .item-content.active.item-balanced, .item .item-content.activated.item-balanced {
    border-color: #28a54c;
    background-color: #28a54c; }
  .item.active.item-energized, .item.activated.item-energized, .item-complex.active .item-content.item-energized, .item-complex.activated .item-content.item-energized, .item .item-content.active.item-energized, .item .item-content.activated.item-energized {
    border-color: #e6b500;
    background-color: #e6b500; }
  .item.active.item-royal, .item.activated.item-royal, .item-complex.active .item-content.item-royal, .item-complex.activated .item-content.item-royal, .item .item-content.active.item-royal, .item .item-content.activated.item-royal {
    border-color: #6b46e5;
    background-color: #6b46e5; }
  .item.active.item-dark, .item.activated.item-dark, .item-complex.active .item-content.item-dark, .item-complex.activated .item-content.item-dark, .item .item-content.active.item-dark, .item .item-content.activated.item-dark {
    border-color: #000;
    background-color: #262626; }

.item, .item h1, .item h2, .item h3, .item h4, .item h5, .item h6, .item p, .item-content, .item-content h1, .item-content h2, .item-content h3, .item-content h4, .item-content h5, .item-content h6, .item-content p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

a.item {
  color: inherit;
  text-decoration: none; }
  a.item:hover, a.item:focus {
    text-decoration: none; }

/**
 * Complex Items
 * --------------------------------------------------
 * Adding .item-complex allows the .item to be slidable and
 * have options underneath the button, but also requires an
 * additional .item-content element inside .item.
 * Basically .item-complex removes any default settings which
 * .item added, so that .item-content looks them as just .item.
 */
.item-complex, a.item.item-complex, button.item.item-complex {
  padding: 0; }

.item-complex .item-content, .item-radio .item-content {
  position: relative;
  z-index: 2;
  padding: 16px 49px 16px 16px;
  border: none;
  background-color: white; }

a.item-content {
  display: block;
  color: inherit;
  text-decoration: none; }

.item-text-wrap .item, .item-text-wrap .item-content, .item-text-wrap, .item-text-wrap h1, .item-text-wrap h2, .item-text-wrap h3, .item-text-wrap h4, .item-text-wrap h5, .item-text-wrap h6, .item-text-wrap p, .item-complex.item-text-wrap .item-content, .item-body h1, .item-body h2, .item-body h3, .item-body h4, .item-body h5, .item-body h6, .item-body p {
  overflow: visible;
  white-space: normal; }

.item-complex.item-text-wrap, .item-complex.item-text-wrap h1, .item-complex.item-text-wrap h2, .item-complex.item-text-wrap h3, .item-complex.item-text-wrap h4, .item-complex.item-text-wrap h5, .item-complex.item-text-wrap h6, .item-complex.item-text-wrap p {
  overflow: visible;
  white-space: normal; }

.item-complex.item-light > .item-content {
  border-color: #ddd;
  background-color: #fff;
  color: #444; }
  .item-complex.item-light > .item-content.active, .item-complex.item-light > .item-content:active {
    border-color: #ccc;
    background-color: #fafafa; }
.item-complex.item-stable > .item-content {
  border-color: #b2b2b2;
  background-color: #f8f8f8;
  color: #444; }
  .item-complex.item-stable > .item-content.active, .item-complex.item-stable > .item-content:active {
    border-color: #a2a2a2;
    background-color: #e5e5e5; }
.item-complex.item-positive > .item-content {
  border-color: #0c60ee;
  background-color: #387ef5;
  color: #fff; }
  .item-complex.item-positive > .item-content.active, .item-complex.item-positive > .item-content:active {
    border-color: #0c60ee;
    background-color: #0c60ee; }
.item-complex.item-calm > .item-content {
  border-color: #0a9dc7;
  background-color: #11c1f3;
  color: #fff; }
  .item-complex.item-calm > .item-content.active, .item-complex.item-calm > .item-content:active {
    border-color: #0a9dc7;
    background-color: #0a9dc7; }
.item-complex.item-assertive > .item-content {
  border-color: #e42112;
  background-color: #ef473a;
  color: #fff; }
  .item-complex.item-assertive > .item-content.active, .item-complex.item-assertive > .item-content:active {
    border-color: #e42112;
    background-color: #e42112; }
.item-complex.item-balanced > .item-content {
  border-color: #28a54c;
  background-color: #33cd5f;
  color: #fff; }
  .item-complex.item-balanced > .item-content.active, .item-complex.item-balanced > .item-content:active {
    border-color: #28a54c;
    background-color: #28a54c; }
.item-complex.item-energized > .item-content {
  border-color: #e6b500;
  background-color: #ffc900;
  color: #fff; }
  .item-complex.item-energized > .item-content.active, .item-complex.item-energized > .item-content:active {
    border-color: #e6b500;
    background-color: #e6b500; }
.item-complex.item-royal > .item-content {
  border-color: #6b46e5;
  background-color: #886aea;
  color: #fff; }
  .item-complex.item-royal > .item-content.active, .item-complex.item-royal > .item-content:active {
    border-color: #6b46e5;
    background-color: #6b46e5; }
.item-complex.item-dark > .item-content {
  border-color: #111;
  background-color: #444;
  color: #fff; }
  .item-complex.item-dark > .item-content.active, .item-complex.item-dark > .item-content:active {
    border-color: #000;
    background-color: #262626; }

/**
 * Item Icons
 * --------------------------------------------------
 */
.item-icon-left .icon, .item-icon-right .icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  position: absolute;
  top: 0;
  height: 100%;
  font-size: 32px; }
  .item-icon-left .icon:before, .item-icon-right .icon:before {
    display: block;
    width: 32px;
    text-align: center; }

.item .fill-icon {
  min-width: 30px;
  min-height: 30px;
  font-size: 28px; }

.item-icon-left {
  padding-left: 54px; }
  .item-icon-left .icon {
    left: 11px; }

.item-complex.item-icon-left {
  padding-left: 0; }
  .item-complex.item-icon-left .item-content {
    padding-left: 54px; }

.item-icon-right {
  padding-right: 54px; }
  .item-icon-right .icon {
    right: 11px; }

.item-complex.item-icon-right {
  padding-right: 0; }
  .item-complex.item-icon-right .item-content {
    padding-right: 54px; }

.item-icon-left.item-icon-right .icon:first-child {
  right: auto; }

.item-icon-left.item-icon-right .icon:last-child, .item-icon-left .item-delete .icon {
  left: auto; }

.item-icon-left .icon-accessory, .item-icon-right .icon-accessory {
  color: #ccc;
  font-size: 16px; }

.item-icon-left .icon-accessory {
  left: 3px; }

.item-icon-right .icon-accessory {
  right: 3px; }

/**
 * Item Button
 * --------------------------------------------------
 * An item button is a child button inside an .item (not the entire .item)
 */
.item-button-left {
  padding-left: 72px; }

.item-button-left > .button, .item-button-left .item-content > .button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  position: absolute;
  top: 8px;
  left: 11px;
  min-width: 34px;
  min-height: 34px;
  font-size: 18px;
  line-height: 32px; }
  .item-button-left > .button .icon:before, .item-button-left .item-content > .button .icon:before {
    position: relative;
    left: auto;
    width: auto;
    line-height: 31px; }
  .item-button-left > .button > .button, .item-button-left .item-content > .button > .button {
    margin: 0px 2px;
    min-height: 34px;
    font-size: 18px;
    line-height: 32px; }

.item-button-right, a.item.item-button-right, button.item.item-button-right {
  padding-right: 80px; }

.item-button-right > .button, .item-button-right .item-content > .button, .item-button-right > .buttons, .item-button-right .item-content > .buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  position: absolute;
  top: 8px;
  right: 16px;
  min-width: 34px;
  min-height: 34px;
  font-size: 18px;
  line-height: 32px; }
  .item-button-right > .button .icon:before, .item-button-right .item-content > .button .icon:before, .item-button-right > .buttons .icon:before, .item-button-right .item-content > .buttons .icon:before {
    position: relative;
    left: auto;
    width: auto;
    line-height: 31px; }
  .item-button-right > .button > .button, .item-button-right .item-content > .button > .button, .item-button-right > .buttons > .button, .item-button-right .item-content > .buttons > .button {
    margin: 0px 2px;
    min-width: 34px;
    min-height: 34px;
    font-size: 18px;
    line-height: 32px; }

.item-avatar, .item-avatar .item-content, .item-avatar-left, .item-avatar-left .item-content {
  padding-left: 72px;
  min-height: 72px; }
  .item-avatar > img:first-child, .item-avatar .item-image, .item-avatar .item-content > img:first-child, .item-avatar .item-content .item-image, .item-avatar-left > img:first-child, .item-avatar-left .item-image, .item-avatar-left .item-content > img:first-child, .item-avatar-left .item-content .item-image {
    position: absolute;
    top: 16px;
    left: 16px;
    max-width: 40px;
    max-height: 40px;
    width: 100%;
    height: 100%;
    border-radius: 50%; }

.item-avatar-right, .item-avatar-right .item-content {
  padding-right: 72px;
  min-height: 72px; }
  .item-avatar-right > img:first-child, .item-avatar-right .item-image, .item-avatar-right .item-content > img:first-child, .item-avatar-right .item-content .item-image {
    position: absolute;
    top: 16px;
    right: 16px;
    max-width: 40px;
    max-height: 40px;
    width: 100%;
    height: 100%;
    border-radius: 50%; }

.item-thumbnail-left, .item-thumbnail-left .item-content {
  padding-top: 8px;
  padding-left: 106px;
  min-height: 100px; }
  .item-thumbnail-left > img:first-child, .item-thumbnail-left .item-image, .item-thumbnail-left .item-content > img:first-child, .item-thumbnail-left .item-content .item-image {
    position: absolute;
    top: 10px;
    left: 10px;
    max-width: 80px;
    max-height: 80px;
    width: 100%;
    height: 100%; }

.item-avatar.item-complex, .item-avatar-left.item-complex, .item-thumbnail-left.item-complex {
  padding-top: 0;
  padding-left: 0; }

.item-thumbnail-right, .item-thumbnail-right .item-content {
  padding-top: 8px;
  padding-right: 106px;
  min-height: 100px; }
  .item-thumbnail-right > img:first-child, .item-thumbnail-right .item-image, .item-thumbnail-right .item-content > img:first-child, .item-thumbnail-right .item-content .item-image {
    position: absolute;
    top: 10px;
    right: 10px;
    max-width: 80px;
    max-height: 80px;
    width: 100%;
    height: 100%; }

.item-avatar-right.item-complex, .item-thumbnail-right.item-complex {
  padding-top: 0;
  padding-right: 0; }

.item-image {
  padding: 0;
  text-align: center; }
  .item-image img:first-child, .item-image .list-img {
    width: 100%;
    vertical-align: middle; }

.item-body {
  overflow: auto;
  padding: 16px;
  text-overflow: inherit;
  white-space: normal; }
  .item-body h1, .item-body h2, .item-body h3, .item-body h4, .item-body h5, .item-body h6, .item-body p {
    margin-top: 16px;
    margin-bottom: 16px; }

.item-divider {
  padding-top: 8px;
  padding-bottom: 8px;
  min-height: 30px;
  background-color: #f5f5f5;
  color: #222;
  font-weight: 500; }

.platform-ios .item-divider-platform, .item-divider-ios {
  padding-top: 26px;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 13px;
  background-color: #efeff4;
  color: #555; }

.platform-android .item-divider-platform, .item-divider-android {
  font-weight: 300;
  font-size: 13px; }

.item-note {
  float: right;
  color: #aaa;
  font-size: 14px; }

.item-left-editable .item-content, .item-right-editable .item-content {
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform; }

.list-left-editing .item-left-editable .item-content, .item-left-editing.item-left-editable .item-content {
  -webkit-transform: translate3d(50px, 0, 0);
  transform: translate3d(50px, 0, 0); }

.item-remove-animate.ng-leave {
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms; }
.item-remove-animate.ng-leave .item-content, .item-remove-animate.ng-leave:last-of-type {
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  -webkit-transition-property: all;
  transition-property: all; }
.item-remove-animate.ng-leave.ng-leave-active .item-content {
  opacity: 0;
  -webkit-transform: translate3d(-100%, 0, 0) !important;
  transform: translate3d(-100%, 0, 0) !important; }
.item-remove-animate.ng-leave.ng-leave-active:last-of-type {
  opacity: 0; }
.item-remove-animate.ng-leave.ng-leave-active ~ ion-item:not(.ng-leave) {
  -webkit-transform: translate3d(0, -webkit-calc(-100% + 1px), 0);
  transform: translate3d(0, calc(-100% + 1px), 0);
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
  -webkit-transition-timing-function: cubic-bezier(.25, .81, .24, 1);
  transition-timing-function: cubic-bezier(.25, .81, .24, 1);
  -webkit-transition-property: all;
  transition-property: all; }

.item-left-edit {
  -webkit-transition: all ease-in-out 125ms;
  transition: all ease-in-out 125ms;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 50px;
  height: 100%;
  line-height: 100%;
  display: none;
  opacity: 0;
  -webkit-transform: translate3d(-21px, 0, 0);
  transform: translate3d(-21px, 0, 0); }
  .item-left-edit .button {
    height: 100%; }
    .item-left-edit .button.icon {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      align-items: center;
      position: absolute;
      top: 0;
      height: 100%; }
  .item-left-edit.visible {
    display: block; }
    .item-left-edit.visible.active {
      opacity: 1;
      -webkit-transform: translate3d(8px, 0, 0);
      transform: translate3d(8px, 0, 0); }

.list-left-editing .item-left-edit {
  -webkit-transition-delay: 125ms;
  transition-delay: 125ms; }

.item-delete .button.icon {
  color: #ef473a;
  font-size: 24px; }
  .item-delete .button.icon:hover {
    opacity: .7; }

.item-right-edit {
  -webkit-transition: all ease-in-out 250ms;
  transition: all ease-in-out 250ms;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 75px;
  height: 100%;
  background: inherit;
  padding-left: 20px;
  display: block;
  opacity: 0;
  -webkit-transform: translate3d(75px, 0, 0);
  transform: translate3d(75px, 0, 0); }
  .item-right-edit .button {
    min-width: 50px;
    height: 100%; }
    .item-right-edit .button.icon {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      align-items: center;
      position: absolute;
      top: 0;
      height: 100%;
      font-size: 32px; }
  .item-right-edit.visible {
    display: block; }
    .item-right-edit.visible.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); }

.item-reorder .button.icon {
  color: #444;
  font-size: 32px; }

.item-reordering {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9;
  width: 100%;
  box-shadow: 0px 0px 10px 0px #aaa; }
  .item-reordering .item-reorder {
    z-index: 9; }

.item-placeholder {
  opacity: 0.7; }

/**
 * The hidden right-side buttons that can be exposed under a list item
 * with dragging.
 */
.item-options {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  height: 100%; }
  .item-options .button {
    height: 100%;
    border: none;
    border-radius: 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center; }
    .item-options .button:before {
      margin: 0 auto; }

/**
 * Lists
 * --------------------------------------------------
 */
.list {
  position: relative;
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 0;
  margin-bottom: 20px; }

.list:last-child {
  margin-bottom: 0px; }
  .list:last-child.card {
    margin-bottom: 40px; }

/**
 * List Header
 * --------------------------------------------------
 */
.list-header {
  margin-top: 20px;
  padding: 5px 15px;
  background-color: transparent;
  color: #222;
  font-weight: bold; }

.card.list .list-item {
  padding-right: 1px;
  padding-left: 1px; }

/**
 * Cards and Inset Lists
 * --------------------------------------------------
 * A card and list-inset are close to the same thing, except a card as a box shadow.
 */
.card, .list-inset {
  overflow: hidden;
  margin: 20px 10px;
  border-radius: 2px;
  background-color: #fff; }

.card {
  padding-top: 1px;
  padding-bottom: 1px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
  .card .item {
    border-left: 0;
    border-right: 0; }
  .card .item:first-child {
    border-top: 0; }
  .card .item:last-child {
    border-bottom: 0; }

.padding .card, .padding .list-inset {
  margin-left: 0;
  margin-right: 0; }

.card .item:first-child, .list-inset .item:first-child, .padding > .list .item:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }
  .card .item:first-child .item-content, .list-inset .item:first-child .item-content, .padding > .list .item:first-child .item-content {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px; }
.card .item:last-child, .list-inset .item:last-child, .padding > .list .item:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px; }
  .card .item:last-child .item-content, .list-inset .item:last-child .item-content, .padding > .list .item:last-child .item-content {
    border-bottom-right-radius: 2px;
    border-bottom-left-radius: 2px; }

.card .item:last-child, .list-inset .item:last-child {
  margin-bottom: -1px; }

.card .item, .list-inset .item, .padding > .list .item, .padding-horizontal > .list .item {
  margin-right: 0;
  margin-left: 0; }
  .card .item.item-input input, .list-inset .item.item-input input, .padding > .list .item.item-input input, .padding-horizontal > .list .item.item-input input {
    padding-right: 44px; }

.padding-left > .list .item {
  margin-left: 0; }

.padding-right > .list .item {
  margin-right: 0; }

/**
 * Badges
 * --------------------------------------------------
 */
.badge {
  background-color: transparent;
  color: #AAAAAA;
  z-index: 1;
  display: inline-block;
  padding: 3px 8px;
  min-width: 10px;
  border-radius: 10px;
  vertical-align: baseline;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
  font-size: 14px;
  line-height: 16px; }
  .badge:empty {
    display: none; }

.tabs .tab-item .badge.badge-light, .badge.badge-light {
  background-color: #fff;
  color: #444; }
.tabs .tab-item .badge.badge-stable, .badge.badge-stable {
  background-color: #f8f8f8;
  color: #444; }
.tabs .tab-item .badge.badge-positive, .badge.badge-positive {
  background-color: #387ef5;
  color: #fff; }
.tabs .tab-item .badge.badge-calm, .badge.badge-calm {
  background-color: #11c1f3;
  color: #fff; }
.tabs .tab-item .badge.badge-assertive, .badge.badge-assertive {
  background-color: #ef473a;
  color: #fff; }
.tabs .tab-item .badge.badge-balanced, .badge.badge-balanced {
  background-color: #33cd5f;
  color: #fff; }
.tabs .tab-item .badge.badge-energized, .badge.badge-energized {
  background-color: #ffc900;
  color: #fff; }
.tabs .tab-item .badge.badge-royal, .badge.badge-royal {
  background-color: #886aea;
  color: #fff; }
.tabs .tab-item .badge.badge-dark, .badge.badge-dark {
  background-color: #444;
  color: #fff; }

.button .badge {
  position: relative;
  top: -1px; }

/**
 * Slide Box
 * --------------------------------------------------
 */
.slider {
  position: relative;
  visibility: hidden;
  overflow: hidden; }

.slider-slides {
  position: relative;
  height: 100%; }

.slider-slide {
  position: relative;
  display: block;
  float: left;
  width: 100%;
  height: 100%;
  vertical-align: top; }

.slider-slide-image > img {
  width: 100%; }

.slider-pager {
  position: absolute;
  bottom: 20px;
  z-index: 1;
  width: 100%;
  height: 15px;
  text-align: center; }
  .slider-pager .slider-pager-page {
    display: inline-block;
    margin: 0px 3px;
    width: 15px;
    color: #000;
    text-decoration: none;
    opacity: 0.3; }
    .slider-pager .slider-pager-page.active {
      -webkit-transition: opacity 0.4s ease-in;
      transition: opacity 0.4s ease-in;
      opacity: 1; }

.scroll-refresher {
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
  overflow: hidden;
  margin: auto;
  height: 60px; }
  .scroll-refresher .ionic-refresher-content {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    color: #666666;
    text-align: center;
    font-size: 30px; }
    .scroll-refresher .ionic-refresher-content .text-refreshing, .scroll-refresher .ionic-refresher-content .text-pulling {
      font-size: 16px;
      line-height: 16px; }
    .scroll-refresher .ionic-refresher-content.ionic-refresher-with-text {
      bottom: 10px; }
  .scroll-refresher .icon-refreshing, .scroll-refresher .icon-pulling {
    width: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d; }
  .scroll-refresher .icon-pulling {
    -webkit-animation-name: refresh-spin-back;
    animation-name: refresh-spin-back;
    -webkit-animation-duration: 200ms;
    animation-duration: 200ms;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none;
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
    transform: translate3d(0, 0, 0) rotate(0deg); }
  .scroll-refresher .icon-refreshing, .scroll-refresher .text-refreshing {
    display: none; }
  .scroll-refresher .icon-refreshing {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s; }
  .scroll-refresher.active .icon-pulling:not(.pulling-rotation-disabled) {
    -webkit-animation-name: refresh-spin;
    animation-name: refresh-spin;
    -webkit-transform: translate3d(0, 0, 0) rotate(-180deg);
    transform: translate3d(0, 0, 0) rotate(-180deg); }
  .scroll-refresher.active.refreshing {
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    -webkit-transition: transform .2s;
    transition: transform .2s;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
    .scroll-refresher.active.refreshing .icon-pulling, .scroll-refresher.active.refreshing .text-pulling {
      display: none; }
    .scroll-refresher.active.refreshing .icon-refreshing, .scroll-refresher.active.refreshing .text-refreshing {
      display: block; }
    .scroll-refresher.active.refreshing.refreshing-tail {
      -webkit-transform: scale(0, 0);
      transform: scale(0, 0); }

.overflow-scroll > .scroll {
  -webkit-overflow-scrolling: touch;
  width: 100%; }
  .overflow-scroll > .scroll.overscroll {
    position: fixed; }

@-webkit-keyframes refresh-spin {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0); }

  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } }

@keyframes refresh-spin {
  0% {
    transform: translate3d(0, 0, 0) rotate(0); }

  100% {
    transform: translate3d(0, 0, 0) rotate(180deg); } }

@-webkit-keyframes refresh-spin-back {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(180deg); }

  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0); } }

@keyframes refresh-spin-back {
  0% {
    transform: translate3d(0, 0, 0) rotate(180deg); }

  100% {
    transform: translate3d(0, 0, 0) rotate(0); } }

/**
 * Spinners
 * --------------------------------------------------
 */
.spinner {
  stroke: #444;
  fill: #444; }
  .spinner svg {
    width: 28px;
    height: 28px; }
  .spinner.spinner-light {
    stroke: #fff;
    fill: #fff; }
  .spinner.spinner-stable {
    stroke: #f8f8f8;
    fill: #f8f8f8; }
  .spinner.spinner-positive {
    stroke: #387ef5;
    fill: #387ef5; }
  .spinner.spinner-calm {
    stroke: #11c1f3;
    fill: #11c1f3; }
  .spinner.spinner-balanced {
    stroke: #33cd5f;
    fill: #33cd5f; }
  .spinner.spinner-assertive {
    stroke: #ef473a;
    fill: #ef473a; }
  .spinner.spinner-energized {
    stroke: #ffc900;
    fill: #ffc900; }
  .spinner.spinner-royal {
    stroke: #886aea;
    fill: #886aea; }
  .spinner.spinner-dark {
    stroke: #444;
    fill: #444; }

.spinner-android {
  stroke: #4b8bf4; }

.spinner-ios, .spinner-ios-small {
  stroke: #69717d; }

.spinner-spiral .stop1 {
  stop-color: #fff;
  stop-opacity: 0; }
.spinner-spiral.spinner-light .stop1 {
  stop-color: #444; }
.spinner-spiral.spinner-light .stop2 {
  stop-color: #fff; }
.spinner-spiral.spinner-stable .stop2 {
  stop-color: #f8f8f8; }
.spinner-spiral.spinner-positive .stop2 {
  stop-color: #387ef5; }
.spinner-spiral.spinner-calm .stop2 {
  stop-color: #11c1f3; }
.spinner-spiral.spinner-balanced .stop2 {
  stop-color: #33cd5f; }
.spinner-spiral.spinner-assertive .stop2 {
  stop-color: #ef473a; }
.spinner-spiral.spinner-energized .stop2 {
  stop-color: #ffc900; }
.spinner-spiral.spinner-royal .stop2 {
  stop-color: #886aea; }
.spinner-spiral.spinner-dark .stop2 {
  stop-color: #444; }

/**
 * Forms
 * --------------------------------------------------
 */
form {
  margin: 0 0 1.42857; }

legend {
  display: block;
  margin-bottom: 1.42857;
  padding: 0;
  width: 100%;
  border: 1px solid #ddd;
  color: #444;
  font-size: 21px;
  line-height: 2.85714; }
  legend small {
    color: #f8f8f8;
    font-size: 1.07143; }

label, input, button, select, textarea {
  font-weight: normal;
  font-size: 14px;
  line-height: 1.42857; }

input, button, select, textarea {
  font-family: "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; }

.item-input {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 6px 0 5px 16px; }
  .item-input input {
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 220px;
    -moz-box-flex: 1;
    -moz-flex: 1 220px;
    -ms-flex: 1 220px;
    flex: 1 220px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding-right: 24px;
    background-color: transparent; }
  .item-input .button .icon {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 24px;
    -moz-box-flex: 0;
    -moz-flex: 0 0 24px;
    -ms-flex: 0 0 24px;
    flex: 0 0 24px;
    position: static;
    display: inline-block;
    height: auto;
    text-align: center;
    font-size: 16px; }
  .item-input .button-bar {
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 220px;
    -moz-box-flex: 1;
    -moz-flex: 1 0 220px;
    -ms-flex: 1 0 220px;
    flex: 1 0 220px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  .item-input .icon {
    min-width: 14px; }

.platform-windowsphone .item-input input {
  flex-shrink: 1; }

.item-input-inset {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 10.66667px; }

.item-input-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0;
  -moz-box-flex: 1;
  -moz-flex: 1 0;
  -ms-flex: 1 0;
  flex: 1 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  padding-right: 8px;
  padding-left: 8px;
  background: #eee; }

.item-input-inset .item-input-wrapper input {
  padding-left: 4px;
  height: 29px;
  background: transparent;
  line-height: 18px; }

.item-input-wrapper ~ .button {
  margin-left: 10.66667px; }

.input-label {
  display: table;
  padding: 7px 10px 7px 0px;
  max-width: 200px;
  width: 35%;
  color: #444;
  font-size: 16px; }

.placeholder-icon {
  color: #aaa; }
  .placeholder-icon:first-child {
    padding-right: 6px; }
  .placeholder-icon:last-child {
    padding-left: 6px; }

.item-stacked-label {
  display: block;
  background-color: transparent;
  box-shadow: none; }
  .item-stacked-label .input-label, .item-stacked-label .icon {
    display: inline-block;
    padding: 4px 0 0 0px;
    vertical-align: middle; }

.item-stacked-label input, .item-stacked-label textarea {
  -webkit-border-radius: 2px;
  border-radius: 2px;
  padding: 4px 8px 3px 0;
  border: none;
  background-color: #fff; }

.item-stacked-label input {
  overflow: hidden;
  height: 46px; }

.item-floating-label {
  display: block;
  background-color: transparent;
  box-shadow: none; }
  .item-floating-label .input-label {
    position: relative;
    padding: 5px 0 0 0;
    opacity: 0;
    top: 10px;
    -webkit-transition: opacity .15s ease-in, top .2s linear;
    transition: opacity .15s ease-in, top .2s linear; }
    .item-floating-label .input-label.has-input {
      opacity: 1;
      top: 0;
      -webkit-transition: opacity .15s ease-in, top .2s linear;
      transition: opacity .15s ease-in, top .2s linear; }

textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] {
  display: block;
  padding-top: 2px;
  padding-left: 0;
  height: 34px;
  color: #111;
  vertical-align: middle;
  font-size: 14px;
  line-height: 16px; }

.platform-ios input[type="datetime-local"], .platform-ios input[type="date"], .platform-ios input[type="month"], .platform-ios input[type="time"], .platform-ios input[type="week"], .platform-android input[type="datetime-local"], .platform-android input[type="date"], .platform-android input[type="month"], .platform-android input[type="time"], .platform-android input[type="week"] {
  padding-top: 8px; }

.item-input input, .item-input textarea {
  width: 100%; }

textarea {
  padding-left: 0; }
  textarea::-moz-placeholder {
    color: #aaaaaa; }
  textarea:-ms-input-placeholder {
    color: #aaaaaa; }
  textarea::-webkit-input-placeholder {
    color: #aaaaaa;
    text-indent: -3px; }

textarea {
  height: auto; }

textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] {
  border: 0; }

input[type="radio"], input[type="checkbox"] {
  margin: 0;
  line-height: normal; }

.item-input input[type="file"], .item-input input[type="image"], .item-input input[type="submit"], .item-input input[type="reset"], .item-input input[type="button"], .item-input input[type="radio"], .item-input input[type="checkbox"] {
  width: auto; }

input[type="file"] {
  line-height: 34px; }

.previous-input-focus, .cloned-text-input + input, .cloned-text-input + textarea {
  position: absolute !important;
  left: -9999px;
  width: 200px; }

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #aaaaaa; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #aaaaaa; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #aaaaaa;
  text-indent: 0; }

input[disabled], select[disabled], textarea[disabled], input[readonly]:not(.cloned-text-input), textarea[readonly]:not(.cloned-text-input), select[readonly] {
  background-color: #f8f8f8;
  cursor: not-allowed; }

input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"][readonly], input[type="checkbox"][readonly] {
  background-color: transparent; }

/**
 * Checkbox
 * --------------------------------------------------
 */
.checkbox {
  position: relative;
  display: inline-block;
  padding: 7px 7px;
  cursor: pointer; }
  .checkbox input:before, .checkbox .checkbox-icon:before {
    border-color: #ddd; }
  .checkbox input:checked:before, .checkbox input:checked + .checkbox-icon:before {
    background: #387ef5;
    border-color: #387ef5; }

.checkbox-light input:before, .checkbox-light .checkbox-icon:before {
  border-color: #ddd; }
.checkbox-light input:checked:before, .checkbox-light input:checked + .checkbox-icon:before {
  background: #ddd;
  border-color: #ddd; }

.checkbox-stable input:before, .checkbox-stable .checkbox-icon:before {
  border-color: #b2b2b2; }
.checkbox-stable input:checked:before, .checkbox-stable input:checked + .checkbox-icon:before {
  background: #b2b2b2;
  border-color: #b2b2b2; }

.checkbox-positive input:before, .checkbox-positive .checkbox-icon:before {
  border-color: #387ef5; }
.checkbox-positive input:checked:before, .checkbox-positive input:checked + .checkbox-icon:before {
  background: #387ef5;
  border-color: #387ef5; }

.checkbox-calm input:before, .checkbox-calm .checkbox-icon:before {
  border-color: #11c1f3; }
.checkbox-calm input:checked:before, .checkbox-calm input:checked + .checkbox-icon:before {
  background: #11c1f3;
  border-color: #11c1f3; }

.checkbox-assertive input:before, .checkbox-assertive .checkbox-icon:before {
  border-color: #ef473a; }
.checkbox-assertive input:checked:before, .checkbox-assertive input:checked + .checkbox-icon:before {
  background: #ef473a;
  border-color: #ef473a; }

.checkbox-balanced input:before, .checkbox-balanced .checkbox-icon:before {
  border-color: #33cd5f; }
.checkbox-balanced input:checked:before, .checkbox-balanced input:checked + .checkbox-icon:before {
  background: #33cd5f;
  border-color: #33cd5f; }

.checkbox-energized input:before, .checkbox-energized .checkbox-icon:before {
  border-color: #ffc900; }
.checkbox-energized input:checked:before, .checkbox-energized input:checked + .checkbox-icon:before {
  background: #ffc900;
  border-color: #ffc900; }

.checkbox-royal input:before, .checkbox-royal .checkbox-icon:before {
  border-color: #886aea; }
.checkbox-royal input:checked:before, .checkbox-royal input:checked + .checkbox-icon:before {
  background: #886aea;
  border-color: #886aea; }

.checkbox-dark input:before, .checkbox-dark .checkbox-icon:before {
  border-color: #444; }
.checkbox-dark input:checked:before, .checkbox-dark input:checked + .checkbox-icon:before {
  background: #444;
  border-color: #444; }

.checkbox input:disabled:before, .checkbox input:disabled + .checkbox-icon:before {
  border-color: #ddd; }

.checkbox input:disabled:checked:before, .checkbox input:disabled:checked + .checkbox-icon:before {
  background: #ddd; }

.checkbox.checkbox-input-hidden input {
  display: none !important; }

.checkbox input, .checkbox-icon {
  position: relative;
  width: 28px;
  height: 28px;
  display: block;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none; }
  .checkbox input:before, .checkbox-icon:before {
    display: table;
    width: 100%;
    height: 100%;
    border-width: 1px;
    border-style: solid;
    border-radius: 28px;
    background: #fff;
    content: ' ';
    -webkit-transition: background-color 20ms ease-in-out;
    transition: background-color 20ms ease-in-out; }

.checkbox input:checked:before, input:checked + .checkbox-icon:before {
  border-width: 2px; }

.checkbox input:after, .checkbox-icon:after {
  -webkit-transition: opacity .05s ease-in-out;
  transition: opacity .05s ease-in-out;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 33%;
  left: 25%;
  display: table;
  width: 14px;
  height: 6px;
  border: 1px solid #fff;
  border-top: 0;
  border-right: 0;
  content: ' ';
  opacity: 0; }

.platform-android .checkbox-platform input:before, .platform-android .checkbox-platform .checkbox-icon:before, .checkbox-square input:before, .checkbox-square .checkbox-icon:before {
  border-radius: 2px;
  width: 72%;
  height: 72%;
  margin-top: 14%;
  margin-left: 14%;
  border-width: 2px; }

.platform-android .checkbox-platform input:after, .platform-android .checkbox-platform .checkbox-icon:after, .checkbox-square input:after, .checkbox-square .checkbox-icon:after {
  border-width: 2px;
  top: 19%;
  left: 25%;
  width: 13px;
  height: 7px; }

.grade-c .checkbox input:after, .grade-c .checkbox-icon:after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
  top: 3px;
  left: 4px;
  border: none;
  color: #fff;
  content: '\2713';
  font-weight: bold;
  font-size: 20px; }

.checkbox input:checked:after, input:checked + .checkbox-icon:after {
  opacity: 1; }

.item-checkbox {
  padding-left: 60px; }
  .item-checkbox.active
Download .txt
gitextract_y8en00ab/

├── .bowerrc
├── .gitignore
├── README.md
├── bower.json
├── config.xml
├── gulpfile.js
├── hooks/
│   ├── README.md
│   └── after_prepare/
│       └── 010_add_platform_class.js
├── ionic.project
├── package.json
├── scss/
│   ├── app/
│   │   ├── _header.scss
│   │   ├── _topic.scss
│   │   ├── _topics.scss
│   │   └── _user.scss
│   ├── base/
│   │   └── _variables.scss
│   ├── ionic.app.scss
│   └── modules/
│       ├── _bar.scss
│       ├── _items.scss
│       ├── _markdown.scss
│       └── _scaffolding.scss
└── www/
    ├── css/
    │   ├── ionic.app.css
    │   └── style.css
    ├── index.html
    ├── js/
    │   ├── app.js
    │   ├── config.js
    │   ├── controllers.js
    │   └── services.js
    ├── lib/
    │   ├── angular/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-csp.css
    │   │   ├── angular.js
    │   │   ├── angular.min.js.gzip
    │   │   ├── bower.json
    │   │   └── package.json
    │   ├── angular-animate/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-animate.js
    │   │   ├── bower.json
    │   │   └── package.json
    │   ├── angular-moment/
    │   │   ├── .bower.json
    │   │   ├── .editorconfig
    │   │   ├── .gitignore
    │   │   ├── .jshintrc
    │   │   ├── .npmignore
    │   │   ├── .travis.yml
    │   │   ├── CHANGELOG.md
    │   │   ├── CONTRIBUTING.md
    │   │   ├── Gruntfile.js
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── angular-moment.js
    │   │   ├── angular-moment.nuspec
    │   │   ├── bower.json
    │   │   ├── karma.conf.js
    │   │   ├── package.json
    │   │   └── tests.js
    │   ├── angular-resource/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-resource.js
    │   │   ├── bower.json
    │   │   ├── index.js
    │   │   └── package.json
    │   ├── angular-sanitize/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── angular-sanitize.js
    │   │   ├── bower.json
    │   │   └── package.json
    │   ├── angular-ui-router/
    │   │   ├── .bower.json
    │   │   ├── CHANGELOG.md
    │   │   ├── CONTRIBUTING.md
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── api/
    │   │   │   └── angular-ui-router.d.ts
    │   │   ├── bower.json
    │   │   ├── release/
    │   │   │   └── angular-ui-router.js
    │   │   └── src/
    │   │       ├── common.js
    │   │       ├── resolve.js
    │   │       ├── state.js
    │   │       ├── stateDirectives.js
    │   │       ├── stateFilters.js
    │   │       ├── templateFactory.js
    │   │       ├── urlMatcherFactory.js
    │   │       ├── urlRouter.js
    │   │       ├── view.js
    │   │       ├── viewDirective.js
    │   │       └── viewScroll.js
    │   ├── ionic/
    │   │   ├── .bower.json
    │   │   ├── README.md
    │   │   ├── bower.json
    │   │   ├── css/
    │   │   │   └── ionic.css
    │   │   ├── js/
    │   │   │   ├── ionic-angular.js
    │   │   │   ├── ionic.bundle.js
    │   │   │   └── ionic.js
    │   │   └── scss/
    │   │       ├── _action-sheet.scss
    │   │       ├── _animations.scss
    │   │       ├── _backdrop.scss
    │   │       ├── _badge.scss
    │   │       ├── _bar.scss
    │   │       ├── _button-bar.scss
    │   │       ├── _button.scss
    │   │       ├── _checkbox.scss
    │   │       ├── _form.scss
    │   │       ├── _grid.scss
    │   │       ├── _items.scss
    │   │       ├── _list.scss
    │   │       ├── _loaders.scss
    │   │       ├── _loading.scss
    │   │       ├── _menu.scss
    │   │       ├── _mixins.scss
    │   │       ├── _modal.scss
    │   │       ├── _platform.scss
    │   │       ├── _popover.scss
    │   │       ├── _popup.scss
    │   │       ├── _progress.scss
    │   │       ├── _radio.scss
    │   │       ├── _range.scss
    │   │       ├── _refresher.scss
    │   │       ├── _reset.scss
    │   │       ├── _scaffolding.scss
    │   │       ├── _select.scss
    │   │       ├── _slide-box.scss
    │   │       ├── _spinner.scss
    │   │       ├── _split-pane.scss
    │   │       ├── _tabs.scss
    │   │       ├── _toggle.scss
    │   │       ├── _transitions.scss
    │   │       ├── _type.scss
    │   │       ├── _util.scss
    │   │       ├── _variables.scss
    │   │       ├── ionic.scss
    │   │       └── ionicons/
    │   │           ├── _ionicons-animation.scss
    │   │           ├── _ionicons-font.scss
    │   │           ├── _ionicons-icons.scss
    │   │           ├── _ionicons-variables.scss
    │   │           └── ionicons.scss
    │   ├── moment/
    │   │   ├── .bower.json
    │   │   ├── CHANGELOG.md
    │   │   ├── LICENSE
    │   │   ├── Moment.js.nuspec
    │   │   ├── README.md
    │   │   ├── benchmarks/
    │   │   │   └── clone.js
    │   │   ├── bower.json
    │   │   ├── locale/
    │   │   │   ├── af.js
    │   │   │   ├── ar-ma.js
    │   │   │   ├── ar-sa.js
    │   │   │   ├── ar-tn.js
    │   │   │   ├── ar.js
    │   │   │   ├── az.js
    │   │   │   ├── be.js
    │   │   │   ├── bg.js
    │   │   │   ├── bn.js
    │   │   │   ├── bo.js
    │   │   │   ├── br.js
    │   │   │   ├── bs.js
    │   │   │   ├── ca.js
    │   │   │   ├── cs.js
    │   │   │   ├── cv.js
    │   │   │   ├── cy.js
    │   │   │   ├── da.js
    │   │   │   ├── de-at.js
    │   │   │   ├── de.js
    │   │   │   ├── el.js
    │   │   │   ├── en-au.js
    │   │   │   ├── en-ca.js
    │   │   │   ├── en-gb.js
    │   │   │   ├── eo.js
    │   │   │   ├── es.js
    │   │   │   ├── et.js
    │   │   │   ├── eu.js
    │   │   │   ├── fa.js
    │   │   │   ├── fi.js
    │   │   │   ├── fo.js
    │   │   │   ├── fr-ca.js
    │   │   │   ├── fr.js
    │   │   │   ├── fy.js
    │   │   │   ├── gl.js
    │   │   │   ├── he.js
    │   │   │   ├── hi.js
    │   │   │   ├── hr.js
    │   │   │   ├── hu.js
    │   │   │   ├── hy-am.js
    │   │   │   ├── id.js
    │   │   │   ├── is.js
    │   │   │   ├── it.js
    │   │   │   ├── ja.js
    │   │   │   ├── ka.js
    │   │   │   ├── km.js
    │   │   │   ├── ko.js
    │   │   │   ├── lb.js
    │   │   │   ├── lt.js
    │   │   │   ├── lv.js
    │   │   │   ├── mk.js
    │   │   │   ├── ml.js
    │   │   │   ├── mr.js
    │   │   │   ├── ms-my.js
    │   │   │   ├── my.js
    │   │   │   ├── nb.js
    │   │   │   ├── ne.js
    │   │   │   ├── nl.js
    │   │   │   ├── nn.js
    │   │   │   ├── pl.js
    │   │   │   ├── pt-br.js
    │   │   │   ├── pt.js
    │   │   │   ├── ro.js
    │   │   │   ├── ru.js
    │   │   │   ├── sk.js
    │   │   │   ├── sl.js
    │   │   │   ├── sq.js
    │   │   │   ├── sr-cyrl.js
    │   │   │   ├── sr.js
    │   │   │   ├── sv.js
    │   │   │   ├── ta.js
    │   │   │   ├── th.js
    │   │   │   ├── tl-ph.js
    │   │   │   ├── tr.js
    │   │   │   ├── tzm-latn.js
    │   │   │   ├── tzm.js
    │   │   │   ├── uk.js
    │   │   │   ├── uz.js
    │   │   │   ├── vi.js
    │   │   │   ├── zh-cn.js
    │   │   │   └── zh-tw.js
    │   │   ├── meteor/
    │   │   │   ├── README.md
    │   │   │   ├── export.js
    │   │   │   └── test.js
    │   │   ├── min/
    │   │   │   ├── locales.js
    │   │   │   ├── moment-with-locales.js
    │   │   │   └── tests.js
    │   │   ├── moment.js
    │   │   ├── src/
    │   │   │   ├── lib/
    │   │   │   │   ├── create/
    │   │   │   │   │   ├── check-overflow.js
    │   │   │   │   │   ├── date-from-array.js
    │   │   │   │   │   ├── default-parsing-flags.js
    │   │   │   │   │   ├── from-anything.js
    │   │   │   │   │   ├── from-array.js
    │   │   │   │   │   ├── from-object.js
    │   │   │   │   │   ├── from-string-and-array.js
    │   │   │   │   │   ├── from-string-and-format.js
    │   │   │   │   │   ├── from-string.js
    │   │   │   │   │   ├── local.js
    │   │   │   │   │   ├── utc.js
    │   │   │   │   │   └── valid.js
    │   │   │   │   ├── duration/
    │   │   │   │   │   ├── abs.js
    │   │   │   │   │   ├── add-subtract.js
    │   │   │   │   │   ├── as.js
    │   │   │   │   │   ├── bubble.js
    │   │   │   │   │   ├── constructor.js
    │   │   │   │   │   ├── create.js
    │   │   │   │   │   ├── duration.js
    │   │   │   │   │   ├── get.js
    │   │   │   │   │   ├── humanize.js
    │   │   │   │   │   ├── iso-string.js
    │   │   │   │   │   └── prototype.js
    │   │   │   │   ├── format/
    │   │   │   │   │   └── format.js
    │   │   │   │   ├── locale/
    │   │   │   │   │   ├── calendar.js
    │   │   │   │   │   ├── constructor.js
    │   │   │   │   │   ├── en.js
    │   │   │   │   │   ├── formats.js
    │   │   │   │   │   ├── invalid.js
    │   │   │   │   │   ├── lists.js
    │   │   │   │   │   ├── locale.js
    │   │   │   │   │   ├── locales.js
    │   │   │   │   │   ├── ordinal.js
    │   │   │   │   │   ├── pre-post-format.js
    │   │   │   │   │   ├── prototype.js
    │   │   │   │   │   ├── relative.js
    │   │   │   │   │   └── set.js
    │   │   │   │   ├── moment/
    │   │   │   │   │   ├── add-subtract.js
    │   │   │   │   │   ├── calendar.js
    │   │   │   │   │   ├── clone.js
    │   │   │   │   │   ├── compare.js
    │   │   │   │   │   ├── constructor.js
    │   │   │   │   │   ├── diff.js
    │   │   │   │   │   ├── format.js
    │   │   │   │   │   ├── from.js
    │   │   │   │   │   ├── get-set.js
    │   │   │   │   │   ├── locale.js
    │   │   │   │   │   ├── min-max.js
    │   │   │   │   │   ├── moment.js
    │   │   │   │   │   ├── prototype.js
    │   │   │   │   │   ├── start-end-of.js
    │   │   │   │   │   ├── to-type.js
    │   │   │   │   │   └── valid.js
    │   │   │   │   ├── parse/
    │   │   │   │   │   ├── regex.js
    │   │   │   │   │   └── token.js
    │   │   │   │   ├── units/
    │   │   │   │   │   ├── aliases.js
    │   │   │   │   │   ├── constants.js
    │   │   │   │   │   ├── day-of-month.js
    │   │   │   │   │   ├── day-of-week.js
    │   │   │   │   │   ├── day-of-year.js
    │   │   │   │   │   ├── hour.js
    │   │   │   │   │   ├── millisecond.js
    │   │   │   │   │   ├── minute.js
    │   │   │   │   │   ├── month.js
    │   │   │   │   │   ├── offset.js
    │   │   │   │   │   ├── quarter.js
    │   │   │   │   │   ├── second.js
    │   │   │   │   │   ├── timestamp.js
    │   │   │   │   │   ├── timezone.js
    │   │   │   │   │   ├── units.js
    │   │   │   │   │   ├── week-year.js
    │   │   │   │   │   ├── week.js
    │   │   │   │   │   └── year.js
    │   │   │   │   └── utils/
    │   │   │   │       ├── abs-floor.js
    │   │   │   │       ├── compare-arrays.js
    │   │   │   │       ├── defaults.js
    │   │   │   │       ├── deprecate.js
    │   │   │   │       ├── extend.js
    │   │   │   │       ├── has-own-prop.js
    │   │   │   │       ├── hooks.js
    │   │   │   │       ├── is-array.js
    │   │   │   │       ├── is-date.js
    │   │   │   │       ├── map.js
    │   │   │   │       ├── to-int.js
    │   │   │   │       └── zero-fill.js
    │   │   │   ├── locale/
    │   │   │   │   ├── af.js
    │   │   │   │   ├── ar-ma.js
    │   │   │   │   ├── ar-sa.js
    │   │   │   │   ├── ar-tn.js
    │   │   │   │   ├── ar.js
    │   │   │   │   ├── az.js
    │   │   │   │   ├── be.js
    │   │   │   │   ├── bg.js
    │   │   │   │   ├── bn.js
    │   │   │   │   ├── bo.js
    │   │   │   │   ├── br.js
    │   │   │   │   ├── bs.js
    │   │   │   │   ├── ca.js
    │   │   │   │   ├── cs.js
    │   │   │   │   ├── cv.js
    │   │   │   │   ├── cy.js
    │   │   │   │   ├── da.js
    │   │   │   │   ├── de-at.js
    │   │   │   │   ├── de.js
    │   │   │   │   ├── el.js
    │   │   │   │   ├── en-au.js
    │   │   │   │   ├── en-ca.js
    │   │   │   │   ├── en-gb.js
    │   │   │   │   ├── eo.js
    │   │   │   │   ├── es.js
    │   │   │   │   ├── et.js
    │   │   │   │   ├── eu.js
    │   │   │   │   ├── fa.js
    │   │   │   │   ├── fi.js
    │   │   │   │   ├── fo.js
    │   │   │   │   ├── fr-ca.js
    │   │   │   │   ├── fr.js
    │   │   │   │   ├── fy.js
    │   │   │   │   ├── gl.js
    │   │   │   │   ├── he.js
    │   │   │   │   ├── hi.js
    │   │   │   │   ├── hr.js
    │   │   │   │   ├── hu.js
    │   │   │   │   ├── hy-am.js
    │   │   │   │   ├── id.js
    │   │   │   │   ├── is.js
    │   │   │   │   ├── it.js
    │   │   │   │   ├── ja.js
    │   │   │   │   ├── ka.js
    │   │   │   │   ├── km.js
    │   │   │   │   ├── ko.js
    │   │   │   │   ├── lb.js
    │   │   │   │   ├── lt.js
    │   │   │   │   ├── lv.js
    │   │   │   │   ├── mk.js
    │   │   │   │   ├── ml.js
    │   │   │   │   ├── mr.js
    │   │   │   │   ├── ms-my.js
    │   │   │   │   ├── my.js
    │   │   │   │   ├── nb.js
    │   │   │   │   ├── ne.js
    │   │   │   │   ├── nl.js
    │   │   │   │   ├── nn.js
    │   │   │   │   ├── pl.js
    │   │   │   │   ├── pt-br.js
    │   │   │   │   ├── pt.js
    │   │   │   │   ├── ro.js
    │   │   │   │   ├── ru.js
    │   │   │   │   ├── sk.js
    │   │   │   │   ├── sl.js
    │   │   │   │   ├── sq.js
    │   │   │   │   ├── sr-cyrl.js
    │   │   │   │   ├── sr.js
    │   │   │   │   ├── sv.js
    │   │   │   │   ├── ta.js
    │   │   │   │   ├── th.js
    │   │   │   │   ├── tl-ph.js
    │   │   │   │   ├── tr.js
    │   │   │   │   ├── tzm-latn.js
    │   │   │   │   ├── tzm.js
    │   │   │   │   ├── uk.js
    │   │   │   │   ├── uz.js
    │   │   │   │   ├── vi.js
    │   │   │   │   ├── zh-cn.js
    │   │   │   │   └── zh-tw.js
    │   │   │   └── moment.js
    │   │   └── templates/
    │   │       ├── amd-named.js
    │   │       ├── amd.js
    │   │       ├── globals.js
    │   │       ├── locale-header.js
    │   │       └── test-header.js
    │   └── ngCordova/
    │       ├── .bower.json
    │       ├── CHANGELOG.md
    │       ├── LICENSE
    │       ├── README.md
    │       ├── bower.json
    │       ├── dist/
    │       │   ├── ng-cordova-mocks.js
    │       │   └── ng-cordova.js
    │       └── package.json
    └── views/
        ├── explore/
        │   ├── explore.html
        │   └── explore.js
        ├── my/
        │   ├── messages.html
        │   ├── my.html
        │   ├── my.js
        │   └── personal.html
        ├── tabs.html
        └── topic/
            ├── newTopic.html
            ├── popover.html
            ├── topic.html
            ├── topics.html
            └── topics.js
Download .txt
SYMBOL INDEX (2188 symbols across 143 files)

FILE: hooks/after_prepare/010_add_platform_class.js
  function addPlatformBodyTag (line 16) | function addPlatformBodyTag(indexPath, platform) {
  function findBodyTag (line 54) | function findBodyTag(html) {
  function findClassAttr (line 61) | function findClassAttr(bodyTag) {

FILE: www/lib/angular-animate/angular-animate.js
  function extractElementNode (line 462) | function extractElementNode(element) {
  function prepareElement (line 471) | function prepareElement(element) {
  function stripCommentsFromElement (line 475) | function stripCommentsFromElement(element) {
  function isMatchingElement (line 479) | function isMatchingElement(elm1, elm2) {
  function classBasedAnimationsBlocked (line 523) | function classBasedAnimationsBlocked(element, setter) {
  function runAnimationPostDigest (line 533) | function runAnimationPostDigest(fn) {
  function parseAnimateOptions (line 546) | function parseAnimateOptions(options) {
  function resolveElementClasses (line 558) | function resolveElementClasses(element, cache, runningAnimations) {
  function lookup (line 602) | function lookup(name) {
  function animationRunner (line 632) | function animationRunner(element, animationEvent, className, options) {
  function performAnimation (line 1282) | function performAnimation(animationEvent, className, element, parentElem...
  function cancelChildAnimations (line 1499) | function cancelChildAnimations(element) {
  function cleanup (line 1517) | function cleanup(element, className) {
  function animationsDisabled (line 1539) | function animationsDisabled(element, parentElement) {
  function clearCacheAfterReflow (line 1632) | function clearCacheAfterReflow() {
  function afterReflow (line 1642) | function afterReflow(element, callback) {
  function animationCloseHandler (line 1661) | function animationCloseHandler(element, totalTime) {
  function closeAllAnimations (line 1685) | function closeAllAnimations(elements) {
  function getElementAnimationDetails (line 1696) | function getElementAnimationDetails(element, cacheKey) {
  function parseMaxTime (line 1740) | function parseMaxTime(str) {
  function getCacheKey (line 1751) | function getCacheKey(element) {
  function animateSetup (line 1761) | function animateSetup(animationEvent, element, className, styles) {
  function animateRun (line 1824) | function animateRun(animationEvent, element, className, activeAnimationC...
  function blockTransitions (line 1979) | function blockTransitions(node, bool) {
  function blockAnimations (line 1983) | function blockAnimations(node, bool) {
  function animateBefore (line 1987) | function animateBefore(animationEvent, element, className, styles) {
  function animateAfter (line 1995) | function animateAfter(animationEvent, element, className, afterAnimation...
  function animate (line 2004) | function animate(animationEvent, element, className, animationComplete, ...
  function animateClose (line 2033) | function animateClose(element, className) {
  function suffixClasses (line 2123) | function suffixClasses(classes, suffix) {

FILE: www/lib/angular-moment/angular-moment.js
  function angularMoment (line 11) | function angularMoment(angular, moment) {

FILE: www/lib/angular-resource/angular-resource.js
  function isValidDottedPath (line 15) | function isValidDottedPath(path) {
  function lookupDottedPath (line 20) | function lookupDottedPath(obj, path) {
  function shallowClearAndCopy (line 35) | function shallowClearAndCopy(src, dst) {
  function encodeUriSegment (line 390) | function encodeUriSegment(val) {
  function encodeUriQuery (line 409) | function encodeUriQuery(val, pctEncodeSpaces) {
  function Route (line 418) | function Route(template, defaults) {
  function resourceFactory (line 486) | function resourceFactory(url, paramDefaults, actions, options) {

FILE: www/lib/angular-sanitize/angular-sanitize.js
  function $SanitizeProvider (line 140) | function $SanitizeProvider() {
  function sanitizeText (line 152) | function sanitizeText(chars) {
  function makeMap (line 251) | function makeMap(str) {
  function htmlParser (line 270) | function htmlParser(html, handler) {
  function decodeEntities (line 425) | function decodeEntities(value) {
  function encodeEntities (line 453) | function encodeEntities(value) {
  function htmlSanitizeWriter (line 478) | function htmlSanitizeWriter(buf, uriValidator) {
  function addText (line 657) | function addText(text) {
  function addLink (line 664) | function addLink(url, text) {

FILE: www/lib/angular-ui-router/api/angular-ui-router.d.ts
  type IState (line 8) | interface IState {
  type ITypedState (line 27) | interface ITypedState<T> extends IState {
  type IStateProvider (line 31) | interface IStateProvider extends IServiceProvider {
  type IUrlMatcher (line 37) | interface IUrlMatcher {
  type IUrlMatcherFactory (line 44) | interface IUrlMatcherFactory {
  type IUrlRouterProvider (line 49) | interface IUrlRouterProvider extends IServiceProvider {
  type IStateOptions (line 66) | interface IStateOptions {
  type IHrefOptions (line 74) | interface IHrefOptions {
  type IStateService (line 81) | interface IStateService {
  type IStateParamsService (line 97) | interface IStateParamsService {
  type IStateParams (line 101) | interface IStateParams {
  type IUrlRouterService (line 105) | interface IUrlRouterService {
  type IUiViewScrollProvider (line 119) | interface IUiViewScrollProvider {

FILE: www/lib/angular-ui-router/release/angular-ui-router.js
  function inherit (line 27) | function inherit(parent, extra) {
  function merge (line 31) | function merge(dst) {
  function ancestors (line 49) | function ancestors(first, second) {
  function objectKeys (line 65) | function objectKeys(object) {
  function indexOf (line 84) | function indexOf(array, value) {
  function inheritParams (line 108) | function inheritParams(currentParams, newParams, $current, $to) {
  function equalForKeys (line 134) | function equalForKeys(a, b, keys) {
  function filterByKeys (line 154) | function filterByKeys(keys, values) {
  function indexBy (line 165) | function indexBy(array, propName) {
  function pick (line 175) | function pick(obj) {
  function omit (line 186) | function omit(obj) {
  function pluck (line 195) | function pluck(collection, key) {
  function filter (line 204) | function filter(collection, callback) {
  function map (line 215) | function map(collection, callback) {
  function $Resolve (line 318) | function $Resolve(  $q,    $injector) {
  function $TemplateFactory (line 572) | function $TemplateFactory(  $http,   $templateCache,   $injector) {
  function UrlMatcher (line 738) | function UrlMatcher(pattern, config, parentMatcher) {
  function decodePathArray (line 913) | function decodePathArray(string) {
  function encodeDashes (line 999) | function encodeDashes(str) { // Replace dashes with encoded "\-"
  function Type (line 1069) | function Type(config) {
  function ArrayType (line 1168) | function ArrayType(type, mode) {
  function $UrlMatcherFactory (line 1229) | function $UrlMatcherFactory() {
  function $UrlRouterProvider (line 1725) | function $UrlRouterProvider(   $locationProvider,   $urlMatcherFactory) {
  function $StateProvider (line 2144) | function $StateProvider(   $urlRouterProvider,   $urlMatcherFactory) {
  function $ViewProvider (line 3498) | function $ViewProvider() {
  function $ViewScrollProvider (line 3575) | function $ViewScrollProvider() {
  function $ViewDirective (line 3735) | function $ViewDirective(   $state,   $injector,   $uiViewScroll,   $inte...
  function $ViewDirectiveFill (line 3875) | function $ViewDirectiveFill (  $compile,   $controller,   $state,   $int...
  function getUiViewName (line 3915) | function getUiViewName(scope, attrs, element, $interpolate) {
  function parseStateRef (line 3924) | function parseStateRef(ref, current) {
  function stateContext (line 3932) | function stateContext(el) {
  function $StateRefDirective (line 4003) | function $StateRefDirective($state, $timeout) {
  function $StateRefActiveDirective (line 4148) | function $StateRefActiveDirective($state, $stateParams, $interpolate) {
  function $IsStateFilter (line 4203) | function $IsStateFilter($state) {
  function $IncludedByStateFilter (line 4221) | function $IncludedByStateFilter($state) {

FILE: www/lib/angular-ui-router/src/common.js
  function inherit (line 14) | function inherit(parent, extra) {
  function merge (line 18) | function merge(dst) {
  function ancestors (line 36) | function ancestors(first, second) {
  function objectKeys (line 52) | function objectKeys(object) {
  function indexOf (line 71) | function indexOf(array, value) {
  function inheritParams (line 95) | function inheritParams(currentParams, newParams, $current, $to) {
  function equalForKeys (line 121) | function equalForKeys(a, b, keys) {
  function filterByKeys (line 141) | function filterByKeys(keys, values) {
  function indexBy (line 152) | function indexBy(array, propName) {
  function pick (line 162) | function pick(obj) {
  function omit (line 173) | function omit(obj) {
  function pluck (line 182) | function pluck(collection, key) {
  function filter (line 191) | function filter(collection, callback) {
  function map (line 202) | function map(collection, callback) {

FILE: www/lib/angular-ui-router/src/resolve.js
  function $Resolve (line 12) | function $Resolve(  $q,    $injector) {

FILE: www/lib/angular-ui-router/src/state.js
  function $StateProvider (line 23) | function $StateProvider(   $urlRouterProvider,   $urlMatcherFactory) {

FILE: www/lib/angular-ui-router/src/stateDirectives.js
  function parseStateRef (line 1) | function parseStateRef(ref, current) {
  function stateContext (line 9) | function stateContext(el) {
  function $StateRefDirective (line 80) | function $StateRefDirective($state, $timeout) {
  function $StateRefActiveDirective (line 225) | function $StateRefActiveDirective($state, $stateParams, $interpolate) {

FILE: www/lib/angular-ui-router/src/stateFilters.js
  function $IsStateFilter (line 11) | function $IsStateFilter($state) {
  function $IncludedByStateFilter (line 29) | function $IncludedByStateFilter($state) {

FILE: www/lib/angular-ui-router/src/templateFactory.js
  function $TemplateFactory (line 13) | function $TemplateFactory(  $http,   $templateCache,   $injector) {

FILE: www/lib/angular-ui-router/src/urlMatcherFactory.js
  function UrlMatcher (line 68) | function UrlMatcher(pattern, config, parentMatcher) {
  function decodePathArray (line 243) | function decodePathArray(string) {
  function encodeDashes (line 329) | function encodeDashes(str) { // Replace dashes with encoded "\-"
  function Type (line 399) | function Type(config) {
  function ArrayType (line 498) | function ArrayType(type, mode) {
  function $UrlMatcherFactory (line 559) | function $UrlMatcherFactory() {

FILE: www/lib/angular-ui-router/src/urlRouter.js
  function $UrlRouterProvider (line 18) | function $UrlRouterProvider(   $locationProvider,   $urlMatcherFactory) {

FILE: www/lib/angular-ui-router/src/view.js
  function $ViewProvider (line 3) | function $ViewProvider() {

FILE: www/lib/angular-ui-router/src/viewDirective.js
  function $ViewDirective (line 115) | function $ViewDirective(   $state,   $injector,   $uiViewScroll,   $inte...
  function $ViewDirectiveFill (line 255) | function $ViewDirectiveFill (  $compile,   $controller,   $state,   $int...
  function getUiViewName (line 295) | function getUiViewName(scope, attrs, element, $interpolate) {

FILE: www/lib/angular-ui-router/src/viewScroll.js
  function $ViewScrollProvider (line 8) | function $ViewScrollProvider() {

FILE: www/lib/angular/angular.js
  function minErr (line 38) | function minErr(module, ErrorConstructor) {
  function isArrayLike (line 258) | function isArrayLike(obj) {
  function forEach (line 308) | function forEach(obj, iterator, context) {
  function sortedKeys (line 339) | function sortedKeys(obj) {
  function forEachSorted (line 343) | function forEachSorted(obj, iterator, context) {
  function reverseParams (line 357) | function reverseParams(iteratorFn) {
  function nextUid (line 371) | function nextUid() {
  function setHashKey (line 381) | function setHashKey(obj, h) {
  function extend (line 405) | function extend(dst) {
  function int (line 423) | function int(str) {
  function inherit (line 428) | function inherit(parent, extra) {
  function noop (line 448) | function noop() {}
  function identity (line 470) | function identity($) {return $;}
  function valueFn (line 474) | function valueFn(value) {return function() {return value;};}
  function isUndefined (line 488) | function isUndefined(value) {return typeof value === 'undefined';}
  function isDefined (line 503) | function isDefined(value) {return typeof value !== 'undefined';}
  function isObject (line 519) | function isObject(value) {
  function isString (line 537) | function isString(value) {return typeof value === 'string';}
  function isNumber (line 552) | function isNumber(value) {return typeof value === 'number';}
  function isDate (line 567) | function isDate(value) {
  function isFunction (line 598) | function isFunction(value) {return typeof value === 'function';}
  function isRegExp (line 608) | function isRegExp(value) {
  function isWindow (line 620) | function isWindow(obj) {
  function isScope (line 625) | function isScope(obj) {
  function isFile (line 630) | function isFile(obj) {
  function isFormData (line 635) | function isFormData(obj) {
  function isBlob (line 640) | function isBlob(obj) {
  function isBoolean (line 645) | function isBoolean(value) {
  function isPromiseLike (line 650) | function isPromiseLike(obj) {
  function isElement (line 680) | function isElement(node) {
  function makeMap (line 690) | function makeMap(str) {
  function nodeName_ (line 698) | function nodeName_(element) {
  function includes (line 702) | function includes(array, obj) {
  function arrayRemove (line 706) | function arrayRemove(array, value) {
  function copy (line 771) | function copy(source, destination, stackSource, stackDest) {
  function shallowCopy (line 849) | function shallowCopy(src, dst) {
  function equals (line 899) | function equals(o1, o2) {
  function concat (line 961) | function concat(array1, array2, index) {
  function sliceArgs (line 965) | function sliceArgs(args, startIndex) {
  function bind (line 989) | function bind(self, fn) {
  function toJsonReplacer (line 1010) | function toJsonReplacer(key, value) {
  function toJson (line 1042) | function toJson(obj, pretty) {
  function fromJson (line 1063) | function fromJson(json) {
  function startingTag (line 1073) | function startingTag(element) {
  function tryDecodeURIComponent (line 1103) | function tryDecodeURIComponent(value) {
  function parseKeyValue (line 1116) | function parseKeyValue(/**string*/keyValue) {
  function toKeyValue (line 1137) | function toKeyValue(obj) {
  function encodeUriSegment (line 1165) | function encodeUriSegment(val) {
  function encodeUriQuery (line 1184) | function encodeUriQuery(val, pctEncodeSpaces) {
  function getNgAttribute (line 1196) | function getNgAttribute(element, ngAttr) {
  function angularInit (line 1335) | function angularInit(element, bootstrap) {
  function bootstrap (line 1414) | function bootstrap(element, modules, config) {
  function reloadWithDebugInfo (line 1492) | function reloadWithDebugInfo() {
  function getTestability (line 1505) | function getTestability(rootElement) {
  function snake_case (line 1515) | function snake_case(name, separator) {
  function bindJQuery (line 1524) | function bindJQuery() {
  function assertArg (line 1578) | function assertArg(arg, name, reason) {
  function assertArgFn (line 1585) | function assertArgFn(arg, name, acceptArrayAnnotation) {
  function assertNotHasOwnProperty (line 1600) | function assertNotHasOwnProperty(name, context) {
  function getter (line 1614) | function getter(obj, path, bindFnToScope) {
  function getBlockNodes (line 1638) | function getBlockNodes(nodes) {
  function createMap (line 1666) | function createMap() {
  function setupModuleLoader (line 1685) | function setupModuleLoader(window) {
  function serializeObject (line 1995) | function serializeObject(obj) {
  function toDebugString (line 2010) | function toDebugString(obj) {
  function publishExternalAPI (line 2132) | function publishExternalAPI(angular) {
  function jqNextId (line 2384) | function jqNextId() { return ++jqId; }
  function camelCase (line 2397) | function camelCase(name) {
  function jqLiteIsTextNode (line 2425) | function jqLiteIsTextNode(html) {
  function jqLiteAcceptsData (line 2429) | function jqLiteAcceptsData(node) {
  function jqLiteBuildFragment (line 2436) | function jqLiteBuildFragment(html, context) {
  function jqLiteParseHTML (line 2473) | function jqLiteParseHTML(html, context) {
  function JQLite (line 2489) | function JQLite(element) {
  function jqLiteClone (line 2514) | function jqLiteClone(element) {
  function jqLiteDealoc (line 2518) | function jqLiteDealoc(element, onlyDescendants) {
  function jqLiteOff (line 2529) | function jqLiteOff(element, type, fn, unsupported) {
  function jqLiteRemoveData (line 2561) | function jqLiteRemoveData(element, name) {
  function jqLiteExpandoStore (line 2583) | function jqLiteExpandoStore(element, createIfNecessary) {
  function jqLiteData (line 2596) | function jqLiteData(element, key, value) {
  function jqLiteHasClass (line 2622) | function jqLiteHasClass(element, selector) {
  function jqLiteRemoveClass (line 2628) | function jqLiteRemoveClass(element, cssClasses) {
  function jqLiteAddClass (line 2640) | function jqLiteAddClass(element, cssClasses) {
  function jqLiteAddNodes (line 2657) | function jqLiteAddNodes(root, elements) {
  function jqLiteController (line 2683) | function jqLiteController(element, name) {
  function jqLiteInheritedData (line 2687) | function jqLiteInheritedData(element, name, value) {
  function jqLiteEmpty (line 2707) | function jqLiteEmpty(element) {
  function jqLiteRemove (line 2714) | function jqLiteRemove(element, keepData) {
  function jqLiteDocumentLoaded (line 2721) | function jqLiteDocumentLoaded(action, win) {
  function trigger (line 2741) | function trigger() {
  function getBooleanAttrName (line 2795) | function getBooleanAttrName(element, name) {
  function getAliasedAttrName (line 2803) | function getAliasedAttrName(element, name) {
  function getText (line 2891) | function getText(element, value) {
  function createEventHandler (line 2976) | function createEventHandler(element, events) {
  function $$jqLiteProvider (line 3271) | function $$jqLiteProvider() {
  function hashKey (line 3302) | function hashKey(obj, nextUidFn) {
  function HashMap (line 3325) | function HashMap(array, isolatedUid) {
  function anonFn (line 3431) | function anonFn(fn) {
  function annotate (line 3442) | function annotate(fn, strictDi, name) {
  function createInjector (line 3976) | function createInjector(modulesToLoad, strictDi) {
  function $AnchorScrollProvider (line 4220) | function $AnchorScrollProvider() {
  function runAnimationPostDigest (line 4563) | function runAnimationPostDigest(fn) {
  function resolveElementClasses (line 4578) | function resolveElementClasses(element, classes) {
  function cachedClassManipulation (line 4604) | function cachedClassManipulation(cache, classes, op) {
  function asyncPromise (line 4611) | function asyncPromise() {
  function applyStyles (line 4623) | function applyStyles(element, options) {
  function $$AsyncCallbackProvider (line 4848) | function $$AsyncCallbackProvider() {
  function Browser (line 4881) | function Browser(window, document, $log, $sniffer) {
  function $BrowserProvider (line 5314) | function $BrowserProvider() {
  function $CacheFactoryProvider (line 5402) | function $CacheFactoryProvider() {
  function $TemplateCacheProvider (line 5715) | function $TemplateCacheProvider() {
  function $CompileProvider (line 6420) | function $CompileProvider($provide, $$sanitizeUriProvider) {
  function directiveNormalize (line 8232) | function directiveNormalize(name) {
  function nodesetLinkingFn (line 8281) | function nodesetLinkingFn(
  function directiveLinkingFn (line 8288) | function directiveLinkingFn(
  function tokenDifference (line 8296) | function tokenDifference(str1, str2) {
  function removeComments (line 8312) | function removeComments(jqNodes) {
  function $ControllerProvider (line 8341) | function $ControllerProvider() {
  function $DocumentProvider (line 8508) | function $DocumentProvider() {
  function $ExceptionHandlerProvider (line 8554) | function $ExceptionHandlerProvider() {
  function defaultHttpResponseTransform (line 8571) | function defaultHttpResponseTransform(data, headers) {
  function isJsonLike (line 8587) | function isJsonLike(str) {
  function parseHeaders (line 8598) | function parseHeaders(headers) {
  function headersGetter (line 8629) | function headersGetter(headers) {
  function transformData (line 8659) | function transformData(data, headers, status, fns) {
  function isSuccess (line 8671) | function isSuccess(status) {
  function $HttpProvider (line 8682) | function $HttpProvider() {
  function createXhr (line 9718) | function createXhr() {
  function $HttpBackendProvider (line 9738) | function $HttpBackendProvider() {
  function createHttpBackend (line 9744) | function createHttpBackend($browser, createXhr, $browserDefer, callbacks...
  function $InterpolateProvider (line 9928) | function $InterpolateProvider() {
  function $IntervalProvider (line 10238) | function $IntervalProvider() {
  function $LocaleProvider (line 10433) | function $LocaleProvider() {
  function encodePath (line 10506) | function encodePath(path) {
  function parseAbsoluteUrl (line 10517) | function parseAbsoluteUrl(absoluteUrl, locationObj) {
  function parseAppUrl (line 10526) | function parseAppUrl(relativeUrl, locationObj) {
  function beginsWith (line 10551) | function beginsWith(begin, whole) {
  function stripHash (line 10558) | function stripHash(url) {
  function trimEmptyHash (line 10563) | function trimEmptyHash(url) {
  function stripFile (line 10568) | function stripFile(url) {
  function serverBase (line 10573) | function serverBase(url) {
  function LocationHtml5Url (line 10586) | function LocationHtml5Url(appBase, basePrefix) {
  function LocationHashbangUrl (line 10665) | function LocationHashbangUrl(appBase, hashPrefix) {
  function LocationHashbangInHtml5Url (line 10769) | function LocationHashbangInHtml5Url(appBase, hashPrefix) {
  function locationGetter (line 11125) | function locationGetter(property) {
  function locationGetterSetter (line 11132) | function locationGetterSetter(property, preprocess) {
  function $LocationProvider (line 11177) | function $LocationProvider() {
  function $LogProvider (line 11501) | function $LogProvider() {
  function ensureSafeMemberName (line 11646) | function ensureSafeMemberName(name, fullExpression) {
  function ensureSafeObject (line 11657) | function ensureSafeObject(obj, fullExpression) {
  function ensureSafeFunction (line 11688) | function ensureSafeFunction(obj, fullExpression) {
  function isConstant (line 11934) | function isConstant(exp) {
  function setter (line 12425) | function setter(obj, locals, path, setValue, fullExp) {
  function isPossiblyDangerousMemberName (line 12448) | function isPossiblyDangerousMemberName(name) {
  function cspSafeGetterFn (line 12457) | function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, expensiv...
  function getterFnWithEnsureSafeObject (line 12498) | function getterFnWithEnsureSafeObject(fn, fullExpression) {
  function getterFn (line 12504) | function getterFn(path, options, fullExp) {
  function getValueOf (line 12573) | function getValueOf(value) {
  function $ParseProvider (line 12628) | function $ParseProvider() {
  function $QProvider (line 13089) | function $QProvider() {
  function $$QProvider (line 13098) | function $$QProvider() {
  function qFactory (line 13114) | function qFactory(nextTick, exceptionHandler) {
  function $$RAFProvider (line 13445) | function $$RAFProvider() { //rAF
  function $RootScopeProvider (line 13542) | function $RootScopeProvider() {
  function $$SanitizeUriProvider (line 14807) | function $$SanitizeUriProvider() {
  function adjustMatcher (line 14887) | function adjustMatcher(matcher) {
  function adjustMatchers (line 14915) | function adjustMatchers(matchers) {
  function $SceDelegateProvider (line 14993) | function $SceDelegateProvider() {
  function $SceProvider (line 15523) | function $SceProvider() {
  function $SnifferProvider (line 15935) | function $SnifferProvider() {
  function $TemplateRequestProvider (line 16027) | function $TemplateRequestProvider() {
  function $$TestabilityProvider (line 16069) | function $$TestabilityProvider() {
  function $TimeoutProvider (line 16184) | function $TimeoutProvider() {
  function urlResolve (line 16330) | function urlResolve(url) {
  function urlIsSameOrigin (line 16364) | function urlIsSameOrigin(requestUrl) {
  function $WindowProvider (line 16411) | function $WindowProvider() {
  function $FilterProvider (line 16508) | function $FilterProvider($provide) {
  function filterFilter (line 16685) | function filterFilter() {
  function createPredicateFn (line 16714) | function createPredicateFn(expression, comparator, matchAgainstAnyProp) {
  function deepCompare (line 16743) | function deepCompare(actual, expected, comparator, matchAgainstAnyProp, ...
  function currencyFilter (line 16845) | function currencyFilter($locale) {
  function numberFilter (line 16916) | function numberFilter($locale) {
  function formatNumber (line 16929) | function formatNumber(number, pattern, groupSep, decimalSep, fractionSiz...
  function padNumber (line 17010) | function padNumber(num, digits, trim) {
  function dateGetter (line 17024) | function dateGetter(name, size, offset, trim) {
  function dateStrGetter (line 17035) | function dateStrGetter(name, shortForm) {
  function timeZoneGetter (line 17044) | function timeZoneGetter(date) {
  function getFirstThursdayOfYear (line 17054) | function getFirstThursdayOfYear(year) {
  function getThursdayThisWeek (line 17062) | function getThursdayThisWeek(datetime) {
  function weekGetter (line 17068) | function weekGetter(size) {
  function ampmGetter (line 17080) | function ampmGetter(date, formats) {
  function dateFilter (line 17206) | function dateFilter($locale) {
  function jsonFilter (line 17312) | function jsonFilter() {
  function limitToFilter (line 17429) | function limitToFilter() {
  function orderByFilter (line 17565) | function orderByFilter($parse) {
  function ngDirective (line 17653) | function ngDirective(directive) {
  function nullFormRenameControl (line 18134) | function nullFormRenameControl(control, name) {
  function FormController (line 18181) | function FormController(element, attrs, $scope, $animate, $interpolate) {
  function stringBasedInputType (line 19603) | function stringBasedInputType(ctrl) {
  function textInputType (line 19609) | function textInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function baseInputType (line 19614) | function baseInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function weekParser (line 19700) | function weekParser(isoWeek, existingDate) {
  function createDateParser (line 19732) | function createDateParser(regexp, mapping) {
  function createDateInputType (line 19782) | function createDateInputType(type, regexp, parseDate, format) {
  function badInputChecker (line 19855) | function badInputChecker(scope, element, attr, ctrl) {
  function numberInputType (line 19870) | function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function urlInputType (line 19924) | function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function emailInputType (line 19937) | function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function radioInputType (line 19950) | function radioInputType(scope, element, attr, ctrl) {
  function parseConstantExpr (line 19972) | function parseConstantExpr($parse, context, name, expression, fallback) {
  function checkboxInputType (line 19985) | function checkboxInputType(scope, element, attr, ctrl, $sniffer, $browse...
  function classDirective (line 20546) | function classDirective(name, selector) {
  function processParseErrors (line 23027) | function processParseErrors(parseValid) {
  function processSyncValidators (line 23046) | function processSyncValidators() {
  function processAsyncValidators (line 23062) | function processAsyncValidators() {
  function setValidity (line 23088) | function setValidity(name, isValid) {
  function validationDone (line 23094) | function validationDone(allValid) {
  function writeToModelIfNeeded (line 23173) | function writeToModelIfNeeded() {
  function addSetValidityMethod (line 23699) | function addSetValidityMethod(context) {
  function isObjectEmpty (line 23794) | function isObjectEmpty(obj) {
  function updateElementText (line 24058) | function updateElementText(newText) {
  function setupAsSingle (line 25549) | function setupAsSingle(scope, selectElement, ngModelCtrl, selectCtrl) {
  function setupAsMultiple (line 25574) | function setupAsMultiple(scope, selectElement, ctrl) {
  function setupAsOptions (line 25605) | function setupAsOptions(scope, selectElement, ctrl) {

FILE: www/lib/ionic/js/ionic-angular.js
  function actionSheet (line 120) | function actionSheet(opts) {
  function retain (line 353) | function retain() {
  function release (line 363) | function release() {
  function getElement (line 374) | function getElement() {
  function preventClick (line 527) | function preventClick(ev) {
  function addClickBlock (line 532) | function addClickBlock() {
  function removeClickBlock (line 547) | function removeClickBlock() {
  function getViewById (line 693) | function getViewById(viewId) {
  function getBackView (line 697) | function getBackView(view) {
  function getForwardView (line 701) | function getForwardView(view) {
  function getHistoryById (line 705) | function getHistoryById(historyId) {
  function getHistory (line 709) | function getHistory(scope) {
  function getParentHistoryObj (line 725) | function getParentHistoryObj(scope) {
  function setNavViews (line 739) | function setNavViews(viewId) {
  function getCurrentStateId (line 745) | function getCurrentStateId() {
  function getCurrentStateParams (line 762) | function getCurrentStateParams() {
  function isAbstractTag (line 1356) | function isAbstractTag(ele) {
  function canSwipeBack (line 1360) | function canSwipeBack(ele, viewLocals) {
  function onHardwareBackButton (line 1431) | function onHardwareBackButton(e) {
  function setStyles (line 1823) | function setStyles(ele, opacity, x, boxShadowOpacity) {
  function setStyles (line 1858) | function setStyles(ctrl, opacity, titleX, backTextX) {
  function enter (line 1874) | function enter(ctrlA, ctrlB, step) {
  function leave (line 1881) | function leave(ctrlA, ctrlB, step) {
  function setStyles (line 1913) | function setStyles(ele, x) {
  function setStyles (line 1944) | function setStyles(ctrl, opacity) {
  function setPlatformConfig (line 1990) | function setPlatformConfig(platformName, platformConfigs) {
  function addConfig (line 2001) | function addConfig(configObj, platformObj) {
  function createConfig (line 2019) | function createConfig(configObj, providerObj, platformPath) {
  function stringObj (line 2050) | function stringObj(obj, str) {
  function getLoader (line 2193) | function getLoader() {
  function showLoader (line 2277) | function showLoader(options) {
  function hideLoader (line 2313) | function hideLoader() {
  function positionView (line 3007) | function positionView(target, popoverEle) {
  function createPopup (line 3416) | function createPopup(options) {
  function onHardwareBackButton (line 3498) | function onHardwareBackButton() {
  function showPopup (line 3503) | function showPopup(options) {
  function focusInput (line 3566) | function focusInput(element) {
  function showAlert (line 3573) | function showAlert(opts) {
  function showConfirm (line 3585) | function showConfirm(opts) {
  function showPrompt (line 3599) | function showPrompt(opts) {
  function getStyle (line 3641) | function getStyle(el, cssprop) {
  function isStaticPositioned (line 3655) | function isStaticPositioned(element) {
  function $ionicTemplateCache (line 4238) | function $ionicTemplateCache(templates) {
  function run (line 4254) | function run() {
  function fetchTemplate (line 4324) | function fetchTemplate(url) {
  function loadAndCompile (line 4331) | function loadAndCompile(options) {
  function warn (line 4383) | function warn(oldMethod, newMethod) {
  function onReflow (line 4635) | function onReflow() {
  function completeOnTransitionEnd (line 4656) | function completeOnTransitionEnd(ev) {
  function transitionComplete (line 4660) | function transitionComplete() {
  function cancelOnTransitionEnd (line 4693) | function cancelOnTransitionEnd(ev) {
  function cancelTransition (line 4697) | function cancelTransition() {
  function getViewElementIdentifier (line 4833) | function getViewElementIdentifier(locals, view) {
  function viewState (line 4839) | function viewState(locals) {
  function getTransitionData (line 4843) | function getTransitionData(viewLocals, enteringEle, direction, view) {
  function getViewData (line 4865) | function getViewData(view) {
  function navViewAttr (line 4876) | function navViewAttr(ele, value) {
  function destroyViewEle (line 4884) | function destroyViewEle(ele) {
  function $LocationDecorator (line 4921) | function $LocationDecorator($location, $timeout) {
  function getEle (line 5305) | function getEle(className) {
  function onInfinite (line 5351) | function onInfinite() {
  function finishInfiniteScroll (line 5359) | function finishInfiniteScroll() {
  function checkInfiniteBounds (line 5375) | function checkInfiniteBounds() {
  function calculateMaxValue (line 5433) | function calculateMaxValue(maximum) {
  function positionItem (line 5718) | function positionItem(ele, itemType) {
  function transitionEnd (line 5885) | function transitionEnd() {
  function deprecatedWarning (line 6025) | function deprecatedWarning(oldMethod, newMethod) {
  function createNavElement (line 6032) | function createNavElement(type) {
  function getOnScreenHeaderBar (line 6039) | function getOnScreenHeaderBar() {
  function getOffScreenHeaderBar (line 6046) | function getOffScreenHeaderBar() {
  function navBarAttr (line 6053) | function navBarAttr(ctrl, val) {
  function navSwipeAttr (line 6057) | function navSwipeAttr(val) {
  function onTabsLeave (line 6273) | function onTabsLeave(ev, data) {
  function onDragStart (line 6426) | function onDragStart(ev) {
  function onDrag (line 6465) | function onDrag(ev) {
  function onRelease (line 6486) | function onRelease(ev) {
  function getDragX (line 6534) | function getDragX(ev) {
  function getSwipeCompletion (line 6538) | function getSwipeCompletion(dragX) {
  function navSwipeAttr (line 6553) | function navSwipeAttr(val) {
  function onTabsTop (line 6558) | function onTabsTop(ev, isTabsTop) {
  function onBarSubheader (line 6563) | function onBarSubheader(ev, isBarSubheader) {
  function getAssociatedNavBarCtrl (line 6568) | function getAssociatedNavBarCtrl() {
  function handleTouchend (line 6622) | function handleTouchend() {
  function handleTouchmove (line 6651) | function handleTouchmove(e) {
  function handleScroll (line 6717) | function handleScroll(e) {
  function overscroll (line 6722) | function overscroll(val) {
  function nativescroll (line 6727) | function nativescroll(target, newScrollTop) {
  function setScrollLock (line 6736) | function setScrollLock(enabled) {
  function scrollTo (line 6776) | function scrollTo(Y, duration, callback) {
  function destroy (line 6838) | function destroy() {
  function activate (line 6859) | function activate() {
  function deactivate (line 6864) | function deactivate() {
  function start (line 6873) | function start() {
  function show (line 6879) | function show() {
  function hide (line 6884) | function hide() {
  function tail (line 6889) | function tail() {
  function freezeAllScrolls (line 7243) | function freezeAllScrolls(shouldFreeze) {
  function createSvgElement (line 7569) | function createSvgElement(tagName, data, parent, spinnerName) {
  function setSvgAttribute (line 7594) | function setSvgAttribute(ele, k, v) {
  function animationValues (line 7598) | function animationValues(strValues, i) {
  function run (line 7876) | function run() {
  function easeInOutCubic (line 7918) | function easeInOutCubic(t, c) {
  function afterEnter (line 8183) | function afterEnter() {
  function titleUpdate (line 8206) | function titleUpdate(newTitle) {
  function deregisterFns (line 8214) | function deregisterFns() {
  function generateNavBarItem (line 8223) | function generateNavBarItem(html) {
  function attrTrue (line 8231) | function attrTrue(key) {
  function CollectionRepeatDirective (line 8440) | function CollectionRepeatDirective($ionicCollectionManager, $parse, $win...
  function RepeatManagerFactory (line 8748) | function RepeatManagerFactory($rootScope, $window, $$rAF) {
  function prelink (line 9424) | function prelink($scope, $element, $attr) {
  function checkAsideExpose (line 9575) | function checkAsideExpose() {
  function onResize (line 9581) | function onResize() {
  function gestureDirective (line 9854) | function gestureDirective(directiveName) {
  function tapScrollToTopDirective (line 9957) | function tapScrollToTopDirective() {
  function headerFooterBarDirective (line 9997) | function headerFooterBarDirective(isHeader) {
  function stopPropagation (line 10283) | function stopPropagation(ev) {
  function init (line 10309) | function init() {
  function stopPropagation (line 10387) | function stopPropagation(e) {
  function onShow (line 10543) | function onShow(e) {
  function onHide (line 10557) | function onHide() {
  function keyboardAttachGetClientHeight (line 10579) | function keyboardAttachGetClientHeight(element) {
  function init (line 10688) | function init() {
  function hasIconClass (line 11003) | function hasIconClass(ele) {
  function updateView (line 11506) | function updateView(firstTime) {
  function eventStopPropagation (line 11572) | function eventStopPropagation(e) {
  function prelink (line 11867) | function prelink($scope, $element, $attr) {
  function prelink (line 12026) | function prelink($scope, $element, $attr, sideMenuCtrl) {
  function prelink (line 12283) | function prelink($scope, $element, $attrs, ctrl) {
  function freezeAllScrolls (line 12401) | function freezeAllScrolls(shouldFreeze) {
  function getPager (line 12475) | function getPager() {
  function attrStr (line 12772) | function attrStr(k, v) {
  function selectIfMatchesState (line 12860) | function selectIfMatchesState() {
  function tabSelected (line 12872) | function tabSelected(isSelected) {
  function destroyTab (line 12907) | function destroyTab() {
  function prelink (line 13061) | function prelink($scope, $element, $attr, tabsCtrl) {
  function postLink (line 13103) | function postLink($scope, $element, $attr, tabsCtrl) {

FILE: www/lib/ionic/js/ionic.bundle.js
  function trueFn (line 38) | function trueFn() { return true; }
  function DelegateInstance (line 58) | function DelegateInstance(instances, handle) {
  function DelegateService (line 72) | function DelegateService() {
  function instanceMethodCaller (line 95) | function instanceMethodCaller(methodName) {
  function domReady (line 138) | function domReady() {
  function setup (line 687) | function setup() {
  function getParameterByName (line 2027) | function getParameterByName(name) {
  function onWindowLoad (line 2418) | function onWindowLoad() {
  function onPlatformReady (line 2439) | function onPlatformReady() {
  function update (line 2501) | function update(fn) {
  function tapEventListener (line 2834) | function tapEventListener(type, enable, useCapture) {
  function tapClick (line 2842) | function tapClick(e) {
  function triggerMouseEvent (line 2858) | function triggerMouseEvent(type, ele, x, y) {
  function tapClickGateKeeper (line 2866) | function tapClickGateKeeper(e) {
  function tapMouseDown (line 2888) | function tapMouseDown(e) {
  function tapMouseUp (line 2914) | function tapMouseUp(e) {
  function tapMouseMove (line 2932) | function tapMouseMove(e) {
  function tapTouchStart (line 2943) | function tapTouchStart(e) {
  function tapTouchEnd (line 2969) | function tapTouchEnd(e) {
  function tapTouchMove (line 2986) | function tapTouchMove(e) {
  function tapTouchCancel (line 2995) | function tapTouchCancel() {
  function tapEnableTouchEvents (line 3001) | function tapEnableTouchEvents() {
  function tapIgnoreEvent (line 3009) | function tapIgnoreEvent(e) {
  function tapHandleFocus (line 3019) | function tapHandleFocus(ele) {
  function tapFocusOutActive (line 3054) | function tapFocusOutActive() {
  function tapFocusIn (line 3063) | function tapFocusIn(e) {
  function tapFocusOut (line 3085) | function tapFocusOut() {
  function tapActiveElement (line 3090) | function tapActiveElement(ele) {
  function tapHasPointerMoved (line 3097) | function tapHasPointerMoved(endEvent) {
  function tapContainingElement (line 3113) | function tapContainingElement(ele, allowSelf) {
  function tapTargetElement (line 3123) | function tapTargetElement(ele) {
  function clear (line 3208) | function clear() {
  function activateElements (line 3216) | function activateElements() {
  function deactivateElements (line 3227) | function deactivateElements() {
  function keyboardInit (line 3691) | function keyboardInit() {
  function keyboardNativeShow (line 3721) | function keyboardNativeShow(e) {
  function keyboardFocusIn (line 3750) | function keyboardFocusIn(e) {
  function keyboardFocusOut (line 3811) | function keyboardFocusOut() {
  function keyboardOrientationChange (line 3852) | function keyboardOrientationChange() {
  function keyboardOnKeyDown (line 3884) | function keyboardOnKeyDown(e) {
  function keyboardPreventDefault (line 3894) | function keyboardPreventDefault(e) {
  function keyboardWaitForResize (line 3918) | function keyboardWaitForResize(callback, isOpening) {
  function keyboardHide (line 3982) | function keyboardHide() {
  function keyboardShow (line 4022) | function keyboardShow() {
  function keyboardGetHeight (line 4062) | function keyboardGetHeight() {
  function isPortraitViewportHeight (line 4101) | function isPortraitViewportHeight(viewportHeight) {
  function isLandscapeViewportHeight (line 4107) | function isLandscapeViewportHeight(viewportHeight) {
  function keyboardUpdateViewportHeight (line 4113) | function keyboardUpdateViewportHeight() {
  function keyboardInitViewportHeight (line 4137) | function keyboardInitViewportHeight() {
  function getViewportHeight (line 4155) | function getViewportHeight() {
  function inputScrollView (line 4172) | function inputScrollView(ele) {
  function keyboardHasPlugin (line 4182) | function keyboardHasPlugin() {
  function viewportLoadTag (line 4240) | function viewportLoadTag() {
  function viewportUpdate (line 4263) | function viewportUpdate() {
  function viewportTagUpdate (line 4347) | function viewportTagUpdate() {
  function getEventTouches (line 5151) | function getEventTouches(e) {
  function animateScroll (line 7066) | function animateScroll(Y, X) {
  function makeInvisible (line 7309) | function makeInvisible() {
  function setup (line 7975) | function setup() {
  function prev (line 8033) | function prev(slideSpeed) {
  function next (line 8040) | function next(slideSpeed) {
  function circle (line 8047) | function circle(index) {
  function slide (line 8054) | function slide(to, slideSpeed) {
  function move (line 8097) | function move(index, dist, speed) {
  function translate (line 8104) | function translate(index, dist, speed) {
  function animate (line 8124) | function animate(from, to, speed) {
  function begin (line 8163) | function begin() {
  function stop (line 8169) | function stop() {
  function minErr (line 8737) | function minErr(module, ErrorConstructor) {
  function isArrayLike (line 8957) | function isArrayLike(obj) {
  function forEach (line 9007) | function forEach(obj, iterator, context) {
  function sortedKeys (line 9038) | function sortedKeys(obj) {
  function forEachSorted (line 9042) | function forEachSorted(obj, iterator, context) {
  function reverseParams (line 9056) | function reverseParams(iteratorFn) {
  function nextUid (line 9070) | function nextUid() {
  function setHashKey (line 9080) | function setHashKey(obj, h) {
  function extend (line 9104) | function extend(dst) {
  function int (line 9122) | function int(str) {
  function inherit (line 9127) | function inherit(parent, extra) {
  function noop (line 9147) | function noop() {}
  function identity (line 9169) | function identity($) {return $;}
  function valueFn (line 9173) | function valueFn(value) {return function() {return value;};}
  function isUndefined (line 9187) | function isUndefined(value) {return typeof value === 'undefined';}
  function isDefined (line 9202) | function isDefined(value) {return typeof value !== 'undefined';}
  function isObject (line 9218) | function isObject(value) {
  function isString (line 9236) | function isString(value) {return typeof value === 'string';}
  function isNumber (line 9251) | function isNumber(value) {return typeof value === 'number';}
  function isDate (line 9266) | function isDate(value) {
  function isFunction (line 9297) | function isFunction(value) {return typeof value === 'function';}
  function isRegExp (line 9307) | function isRegExp(value) {
  function isWindow (line 9319) | function isWindow(obj) {
  function isScope (line 9324) | function isScope(obj) {
  function isFile (line 9329) | function isFile(obj) {
  function isFormData (line 9334) | function isFormData(obj) {
  function isBlob (line 9339) | function isBlob(obj) {
  function isBoolean (line 9344) | function isBoolean(value) {
  function isPromiseLike (line 9349) | function isPromiseLike(obj) {
  function isElement (line 9379) | function isElement(node) {
  function makeMap (line 9389) | function makeMap(str) {
  function nodeName_ (line 9397) | function nodeName_(element) {
  function includes (line 9401) | function includes(array, obj) {
  function arrayRemove (line 9405) | function arrayRemove(array, value) {
  function copy (line 9470) | function copy(source, destination, stackSource, stackDest) {
  function shallowCopy (line 9548) | function shallowCopy(src, dst) {
  function equals (line 9598) | function equals(o1, o2) {
  function concat (line 9660) | function concat(array1, array2, index) {
  function sliceArgs (line 9664) | function sliceArgs(args, startIndex) {
  function bind (line 9688) | function bind(self, fn) {
  function toJsonReplacer (line 9709) | function toJsonReplacer(key, value) {
  function toJson (line 9741) | function toJson(obj, pretty) {
  function fromJson (line 9762) | function fromJson(json) {
  function startingTag (line 9772) | function startingTag(element) {
  function tryDecodeURIComponent (line 9802) | function tryDecodeURIComponent(value) {
  function parseKeyValue (line 9815) | function parseKeyValue(/**string*/keyValue) {
  function toKeyValue (line 9836) | function toKeyValue(obj) {
  function encodeUriSegment (line 9864) | function encodeUriSegment(val) {
  function encodeUriQuery (line 9883) | function encodeUriQuery(val, pctEncodeSpaces) {
  function getNgAttribute (line 9895) | function getNgAttribute(element, ngAttr) {
  function angularInit (line 10034) | function angularInit(element, bootstrap) {
  function bootstrap (line 10113) | function bootstrap(element, modules, config) {
  function reloadWithDebugInfo (line 10191) | function reloadWithDebugInfo() {
  function getTestability (line 10204) | function getTestability(rootElement) {
  function snake_case (line 10214) | function snake_case(name, separator) {
  function bindJQuery (line 10223) | function bindJQuery() {
  function assertArg (line 10277) | function assertArg(arg, name, reason) {
  function assertArgFn (line 10284) | function assertArgFn(arg, name, acceptArrayAnnotation) {
  function assertNotHasOwnProperty (line 10299) | function assertNotHasOwnProperty(name, context) {
  function getter (line 10313) | function getter(obj, path, bindFnToScope) {
  function getBlockNodes (line 10337) | function getBlockNodes(nodes) {
  function createMap (line 10365) | function createMap() {
  function setupModuleLoader (line 10384) | function setupModuleLoader(window) {
  function serializeObject (line 10694) | function serializeObject(obj) {
  function toDebugString (line 10709) | function toDebugString(obj) {
  function publishExternalAPI (line 10831) | function publishExternalAPI(angular) {
  function jqNextId (line 11083) | function jqNextId() { return ++jqId; }
  function camelCase (line 11096) | function camelCase(name) {
  function jqLiteIsTextNode (line 11124) | function jqLiteIsTextNode(html) {
  function jqLiteAcceptsData (line 11128) | function jqLiteAcceptsData(node) {
  function jqLiteBuildFragment (line 11135) | function jqLiteBuildFragment(html, context) {
  function jqLiteParseHTML (line 11172) | function jqLiteParseHTML(html, context) {
  function JQLite (line 11188) | function JQLite(element) {
  function jqLiteClone (line 11213) | function jqLiteClone(element) {
  function jqLiteDealoc (line 11217) | function jqLiteDealoc(element, onlyDescendants) {
  function jqLiteOff (line 11228) | function jqLiteOff(element, type, fn, unsupported) {
  function jqLiteRemoveData (line 11260) | function jqLiteRemoveData(element, name) {
  function jqLiteExpandoStore (line 11282) | function jqLiteExpandoStore(element, createIfNecessary) {
  function jqLiteData (line 11295) | function jqLiteData(element, key, value) {
  function jqLiteHasClass (line 11321) | function jqLiteHasClass(element, selector) {
  function jqLiteRemoveClass (line 11327) | function jqLiteRemoveClass(element, cssClasses) {
  function jqLiteAddClass (line 11339) | function jqLiteAddClass(element, cssClasses) {
  function jqLiteAddNodes (line 11356) | function jqLiteAddNodes(root, elements) {
  function jqLiteController (line 11382) | function jqLiteController(element, name) {
  function jqLiteInheritedData (line 11386) | function jqLiteInheritedData(element, name, value) {
  function jqLiteEmpty (line 11406) | function jqLiteEmpty(element) {
  function jqLiteRemove (line 11413) | function jqLiteRemove(element, keepData) {
  function jqLiteDocumentLoaded (line 11420) | function jqLiteDocumentLoaded(action, win) {
  function trigger (line 11440) | function trigger() {
  function getBooleanAttrName (line 11494) | function getBooleanAttrName(element, name) {
  function getAliasedAttrName (line 11502) | function getAliasedAttrName(element, name) {
  function getText (line 11590) | function getText(element, value) {
  function createEventHandler (line 11675) | function createEventHandler(element, events) {
  function $$jqLiteProvider (line 11970) | function $$jqLiteProvider() {
  function hashKey (line 12001) | function hashKey(obj, nextUidFn) {
  function HashMap (line 12024) | function HashMap(array, isolatedUid) {
  function anonFn (line 12130) | function anonFn(fn) {
  function annotate (line 12141) | function annotate(fn, strictDi, name) {
  function createInjector (line 12675) | function createInjector(modulesToLoad, strictDi) {
  function $AnchorScrollProvider (line 12919) | function $AnchorScrollProvider() {
  function runAnimationPostDigest (line 13262) | function runAnimationPostDigest(fn) {
  function resolveElementClasses (line 13277) | function resolveElementClasses(element, classes) {
  function cachedClassManipulation (line 13303) | function cachedClassManipulation(cache, classes, op) {
  function asyncPromise (line 13310) | function asyncPromise() {
  function applyStyles (line 13322) | function applyStyles(element, options) {
  function $$AsyncCallbackProvider (line 13547) | function $$AsyncCallbackProvider() {
  function Browser (line 13580) | function Browser(window, document, $log, $sniffer) {
  function $BrowserProvider (line 14013) | function $BrowserProvider() {
  function $CacheFactoryProvider (line 14101) | function $CacheFactoryProvider() {
  function $TemplateCacheProvider (line 14414) | function $TemplateCacheProvider() {
  function $CompileProvider (line 15119) | function $CompileProvider($provide, $$sanitizeUriProvider) {
  function directiveNormalize (line 16931) | function directiveNormalize(name) {
  function nodesetLinkingFn (line 16980) | function nodesetLinkingFn(
  function directiveLinkingFn (line 16987) | function directiveLinkingFn(
  function tokenDifference (line 16995) | function tokenDifference(str1, str2) {
  function removeComments (line 17011) | function removeComments(jqNodes) {
  function $ControllerProvider (line 17040) | function $ControllerProvider() {
  function $DocumentProvider (line 17207) | function $DocumentProvider() {
  function $ExceptionHandlerProvider (line 17253) | function $ExceptionHandlerProvider() {
  function defaultHttpResponseTransform (line 17270) | function defaultHttpResponseTransform(data, headers) {
  function isJsonLike (line 17286) | function isJsonLike(str) {
  function parseHeaders (line 17297) | function parseHeaders(headers) {
  function headersGetter (line 17328) | function headersGetter(headers) {
  function transformData (line 17358) | function transformData(data, headers, status, fns) {
  function isSuccess (line 17370) | function isSuccess(status) {
  function $HttpProvider (line 17381) | function $HttpProvider() {
  function createXhr (line 18417) | function createXhr() {
  function $HttpBackendProvider (line 18437) | function $HttpBackendProvider() {
  function createHttpBackend (line 18443) | function createHttpBackend($browser, createXhr, $browserDefer, callbacks...
  function $InterpolateProvider (line 18627) | function $InterpolateProvider() {
  function $IntervalProvider (line 18937) | function $IntervalProvider() {
  function $LocaleProvider (line 19132) | function $LocaleProvider() {
  function encodePath (line 19205) | function encodePath(path) {
  function parseAbsoluteUrl (line 19216) | function parseAbsoluteUrl(absoluteUrl, locationObj) {
  function parseAppUrl (line 19225) | function parseAppUrl(relativeUrl, locationObj) {
  function beginsWith (line 19250) | function beginsWith(begin, whole) {
  function stripHash (line 19257) | function stripHash(url) {
  function trimEmptyHash (line 19262) | function trimEmptyHash(url) {
  function stripFile (line 19267) | function stripFile(url) {
  function serverBase (line 19272) | function serverBase(url) {
  function LocationHtml5Url (line 19285) | function LocationHtml5Url(appBase, basePrefix) {
  function LocationHashbangUrl (line 19364) | function LocationHashbangUrl(appBase, hashPrefix) {
  function LocationHashbangInHtml5Url (line 19468) | function LocationHashbangInHtml5Url(appBase, hashPrefix) {
  function locationGetter (line 19824) | function locationGetter(property) {
  function locationGetterSetter (line 19831) | function locationGetterSetter(property, preprocess) {
  function $LocationProvider (line 19876) | function $LocationProvider() {
  function $LogProvider (line 20200) | function $LogProvider() {
  function ensureSafeMemberName (line 20345) | function ensureSafeMemberName(name, fullExpression) {
  function ensureSafeObject (line 20356) | function ensureSafeObject(obj, fullExpression) {
  function ensureSafeFunction (line 20387) | function ensureSafeFunction(obj, fullExpression) {
  function isConstant (line 20633) | function isConstant(exp) {
  function setter (line 21124) | function setter(obj, locals, path, setValue, fullExp) {
  function isPossiblyDangerousMemberName (line 21147) | function isPossiblyDangerousMemberName(name) {
  function cspSafeGetterFn (line 21156) | function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp, expensiv...
  function getterFnWithEnsureSafeObject (line 21197) | function getterFnWithEnsureSafeObject(fn, fullExpression) {
  function getterFn (line 21203) | function getterFn(path, options, fullExp) {
  function getValueOf (line 21272) | function getValueOf(value) {
  function $ParseProvider (line 21327) | function $ParseProvider() {
  function $QProvider (line 21788) | function $QProvider() {
  function $$QProvider (line 21797) | function $$QProvider() {
  function qFactory (line 21813) | function qFactory(nextTick, exceptionHandler) {
  function $$RAFProvider (line 22144) | function $$RAFProvider() { //rAF
  function $RootScopeProvider (line 22241) | function $RootScopeProvider() {
  function $$SanitizeUriProvider (line 23506) | function $$SanitizeUriProvider() {
  function adjustMatcher (line 23586) | function adjustMatcher(matcher) {
  function adjustMatchers (line 23614) | function adjustMatchers(matchers) {
  function $SceDelegateProvider (line 23692) | function $SceDelegateProvider() {
  function $SceProvider (line 24222) | function $SceProvider() {
  function $SnifferProvider (line 24634) | function $SnifferProvider() {
  function $TemplateRequestProvider (line 24726) | function $TemplateRequestProvider() {
  function $$TestabilityProvider (line 24768) | function $$TestabilityProvider() {
  function $TimeoutProvider (line 24883) | function $TimeoutProvider() {
  function urlResolve (line 25029) | function urlResolve(url) {
  function urlIsSameOrigin (line 25063) | function urlIsSameOrigin(requestUrl) {
  function $WindowProvider (line 25110) | function $WindowProvider() {
  function $FilterProvider (line 25207) | function $FilterProvider($provide) {
  function filterFilter (line 25384) | function filterFilter() {
  function createPredicateFn (line 25413) | function createPredicateFn(expression, comparator, matchAgainstAnyProp) {
  function deepCompare (line 25442) | function deepCompare(actual, expected, comparator, matchAgainstAnyProp, ...
  function currencyFilter (line 25544) | function currencyFilter($locale) {
  function numberFilter (line 25615) | function numberFilter($locale) {
  function formatNumber (line 25628) | function formatNumber(number, pattern, groupSep, decimalSep, fractionSiz...
  function padNumber (line 25709) | function padNumber(num, digits, trim) {
  function dateGetter (line 25723) | function dateGetter(name, size, offset, trim) {
  function dateStrGetter (line 25734) | function dateStrGetter(name, shortForm) {
  function timeZoneGetter (line 25743) | function timeZoneGetter(date) {
  function getFirstThursdayOfYear (line 25753) | function getFirstThursdayOfYear(year) {
  function getThursdayThisWeek (line 25761) | function getThursdayThisWeek(datetime) {
  function weekGetter (line 25767) | function weekGetter(size) {
  function ampmGetter (line 25779) | function ampmGetter(date, formats) {
  function dateFilter (line 25905) | function dateFilter($locale) {
  function jsonFilter (line 26011) | function jsonFilter() {
  function limitToFilter (line 26128) | function limitToFilter() {
  function orderByFilter (line 26264) | function orderByFilter($parse) {
  function ngDirective (line 26352) | function ngDirective(directive) {
  function nullFormRenameControl (line 26833) | function nullFormRenameControl(control, name) {
  function FormController (line 26880) | function FormController(element, attrs, $scope, $animate, $interpolate) {
  function stringBasedInputType (line 28302) | function stringBasedInputType(ctrl) {
  function textInputType (line 28308) | function textInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function baseInputType (line 28313) | function baseInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function weekParser (line 28399) | function weekParser(isoWeek, existingDate) {
  function createDateParser (line 28431) | function createDateParser(regexp, mapping) {
  function createDateInputType (line 28481) | function createDateInputType(type, regexp, parseDate, format) {
  function badInputChecker (line 28554) | function badInputChecker(scope, element, attr, ctrl) {
  function numberInputType (line 28569) | function numberInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function urlInputType (line 28623) | function urlInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function emailInputType (line 28636) | function emailInputType(scope, element, attr, ctrl, $sniffer, $browser) {
  function radioInputType (line 28649) | function radioInputType(scope, element, attr, ctrl) {
  function parseConstantExpr (line 28671) | function parseConstantExpr($parse, context, name, expression, fallback) {
  function checkboxInputType (line 28684) | function checkboxInputType(scope, element, attr, ctrl, $sniffer, $browse...
  function classDirective (line 29245) | function classDirective(name, selector) {
  function processParseErrors (line 31726) | function processParseErrors(parseValid) {
  function processSyncValidators (line 31745) | function processSyncValidators() {
  function processAsyncValidators (line 31761) | function processAsyncValidators() {
  function setValidity (line 31787) | function setValidity(name, isValid) {
  function validationDone (line 31793) | function validationDone(allValid) {
  function writeToModelIfNeeded (line 31872) | function writeToModelIfNeeded() {
  function addSetValidityMethod (line 32398) | function addSetValidityMethod(context) {
  function isObjectEmpty (line 32493) | function isObjectEmpty(obj) {
  function updateElementText (line 32757) | function updateElementText(newText) {
  function setupAsSingle (line 34248) | function setupAsSingle(scope, selectElement, ngModelCtrl, selectCtrl) {
  function setupAsMultiple (line 34273) | function setupAsMultiple(scope, selectElement, ctrl) {
  function setupAsOptions (line 34304) | function setupAsOptions(scope, selectElement, ctrl) {
  function extractElementNode (line 35299) | function extractElementNode(element) {
  function prepareElement (line 35308) | function prepareElement(element) {
  function stripCommentsFromElement (line 35312) | function stripCommentsFromElement(element) {
  function isMatchingElement (line 35316) | function isMatchingElement(elm1, elm2) {
  function classBasedAnimationsBlocked (line 35360) | function classBasedAnimationsBlocked(element, setter) {
  function runAnimationPostDigest (line 35370) | function runAnimationPostDigest(fn) {
  function parseAnimateOptions (line 35383) | function parseAnimateOptions(options) {
  function resolveElementClasses (line 35395) | function resolveElementClasses(element, cache, runningAnimations) {
  function lookup (line 35439) | function lookup(name) {
  function animationRunner (line 35469) | function animationRunner(element, animationEvent, className, options) {
  function performAnimation (line 36119) | function performAnimation(animationEvent, className, element, parentElem...
  function cancelChildAnimations (line 36336) | function cancelChildAnimations(element) {
  function cleanup (line 36354) | function cleanup(element, className) {
  function animationsDisabled (line 36376) | function animationsDisabled(element, parentElement) {
  function clearCacheAfterReflow (line 36469) | function clearCacheAfterReflow() {
  function afterReflow (line 36479) | function afterReflow(element, callback) {
  function animationCloseHandler (line 36498) | function animationCloseHandler(element, totalTime) {
  function closeAllAnimations (line 36522) | function closeAllAnimations(elements) {
  function getElementAnimationDetails (line 36533) | function getElementAnimationDetails(element, cacheKey) {
  function parseMaxTime (line 36577) | function parseMaxTime(str) {
  function getCacheKey (line 36588) | function getCacheKey(element) {
  function animateSetup (line 36598) | function animateSetup(animationEvent, element, className, styles) {
  function animateRun (line 36661) | function animateRun(animationEvent, element, className, activeAnimationC...
  function blockTransitions (line 36816) | function blockTransitions(node, bool) {
  function blockAnimations (line 36820) | function blockAnimations(node, bool) {
  function animateBefore (line 36824) | function animateBefore(animationEvent, element, className, styles) {
  function animateAfter (line 36832) | function animateAfter(animationEvent, element, className, afterAnimation...
  function animate (line 36841) | function animate(animationEvent, element, className, animationComplete, ...
  function animateClose (line 36870) | function animateClose(element, className) {
  function suffixClasses (line 36960) | function suffixClasses(classes, suffix) {
  function $SanitizeProvider (line 37122) | function $SanitizeProvider() {
  function sanitizeText (line 37134) | function sanitizeText(chars) {
  function makeMap (line 37233) | function makeMap(str) {
  function htmlParser (line 37252) | function htmlParser(html, handler) {
  function decodeEntities (line 37407) | function decodeEntities(value) {
  function encodeEntities (line 37435) | function encodeEntities(value) {
  function htmlSanitizeWriter (line 37460) | function htmlSanitizeWriter(buf, uriValidator) {
  function addText (line 37639) | function addText(text) {
  function addLink (line 37646) | function addLink(url, text) {
  function inherit (line 37698) | function inherit(parent, extra) {
  function merge (line 37702) | function merge(dst) {
  function ancestors (line 37720) | function ancestors(first, second) {
  function objectKeys (line 37736) | function objectKeys(object) {
  function indexOf (line 37755) | function indexOf(array, value) {
  function inheritParams (line 37779) | function inheritParams(currentParams, newParams, $current, $to) {
  function equalForKeys (line 37805) | function equalForKeys(a, b, keys) {
  function filterByKeys (line 37825) | function filterByKeys(keys, values) {
  function indexBy (line 37836) | function indexBy(array, propName) {
  function pick (line 37846) | function pick(obj) {
  function omit (line 37857) | function omit(obj) {
  function pluck (line 37866) | function pluck(collection, key) {
  function filter (line 37875) | function filter(collection, callback) {
  function map (line 37886) | function map(collection, callback) {
  function $Resolve (line 37989) | function $Resolve(  $q,    $injector) {
  function $TemplateFactory (line 38243) | function $TemplateFactory(  $http,   $templateCache,   $injector) {
  function UrlMatcher (line 38409) | function UrlMatcher(pattern, config, parentMatcher) {
  function decodePathArray (line 38584) | function decodePathArray(string) {
  function encodeDashes (line 38670) | function encodeDashes(str) { // Replace dashes with encoded "\-"
  function Type (line 38740) | function Type(config) {
  function ArrayType (line 38839) | function ArrayType(type, mode) {
  function $UrlMatcherFactory (line 38900) | function $UrlMatcherFactory() {
  function $UrlRouterProvider (line 39396) | function $UrlRouterProvider(   $locationProvider,   $urlMatcherFactory) {
  function $StateProvider (line 39815) | function $StateProvider(   $urlRouterProvider,   $urlMatcherFactory) {
  function $ViewProvider (line 41169) | function $ViewProvider() {
  function $ViewScrollProvider (line 41246) | function $ViewScrollProvider() {
  function $ViewDirective (line 41406) | function $ViewDirective(   $state,   $injector,   $uiViewScroll,   $inte...
  function $ViewDirectiveFill (line 41546) | function $ViewDirectiveFill (  $compile,   $controller,   $state,   $int...
  function getUiViewName (line 41586) | function getUiViewName(scope, attrs, element, $interpolate) {
  function parseStateRef (line 41595) | function parseStateRef(ref, current) {
  function stateContext (line 41603) | function stateContext(el) {
  function $StateRefDirective (line 41674) | function $StateRefDirective($state, $timeout) {
  function $StateRefActiveDirective (line 41819) | function $StateRefActiveDirective($state, $stateParams, $interpolate) {
  function $IsStateFilter (line 41874) | function $IsStateFilter($state) {
  function $IncludedByStateFilter (line 41892) | function $IncludedByStateFilter($state) {
  function actionSheet (line 42030) | function actionSheet(opts) {
  function retain (line 42263) | function retain() {
  function release (line 42273) | function release() {
  function getElement (line 42284) | function getElement() {
  function preventClick (line 42437) | function preventClick(ev) {
  function addClickBlock (line 42442) | function addClickBlock() {
  function removeClickBlock (line 42457) | function removeClickBlock() {
  function getViewById (line 42603) | function getViewById(viewId) {
  function getBackView (line 42607) | function getBackView(view) {
  function getForwardView (line 42611) | function getForwardView(view) {
  function getHistoryById (line 42615) | function getHistoryById(historyId) {
  function getHistory (line 42619) | function getHistory(scope) {
  function getParentHistoryObj (line 42635) | function getParentHistoryObj(scope) {
  function setNavViews (line 42649) | function setNavViews(viewId) {
  function getCurrentStateId (line 42655) | function getCurrentStateId() {
  function getCurrentStateParams (line 42672) | function getCurrentStateParams() {
  function isAbstractTag (line 43266) | function isAbstractTag(ele) {
  function canSwipeBack (line 43270) | function canSwipeBack(ele, viewLocals) {
  function onHardwareBackButton (line 43341) | function onHardwareBackButton(e) {
  function setStyles (line 43733) | function setStyles(ele, opacity, x, boxShadowOpacity) {
  function setStyles (line 43768) | function setStyles(ctrl, opacity, titleX, backTextX) {
  function enter (line 43784) | function enter(ctrlA, ctrlB, step) {
  function leave (line 43791) | function leave(ctrlA, ctrlB, step) {
  function setStyles (line 43823) | function setStyles(ele, x) {
  function setStyles (line 43854) | function setStyles(ctrl, opacity) {
  function setPlatformConfig (line 43900) | function setPlatformConfig(platformName, platformConfigs) {
  function addConfig (line 43911) | function addConfig(configObj, platformObj) {
  function createConfig (line 43929) | function createConfig(configObj, providerObj, platformPath) {
  function stringObj (line 43960) | function stringObj(obj, str) {
  function getLoader (line 44103) | function getLoader() {
  function showLoader (line 44187) | function showLoader(options) {
  function hideLoader (line 44223) | function hideLoader() {
  function positionView (line 44917) | function positionView(target, popoverEle) {
  function createPopup (line 45326) | function createPopup(options) {
  function onHardwareBackButton (line 45408) | function onHardwareBackButton() {
  function showPopup (line 45413) | function showPopup(options) {
  function focusInput (line 45476) | function focusInput(element) {
  function showAlert (line 45483) | function showAlert(opts) {
  function showConfirm (line 45495) | function showConfirm(opts) {
  function showPrompt (line 45509) | function showPrompt(opts) {
  function getStyle (line 45551) | function getStyle(el, cssprop) {
  function isStaticPositioned (line 45565) | function isStaticPositioned(element) {
  function $ionicTemplateCache (line 46148) | function $ionicTemplateCache(templates) {
  function run (line 46164) | function run() {
  function fetchTemplate (line 46234) | function fetchTemplate(url) {
  function loadAndCompile (line 46241) | function loadAndCompile(options) {
  function warn (line 46293) | function warn(oldMethod, newMethod) {
  function onReflow (line 46545) | function onReflow() {
  function completeOnTransitionEnd (line 46566) | function completeOnTransitionEnd(ev) {
  function transitionComplete (line 46570) | function transitionComplete() {
  function cancelOnTransitionEnd (line 46603) | function cancelOnTransitionEnd(ev) {
  function cancelTransition (line 46607) | function cancelTransition() {
  function getViewElementIdentifier (line 46743) | function getViewElementIdentifier(locals, view) {
  function viewState (line 46749) | function viewState(locals) {
  function getTransitionData (line 46753) | function getTransitionData(viewLocals, enteringEle, direction, view) {
  function getViewData (line 46775) | function getViewData(view) {
  function navViewAttr (line 46786) | function navViewAttr(ele, value) {
  function destroyViewEle (line 46794) | function destroyViewEle(ele) {
  function $LocationDecorator (line 46831) | function $LocationDecorator($location, $timeout) {
  function getEle (line 47215) | function getEle(className) {
  function onInfinite (line 47261) | function onInfinite() {
  function finishInfiniteScroll (line 47269) | function finishInfiniteScroll() {
  function checkInfiniteBounds (line 47285) | function checkInfiniteBounds() {
  function calculateMaxValue (line 47343) | function calculateMaxValue(maximum) {
  function positionItem (line 47628) | function positionItem(ele, itemType) {
  function transitionEnd (line 47795) | function transitionEnd() {
  function deprecatedWarning (line 47935) | function deprecatedWarning(oldMethod, newMethod) {
  function createNavElement (line 47942) | function createNavElement(type) {
  function getOnScreenHeaderBar (line 47949) | function getOnScreenHeaderBar() {
  function getOffScreenHeaderBar (line 47956) | function getOffScreenHeaderBar() {
  function navBarAttr (line 47963) | function navBarAttr(ctrl, val) {
  function navSwipeAttr (line 47967) | function navSwipeAttr(val) {
  function onTabsLeave (line 48183) | function onTabsLeave(ev, data) {
  function onDragStart (line 48336) | function onDragStart(ev) {
  function onDrag (line 48375) | function onDrag(ev) {
  function onRelease (line 48396) | function onRelease(ev) {
  function getDragX (line 48444) | function getDragX(ev) {
  function getSwipeCompletion (line 48448) | function getSwipeCompletion(dragX) {
  function navSwipeAttr (line 48463) | function navSwipeAttr(val) {
  function onTabsTop (line 48468) | function onTabsTop(ev, isTabsTop) {
  function onBarSubheader (line 48473) | function onBarSubheader(ev, isBarSubheader) {
  function getAssociatedNavBarCtrl (line 48478) | function getAssociatedNavBarCtrl() {
  function handleTouchend (line 48532) | function handleTouchend() {
  function handleTouchmove (line 48561) | function handleTouchmove(e) {
  function handleScroll (line 48627) | function handleScroll(e) {
  function overscroll (line 48632) | function overscroll(val) {
  function nativescroll (line 48637) | function nativescroll(target, newScrollTop) {
  function setScrollLock (line 48646) | function setScrollLock(enabled) {
  function scrollTo (line 48686) | function scrollTo(Y, duration, callback) {
  function destroy (line 48748) | function destroy() {
  function activate (line 48769) | function activate() {
  function deactivate (line 48774) | function deactivate() {
  function start (line 48783) | function start() {
  function show (line 48789) | function show() {
  function hide (line 48794) | function hide() {
  function tail (line 48799) | function tail() {
  function freezeAllScrolls (line 49153) | function freezeAllScrolls(shouldFreeze) {
  function createSvgElement (line 49479) | function createSvgElement(tagName, data, parent, spinnerName) {
  function setSvgAttribute (line 49504) | function setSvgAttribute(ele, k, v) {
  function animationValues (line 49508) | function animationValues(strValues, i) {
  function run (line 49786) | function run() {
  function easeInOutCubic (line 49828) | function easeInOutCubic(t, c) {
  function afterEnter (line 50093) | function afterEnter() {
  function titleUpdate (line 50116) | function titleUpdate(newTitle) {
  function deregisterFns (line 50124) | function deregisterFns() {
  function generateNavBarItem (line 50133) | function generateNavBarItem(html) {
  function attrTrue (line 50141) | function attrTrue(key) {
  function CollectionRepeatDirective (line 50350) | function CollectionRepeatDirective($ionicCollectionManager, $parse, $win...
  function RepeatManagerFactory (line 50658) | function RepeatManagerFactory($rootScope, $window, $$rAF) {
  function prelink (line 51334) | function prelink($scope, $element, $attr) {
  function checkAsideExpose (line 51485) | function checkAsideExpose() {
  function onResize (line 51491) | function onResize() {
  function gestureDirective (line 51764) | function gestureDirective(directiveName) {
  function tapScrollToTopDirective (line 51867) | function tapScrollToTopDirective() {
  function headerFooterBarDirective (line 51907) | function headerFooterBarDirective(isHeader) {
  function stopPropagation (line 52193) | function stopPropagation(ev) {
  function init (line 52219) | function init() {
  function stopPropagation (line 52297) | function stopPropagation(e) {
  function onShow (line 52453) | function onShow(e) {
  function onHide (line 52467) | function onHide() {
  function keyboardAttachGetClientHeight (line 52489) | function keyboardAttachGetClientHeight(element) {
  function init (line 52598) | function init() {
  function hasIconClass (line 52913) | function hasIconClass(ele) {
  function updateView (line 53416) | function updateView(firstTime) {
  function eventStopPropagation (line 53482) | function eventStopPropagation(e) {
  function prelink (line 53777) | function prelink($scope, $element, $attr) {
  function prelink (line 53936) | function prelink($scope, $element, $attr, sideMenuCtrl) {
  function prelink (line 54193) | function prelink($scope, $element, $attrs, ctrl) {
  function freezeAllScrolls (line 54311) | function freezeAllScrolls(shouldFreeze) {
  function getPager (line 54385) | function getPager() {
  function attrStr (line 54682) | function attrStr(k, v) {
  function selectIfMatchesState (line 54770) | function selectIfMatchesState() {
  function tabSelected (line 54782) | function tabSelected(isSelected) {
  function destroyTab (line 54817) | function destroyTab() {
  function prelink (line 54971) | function prelink($scope, $element, $attr, tabsCtrl) {
  function postLink (line 55013) | function postLink($scope, $element, $attr, tabsCtrl) {

FILE: www/lib/ionic/js/ionic.js
  function trueFn (line 31) | function trueFn() { return true; }
  function DelegateInstance (line 51) | function DelegateInstance(instances, handle) {
  function DelegateService (line 65) | function DelegateService() {
  function instanceMethodCaller (line 88) | function instanceMethodCaller(methodName) {
  function domReady (line 131) | function domReady() {
  function setup (line 680) | function setup() {
  function getParameterByName (line 2020) | function getParameterByName(name) {
  function onWindowLoad (line 2411) | function onWindowLoad() {
  function onPlatformReady (line 2432) | function onPlatformReady() {
  function update (line 2494) | function update(fn) {
  function tapEventListener (line 2827) | function tapEventListener(type, enable, useCapture) {
  function tapClick (line 2835) | function tapClick(e) {
  function triggerMouseEvent (line 2851) | function triggerMouseEvent(type, ele, x, y) {
  function tapClickGateKeeper (line 2859) | function tapClickGateKeeper(e) {
  function tapMouseDown (line 2881) | function tapMouseDown(e) {
  function tapMouseUp (line 2907) | function tapMouseUp(e) {
  function tapMouseMove (line 2925) | function tapMouseMove(e) {
  function tapTouchStart (line 2936) | function tapTouchStart(e) {
  function tapTouchEnd (line 2962) | function tapTouchEnd(e) {
  function tapTouchMove (line 2979) | function tapTouchMove(e) {
  function tapTouchCancel (line 2988) | function tapTouchCancel() {
  function tapEnableTouchEvents (line 2994) | function tapEnableTouchEvents() {
  function tapIgnoreEvent (line 3002) | function tapIgnoreEvent(e) {
  function tapHandleFocus (line 3012) | function tapHandleFocus(ele) {
  function tapFocusOutActive (line 3047) | function tapFocusOutActive() {
  function tapFocusIn (line 3056) | function tapFocusIn(e) {
  function tapFocusOut (line 3078) | function tapFocusOut() {
  function tapActiveElement (line 3083) | function tapActiveElement(ele) {
  function tapHasPointerMoved (line 3090) | function tapHasPointerMoved(endEvent) {
  function tapContainingElement (line 3106) | function tapContainingElement(ele, allowSelf) {
  function tapTargetElement (line 3116) | function tapTargetElement(ele) {
  function clear (line 3201) | function clear() {
  function activateElements (line 3209) | function activateElements() {
  function deactivateElements (line 3220) | function deactivateElements() {
  function keyboardInit (line 3684) | function keyboardInit() {
  function keyboardNativeShow (line 3714) | function keyboardNativeShow(e) {
  function keyboardFocusIn (line 3743) | function keyboardFocusIn(e) {
  function keyboardFocusOut (line 3804) | function keyboardFocusOut() {
  function keyboardOrientationChange (line 3845) | function keyboardOrientationChange() {
  function keyboardOnKeyDown (line 3877) | function keyboardOnKeyDown(e) {
  function keyboardPreventDefault (line 3887) | function keyboardPreventDefault(e) {
  function keyboardWaitForResize (line 3911) | function keyboardWaitForResize(callback, isOpening) {
  function keyboardHide (line 3975) | function keyboardHide() {
  function keyboardShow (line 4015) | function keyboardShow() {
  function keyboardGetHeight (line 4055) | function keyboardGetHeight() {
  function isPortraitViewportHeight (line 4094) | function isPortraitViewportHeight(viewportHeight) {
  function isLandscapeViewportHeight (line 4100) | function isLandscapeViewportHeight(viewportHeight) {
  function keyboardUpdateViewportHeight (line 4106) | function keyboardUpdateViewportHeight() {
  function keyboardInitViewportHeight (line 4130) | function keyboardInitViewportHeight() {
  function getViewportHeight (line 4148) | function getViewportHeight() {
  function inputScrollView (line 4165) | function inputScrollView(ele) {
  function keyboardHasPlugin (line 4175) | function keyboardHasPlugin() {
  function viewportLoadTag (line 4233) | function viewportLoadTag() {
  function viewportUpdate (line 4256) | function viewportUpdate() {
  function viewportTagUpdate (line 4340) | function viewportTagUpdate() {
  function getEventTouches (line 5144) | function getEventTouches(e) {
  function animateScroll (line 7059) | function animateScroll(Y, X) {
  function makeInvisible (line 7302) | function makeInvisible() {
  function setup (line 7968) | function setup() {
  function prev (line 8026) | function prev(slideSpeed) {
  function next (line 8033) | function next(slideSpeed) {
  function circle (line 8040) | function circle(index) {
  function slide (line 8047) | function slide(to, slideSpeed) {
  function move (line 8090) | function move(index, dist, speed) {
  function translate (line 8097) | function translate(index, dist, speed) {
  function animate (line 8117) | function animate(from, to, speed) {
  function begin (line 8156) | function begin() {
  function stop (line 8162) | function stop() {

FILE: www/lib/moment/locale/be.js
  function plural (line 14) | function plural(word, num) {
  function relativeTimeWithPlural (line 18) | function relativeTimeWithPlural(number, withoutSuffix, key) {
  function monthsCaseReplace (line 36) | function monthsCaseReplace(m, format) {
  function weekdaysCaseReplace (line 46) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/locale/br.js
  function relativeTimeWithMutation (line 12) | function relativeTimeWithMutation(number, withoutSuffix, key) {
  function specialMutationForYears (line 20) | function specialMutationForYears(number) {
  function lastNumber (line 32) | function lastNumber(number) {
  function mutation (line 38) | function mutation(text, number) {
  function softMutation (line 44) | function softMutation(text) {

FILE: www/lib/moment/locale/bs.js
  function translate (line 13) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/locale/cs.js
  function plural (line 14) | function plural(n) {
  function translate (line 17) | function translate(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/locale/de-at.js
  function processRelativeTime (line 14) | function processRelativeTime(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/locale/de.js
  function processRelativeTime (line 13) | function processRelativeTime(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/locale/et.js
  function processRelativeTime (line 13) | function processRelativeTime(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/locale/fi.js
  function translate (line 17) | function translate(number, withoutSuffix, key, isFuture) {
  function verbalNumber (line 51) | function verbalNumber(number, isFuture) {

FILE: www/lib/moment/locale/hr.js
  function translate (line 12) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/locale/hu.js
  function translate (line 13) | function translate(number, withoutSuffix, key, isFuture) {
  function week (line 42) | function week(isFuture) {

FILE: www/lib/moment/locale/hy-am.js
  function monthsCaseReplace (line 12) | function monthsCaseReplace(m, format) {
  function monthsShortCaseReplace (line 22) | function monthsShortCaseReplace(m, format) {
  function weekdaysCaseReplace (line 26) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/locale/is.js
  function plural (line 12) | function plural(n) {
  function translate (line 20) | function translate(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/locale/ka.js
  function monthsCaseReplace (line 12) | function monthsCaseReplace(m, format) {
  function weekdaysCaseReplace (line 22) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/locale/lb.js
  function processRelativeTime (line 12) | function processRelativeTime(number, withoutSuffix, key, isFuture) {
  function processFutureTime (line 22) | function processFutureTime(string) {
  function processPastTime (line 29) | function processPastTime(string) {
  function eifelerRegelAppliesToNumber (line 43) | function eifelerRegelAppliesToNumber(number) {

FILE: www/lib/moment/locale/lt.js
  function translateSeconds (line 25) | function translateSeconds(number, withoutSuffix, key, isFuture) {
  function translateSingular (line 32) | function translateSingular(number, withoutSuffix, key, isFuture) {
  function special (line 35) | function special(number) {
  function forms (line 38) | function forms(key) {
  function translate (line 41) | function translate(number, withoutSuffix, key, isFuture) {
  function relativeWeekDay (line 55) | function relativeWeekDay(moment, format) {

FILE: www/lib/moment/locale/lv.js
  function format (line 19) | function format(word, number, withoutSuffix) {
  function relativeTimeWithPlural (line 27) | function relativeTimeWithPlural(number, withoutSuffix, key) {

FILE: www/lib/moment/locale/pl.js
  function plural (line 14) | function plural(n) {
  function translate (line 17) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/locale/ro.js
  function relativeTimeWithPlural (line 13) | function relativeTimeWithPlural(number, withoutSuffix, key) {

FILE: www/lib/moment/locale/ru.js
  function plural (line 13) | function plural(word, num) {
  function relativeTimeWithPlural (line 17) | function relativeTimeWithPlural(number, withoutSuffix, key) {
  function monthsCaseReplace (line 32) | function monthsCaseReplace(m, format) {
  function monthsShortCaseReplace (line 42) | function monthsShortCaseReplace(m, format) {
  function weekdaysCaseReplace (line 52) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/locale/sk.js
  function plural (line 15) | function plural(n) {
  function translate (line 18) | function translate(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/locale/sl.js
  function translate (line 12) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/locale/uk.js
  function plural (line 13) | function plural(word, num) {
  function relativeTimeWithPlural (line 17) | function relativeTimeWithPlural(number, withoutSuffix, key) {
  function monthsCaseReplace (line 35) | function monthsCaseReplace(m, format) {
  function weekdaysCaseReplace (line 45) | function weekdaysCaseReplace(m, format) {
  function processHoursFunction (line 58) | function processHoursFunction(str) {

FILE: www/lib/moment/min/locales.js
  function be__plural (line 479) | function be__plural(word, num) {
  function be__relativeTimeWithPlural (line 483) | function be__relativeTimeWithPlural(number, withoutSuffix, key) {
  function be__monthsCaseReplace (line 501) | function be__monthsCaseReplace(m, format) {
  function be__weekdaysCaseReplace (line 511) | function be__weekdaysCaseReplace(m, format) {
  function relativeTimeWithMutation (line 893) | function relativeTimeWithMutation(number, withoutSuffix, key) {
  function specialMutationForYears (line 901) | function specialMutationForYears(number) {
  function lastNumber (line 913) | function lastNumber(number) {
  function mutation (line 919) | function mutation(text, number) {
  function softMutation (line 925) | function softMutation(text) {
  function bs__translate (line 990) | function bs__translate(number, withoutSuffix, key) {
  function cs__plural (line 1189) | function cs__plural(n) {
  function cs__translate (line 1192) | function cs__translate(number, withoutSuffix, key, isFuture) {
  function de_at__processRelativeTime (line 1504) | function de_at__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function de__processRelativeTime (line 1568) | function de__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function et__processRelativeTime (line 2008) | function et__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function fi__translate (line 2228) | function fi__translate(number, withoutSuffix, key, isFuture) {
  function verbalNumber (line 2262) | function verbalNumber(number, isFuture) {
  function hr__translate (line 2773) | function hr__translate(number, withoutSuffix, key) {
  function hu__translate (line 2903) | function hu__translate(number, withoutSuffix, key, isFuture) {
  function week (line 2932) | function week(isFuture) {
  function hy_am__monthsCaseReplace (line 3000) | function hy_am__monthsCaseReplace(m, format) {
  function hy_am__monthsShortCaseReplace (line 3010) | function hy_am__monthsShortCaseReplace(m, format) {
  function hy_am__weekdaysCaseReplace (line 3014) | function hy_am__weekdaysCaseReplace(m, format) {
  function is__plural (line 3172) | function is__plural(n) {
  function is__translate (line 3180) | function is__translate(number, withoutSuffix, key, isFuture) {
  function ka__monthsCaseReplace (line 3401) | function ka__monthsCaseReplace(m, format) {
  function ka__weekdaysCaseReplace (line 3411) | function ka__weekdaysCaseReplace(m, format) {
  function lb__processRelativeTime (line 3597) | function lb__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function processFutureTime (line 3607) | function processFutureTime(string) {
  function processPastTime (line 3614) | function processPastTime(string) {
  function eifelerRegelAppliesToNumber (line 3628) | function eifelerRegelAppliesToNumber(number) {
  function translateSeconds (line 3733) | function translateSeconds(number, withoutSuffix, key, isFuture) {
  function translateSingular (line 3740) | function translateSingular(number, withoutSuffix, key, isFuture) {
  function special (line 3743) | function special(number) {
  function forms (line 3746) | function forms(key) {
  function lt__translate (line 3749) | function lt__translate(number, withoutSuffix, key, isFuture) {
  function relativeWeekDay (line 3763) | function relativeWeekDay(moment, format) {
  function format (line 3831) | function format(word, number, withoutSuffix) {
  function lv__relativeTimeWithPlural (line 3839) | function lv__relativeTimeWithPlural(number, withoutSuffix, key) {
  function pl__plural (line 4566) | function pl__plural(n) {
  function pl__translate (line 4569) | function pl__translate(number, withoutSuffix, key) {
  function ro__relativeTimeWithPlural (line 4756) | function ro__relativeTimeWithPlural(number, withoutSuffix, key) {
  function ru__plural (line 4819) | function ru__plural(word, num) {
  function ru__relativeTimeWithPlural (line 4823) | function ru__relativeTimeWithPlural(number, withoutSuffix, key) {
  function ru__monthsCaseReplace (line 4838) | function ru__monthsCaseReplace(m, format) {
  function ru__monthsShortCaseReplace (line 4848) | function ru__monthsShortCaseReplace(m, format) {
  function ru__weekdaysCaseReplace (line 4858) | function ru__weekdaysCaseReplace(m, format) {
  function sk__plural (line 4974) | function sk__plural(n) {
  function sk__translate (line 4977) | function sk__translate(number, withoutSuffix, key, isFuture) {
  function sl__translate (line 5118) | function sl__translate(number, withoutSuffix, key) {
  function uk__plural (line 5925) | function uk__plural(word, num) {
  function uk__relativeTimeWithPlural (line 5929) | function uk__relativeTimeWithPlural(number, withoutSuffix, key) {
  function uk__monthsCaseReplace (line 5947) | function uk__monthsCaseReplace(m, format) {
  function uk__weekdaysCaseReplace (line 5957) | function uk__weekdaysCaseReplace(m, format) {
  function processHoursFunction (line 5970) | function processHoursFunction(str) {

FILE: www/lib/moment/min/moment-with-locales.js
  function utils_hooks__hooks (line 9) | function utils_hooks__hooks () {
  function setHookCallback (line 15) | function setHookCallback (callback) {
  function defaultParsingFlags (line 19) | function defaultParsingFlags() {
  function isArray (line 35) | function isArray(input) {
  function isDate (line 39) | function isDate(input) {
  function map (line 43) | function map(arr, fn) {
  function hasOwnProp (line 51) | function hasOwnProp(a, b) {
  function extend (line 55) | function extend(a, b) {
  function create_utc__createUTC (line 73) | function create_utc__createUTC (input, format, locale, strict) {
  function valid__isValid (line 77) | function valid__isValid(m) {
  function valid__createInvalid (line 97) | function valid__createInvalid (flags) {
  function copyConfig (line 111) | function copyConfig(to, from) {
  function Moment (line 161) | function Moment(config) {
  function isMoment (line 173) | function isMoment (obj) {
  function toInt (line 177) | function toInt(argumentForCoercion) {
  function compareArrays (line 192) | function compareArrays(array1, array2, dontConvert) {
  function Locale (line 206) | function Locale() {
  function normalizeLocale (line 212) | function normalizeLocale(key) {
  function chooseLocale (line 219) | function chooseLocale(names) {
  function loadLocale (line 243) | function loadLocale(name) {
  function locale_locales__getSetGlobalLocale (line 262) | function locale_locales__getSetGlobalLocale (key, values) {
  function defineLocale (line 281) | function defineLocale (name, values) {
  function locale_locales__getLocale (line 301) | function locale_locales__getLocale (key) {
  function addUnitAlias (line 326) | function addUnitAlias (unit, shorthand) {
  function normalizeUnits (line 331) | function normalizeUnits(units) {
  function normalizeObjectUnits (line 335) | function normalizeObjectUnits(inputObject) {
  function makeGetSet (line 352) | function makeGetSet (unit, keepTime) {
  function get_set__get (line 364) | function get_set__get (mom, unit) {
  function get_set__set (line 368) | function get_set__set (mom, unit, value) {
  function getSet (line 374) | function getSet (units, value) {
  function zeroFill (line 389) | function zeroFill(number, targetLength, forceSign) {
  function addFormatToken (line 411) | function addFormatToken (token, padded, ordinal, callback) {
  function removeFormattingTokens (line 433) | function removeFormattingTokens(input) {
  function makeFormatFunction (line 440) | function makeFormatFunction(format) {
  function formatMoment (line 461) | function formatMoment(m, format) {
  function expandFormat (line 475) | function expandFormat(format, locale) {
  function addRegexToken (line 514) | function addRegexToken (token, regex, strictRegex) {
  function getParseRegexForToken (line 520) | function getParseRegexForToken (token, config) {
  function unescapeFormat (line 529) | function unescapeFormat(s) {
  function addParseToken (line 537) | function addParseToken (token, callback) {
  function addWeekParseToken (line 552) | function addWeekParseToken (token, callback) {
  function addTimeToArrayFromToken (line 559) | function addTimeToArrayFromToken(token, input, config) {
  function daysInMonth (line 573) | function daysInMonth(year, month) {
  function localeMonths (line 619) | function localeMonths (m) {
  function localeMonthsShort (line 624) | function localeMonthsShort (m) {
  function localeMonthsParse (line 628) | function localeMonthsParse (monthName, format, strict) {
  function setMonth (line 661) | function setMonth (mom, value) {
  function getSetMonth (line 678) | function getSetMonth (value) {
  function getDaysInMonth (line 688) | function getDaysInMonth () {
  function checkOverflow (line 692) | function checkOverflow (m) {
  function warn (line 716) | function warn(msg) {
  function deprecate (line 722) | function deprecate(msg, fn) {
  function deprecateSimple (line 735) | function deprecateSimple(name, msg) {
  function configFromISO (line 765) | function configFromISO(config) {
  function configFromString (line 795) | function configFromString(config) {
  function createDate (line 820) | function createDate (y, m, d, h, M, s, ms) {
  function createUTCDate (line 832) | function createUTCDate (y) {
  function daysInYear (line 867) | function daysInYear(year) {
  function isLeapYear (line 871) | function isLeapYear(year) {
  function getIsLeapYear (line 885) | function getIsLeapYear () {
  function weekOfYear (line 917) | function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
  function localeWeek (line 940) | function localeWeek (mom) {
  function localeFirstDayOfWeek (line 949) | function localeFirstDayOfWeek () {
  function localeFirstDayOfYear (line 953) | function localeFirstDayOfYear () {
  function getSetWeek (line 959) | function getSetWeek (input) {
  function getSetISOWeek (line 964) | function getSetISOWeek (input) {
  function dayOfYearFromWeeks (line 986) | function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, f...
  function getSetDayOfYear (line 1004) | function getSetDayOfYear (input) {
  function defaults (line 1010) | function defaults(a, b, c) {
  function currentDateArray (line 1020) | function currentDateArray(config) {
  function configFromArray (line 1032) | function configFromArray (config) {
  function dayOfYearFromWeekInfo (line 1094) | function dayOfYearFromWeekInfo(config) {
  function configFromStringAndFormat (line 1139) | function configFromStringAndFormat(config) {
  function meridiemFixWrap (line 1201) | function meridiemFixWrap (locale, hour, meridiem) {
  function configFromStringAndArray (line 1226) | function configFromStringAndArray(config) {
  function configFromObject (line 1271) | function configFromObject(config) {
  function createFromConfig (line 1282) | function createFromConfig (config) {
  function configFromInput (line 1317) | function configFromInput(config) {
  function createLocalOrUTC (line 1340) | function createLocalOrUTC (input, format, locale, strict, isUTC) {
  function local__createLocal (line 1360) | function local__createLocal (input, format, locale, strict) {
  function pickBy (line 1385) | function pickBy(fn, moments) {
  function min (line 1403) | function min () {
  function max (line 1409) | function max () {
  function Duration (line 1415) | function Duration (duration) {
  function isDuration (line 1450) | function isDuration (obj) {
  function offset (line 1454) | function offset (token, separator) {
  function offsetFromString (line 1485) | function offsetFromString(string) {
  function cloneWithOffset (line 1495) | function cloneWithOffset(input, model) {
  function getDateOffset (line 1510) | function getDateOffset (m) {
  function getSetOffset (line 1534) | function getSetOffset (input, keepLocalTime) {
  function getSetZone (line 1567) | function getSetZone (input, keepLocalTime) {
  function setOffsetToUTC (line 1581) | function setOffsetToUTC (keepLocalTime) {
  function setOffsetToLocal (line 1585) | function setOffsetToLocal (keepLocalTime) {
  function setOffsetToParsedOffset (line 1597) | function setOffsetToParsedOffset () {
  function hasAlignedHourOffset (line 1606) | function hasAlignedHourOffset (input) {
  function isDaylightSavingTime (line 1617) | function isDaylightSavingTime () {
  function isDaylightSavingTimeShifted (line 1624) | function isDaylightSavingTimeShifted () {
  function isLocal (line 1633) | function isLocal () {
  function isUtcOffset (line 1637) | function isUtcOffset () {
  function isUtc (line 1641) | function isUtc () {
  function create__createDuration (line 1651) | function create__createDuration (input, key) {
  function parseIso (line 1714) | function parseIso (inp, sign) {
  function positiveMomentsDifference (line 1723) | function positiveMomentsDifference(base, other) {
  function momentsDifference (line 1737) | function momentsDifference(base, other) {
  function createAdder (line 1751) | function createAdder(direction, name) {
  function add_subtract__addSubtract (line 1767) | function add_subtract__addSubtract (mom, duration, isAdding, updateOffse...
  function moment_calendar__calendar (line 1790) | function moment_calendar__calendar (time) {
  function clone (line 1805) | function clone () {
  function isAfter (line 1809) | function isAfter (input, units) {
  function isBefore (line 1821) | function isBefore (input, units) {
  function isBetween (line 1833) | function isBetween (from, to, units) {
  function isSame (line 1837) | function isSame (input, units) {
  function absFloor (line 1849) | function absFloor (number) {
  function diff (line 1857) | function diff (input, units, asFloat) {
  function monthDiff (line 1883) | function monthDiff (a, b) {
  function toString (line 1905) | function toString () {
  function moment_format__toISOString (line 1909) | function moment_format__toISOString () {
  function moment_format__format (line 1923) | function moment_format__format (inputString) {
  function from (line 1928) | function from (time, withoutSuffix) {
  function fromNow (line 1932) | function fromNow (withoutSuffix) {
  function locale (line 1936) | function locale (key) {
  function localeData (line 1961) | function localeData () {
  function startOf (line 1965) | function startOf (units) {
  function endOf (line 2008) | function endOf (units) {
  function to_type__valueOf (line 2016) | function to_type__valueOf () {
  function unix (line 2020) | function unix () {
  function toDate (line 2024) | function toDate () {
  function toArray (line 2028) | function toArray () {
  function moment_valid__isValid (line 2033) | function moment_valid__isValid () {
  function parsingFlags (line 2037) | function parsingFlags () {
  function invalidAt (line 2041) | function invalidAt () {
  function addWeekYearFormatToken (line 2053) | function addWeekYearFormatToken (token, getter) {
  function weeksInYear (line 2088) | function weeksInYear(year, dow, doy) {
  function getSetWeekYear (line 2094) | function getSetWeekYear (input) {
  function getSetISOWeekYear (line 2099) | function getSetISOWeekYear (input) {
  function getISOWeeksInYear (line 2104) | function getISOWeeksInYear () {
  function getWeeksInYear (line 2108) | function getWeeksInYear () {
  function getSetQuarter (line 2128) | function getSetQuarter (input) {
  function parseWeekday (line 2203) | function parseWeekday(input, locale) {
  function localeWeekdays (line 2221) | function localeWeekdays (m) {
  function localeWeekdaysShort (line 2226) | function localeWeekdaysShort (m) {
  function localeWeekdaysMin (line 2231) | function localeWeekdaysMin (m) {
  function localeWeekdaysParse (line 2235) | function localeWeekdaysParse (weekdayName) {
  function getSetDayOfWeek (line 2258) | function getSetDayOfWeek (input) {
  function getSetLocaleDayOfWeek (line 2268) | function getSetLocaleDayOfWeek (input) {
  function getSetISODayOfWeek (line 2273) | function getSetISODayOfWeek (input) {
  function meridiem (line 2285) | function meridiem (token, lowercase) {
  function matchMeridiem (line 2300) | function matchMeridiem (isStrict, locale) {
  function localeIsPM (line 2323) | function localeIsPM (input) {
  function localeMeridiem (line 2330) | function localeMeridiem (hours, minutes, isLower) {
  function millisecond__milliseconds (line 2387) | function millisecond__milliseconds (token) {
  function getZoneAbbr (line 2417) | function getZoneAbbr () {
  function getZoneName (line 2421) | function getZoneName () {
  function moment_moment__createUnix (line 2524) | function moment_moment__createUnix (input) {
  function moment_moment__createInZone (line 2528) | function moment_moment__createInZone () {
  function locale_calendar__calendar (line 2541) | function locale_calendar__calendar (key, mom, now) {
  function longDateFormat (line 2555) | function longDateFormat (key) {
  function invalidDate (line 2568) | function invalidDate () {
  function ordinal (line 2575) | function ordinal (number) {
  function preParsePostFormat (line 2579) | function preParsePostFormat (string) {
  function relative__relativeTime (line 2599) | function relative__relativeTime (number, withoutSuffix, string, isFuture) {
  function pastFuture (line 2606) | function pastFuture (diff, output) {
  function locale_set__set (line 2611) | function locale_set__set (config) {
  function lists__get (line 2671) | function lists__get (format, index, field, setter) {
  function list (line 2677) | function list (format, index, field, count, setter) {
  function lists__listMonths (line 2697) | function lists__listMonths (format, index) {
  function lists__listMonthsShort (line 2701) | function lists__listMonthsShort (format, index) {
  function lists__listWeekdays (line 2705) | function lists__listWeekdays (format, index) {
  function lists__listWeekdaysShort (line 2709) | function lists__listWeekdaysShort (format, index) {
  function lists__listWeekdaysMin (line 2713) | function lists__listWeekdaysMin (format, index) {
  function duration_abs__abs (line 2735) | function duration_abs__abs () {
  function duration_add_subtract__addSubtract (line 2752) | function duration_add_subtract__addSubtract (duration, input, value, dir...
  function duration_add_subtract__add (line 2763) | function duration_add_subtract__add (input, value) {
  function duration_add_subtract__subtract (line 2768) | function duration_add_subtract__subtract (input, value) {
  function bubble (line 2772) | function bubble () {
  function daysToYears (line 2814) | function daysToYears (days) {
  function yearsToDays (line 2819) | function yearsToDays (years) {
  function as (line 2825) | function as (units) {
  function duration_as__valueOf (line 2853) | function duration_as__valueOf () {
  function makeAs (line 2862) | function makeAs (alias) {
  function duration_get__get (line 2877) | function duration_get__get (units) {
  function makeGetter (line 2882) | function makeGetter(name) {
  function weeks (line 2896) | function weeks () {
  function substituteTimeAgo (line 2910) | function substituteTimeAgo(string, number, withoutSuffix, isFuture, loca...
  function duration_humanize__relativeTime (line 2914) | function duration_humanize__relativeTime (posNegDuration, withoutSuffix,...
  function duration_humanize__getSetRelativeTimeThreshold (line 2941) | function duration_humanize__getSetRelativeTimeThreshold (threshold, limi...
  function humanize (line 2952) | function humanize (withSuffix) {
  function iso_string__toISOString (line 2965) | function iso_string__toISOString() {
  function be__plural (line 3554) | function be__plural(word, num) {
  function be__relativeTimeWithPlural (line 3558) | function be__relativeTimeWithPlural(number, withoutSuffix, key) {
  function be__monthsCaseReplace (line 3576) | function be__monthsCaseReplace(m, format) {
  function be__weekdaysCaseReplace (line 3586) | function be__weekdaysCaseReplace(m, format) {
  function relativeTimeWithMutation (line 3968) | function relativeTimeWithMutation(number, withoutSuffix, key) {
  function specialMutationForYears (line 3976) | function specialMutationForYears(number) {
  function lastNumber (line 3988) | function lastNumber(number) {
  function mutation (line 3994) | function mutation(text, number) {
  function softMutation (line 4000) | function softMutation(text) {
  function bs__translate (line 4065) | function bs__translate(number, withoutSuffix, key) {
  function cs__plural (line 4264) | function cs__plural(n) {
  function cs__translate (line 4267) | function cs__translate(number, withoutSuffix, key, isFuture) {
  function de_at__processRelativeTime (line 4579) | function de_at__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function de__processRelativeTime (line 4643) | function de__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function et__processRelativeTime (line 5083) | function et__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function fi__translate (line 5303) | function fi__translate(number, withoutSuffix, key, isFuture) {
  function verbalNumber (line 5337) | function verbalNumber(number, isFuture) {
  function hr__translate (line 5848) | function hr__translate(number, withoutSuffix, key) {
  function hu__translate (line 5978) | function hu__translate(number, withoutSuffix, key, isFuture) {
  function week (line 6007) | function week(isFuture) {
  function hy_am__monthsCaseReplace (line 6075) | function hy_am__monthsCaseReplace(m, format) {
  function hy_am__monthsShortCaseReplace (line 6085) | function hy_am__monthsShortCaseReplace(m, format) {
  function hy_am__weekdaysCaseReplace (line 6089) | function hy_am__weekdaysCaseReplace(m, format) {
  function is__plural (line 6247) | function is__plural(n) {
  function is__translate (line 6255) | function is__translate(number, withoutSuffix, key, isFuture) {
  function ka__monthsCaseReplace (line 6476) | function ka__monthsCaseReplace(m, format) {
  function ka__weekdaysCaseReplace (line 6486) | function ka__weekdaysCaseReplace(m, format) {
  function lb__processRelativeTime (line 6672) | function lb__processRelativeTime(number, withoutSuffix, key, isFuture) {
  function processFutureTime (line 6682) | function processFutureTime(string) {
  function processPastTime (line 6689) | function processPastTime(string) {
  function eifelerRegelAppliesToNumber (line 6703) | function eifelerRegelAppliesToNumber(number) {
  function translateSeconds (line 6808) | function translateSeconds(number, withoutSuffix, key, isFuture) {
  function translateSingular (line 6815) | function translateSingular(number, withoutSuffix, key, isFuture) {
  function special (line 6818) | function special(number) {
  function forms (line 6821) | function forms(key) {
  function lt__translate (line 6824) | function lt__translate(number, withoutSuffix, key, isFuture) {
  function relativeWeekDay (line 6838) | function relativeWeekDay(moment, format) {
  function lv__format (line 6906) | function lv__format(word, number, withoutSuffix) {
  function lv__relativeTimeWithPlural (line 6914) | function lv__relativeTimeWithPlural(number, withoutSuffix, key) {
  function pl__plural (line 7641) | function pl__plural(n) {
  function pl__translate (line 7644) | function pl__translate(number, withoutSuffix, key) {
  function ro__relativeTimeWithPlural (line 7831) | function ro__relativeTimeWithPlural(number, withoutSuffix, key) {
  function ru__plural (line 7894) | function ru__plural(word, num) {
  function ru__relativeTimeWithPlural (line 7898) | function ru__relativeTimeWithPlural(number, withoutSuffix, key) {
  function ru__monthsCaseReplace (line 7913) | function ru__monthsCaseReplace(m, format) {
  function ru__monthsShortCaseReplace (line 7923) | function ru__monthsShortCaseReplace(m, format) {
  function ru__weekdaysCaseReplace (line 7933) | function ru__weekdaysCaseReplace(m, format) {
  function sk__plural (line 8049) | function sk__plural(n) {
  function sk__translate (line 8052) | function sk__translate(number, withoutSuffix, key, isFuture) {
  function sl__translate (line 8193) | function sl__translate(number, withoutSuffix, key) {
  function uk__plural (line 9000) | function uk__plural(word, num) {
  function uk__relativeTimeWithPlural (line 9004) | function uk__relativeTimeWithPlural(number, withoutSuffix, key) {
  function uk__monthsCaseReplace (line 9022) | function uk__monthsCaseReplace(m, format) {
  function uk__weekdaysCaseReplace (line 9032) | function uk__weekdaysCaseReplace(m, format) {
  function processHoursFunction (line 9045) | function processHoursFunction(str) {

FILE: www/lib/moment/min/tests.js
  function module (line 12) | function module (name, lifecycle) {
  function localeModule (line 31) | function localeModule (name, lifecycle) {
  function equalTest (line 55) | function equalTest(input, mmm, i) {
  function module (line 368) | function module (name, lifecycle) {
  function localeModule (line 387) | function localeModule (name, lifecycle) {
  function equalTest (line 411) | function equalTest(input, mmm, i) {
  function module (line 722) | function module (name, lifecycle) {
  function localeModule (line 741) | function localeModule (name, lifecycle) {
  function equalTest (line 765) | function equalTest(input, mmm, i) {
  function module (line 1081) | function module (name, lifecycle) {
  function localeModule (line 1100) | function localeModule (name, lifecycle) {
  function equalTest (line 1126) | function equalTest(input, mmm, i) {
  function module (line 1523) | function module (name, lifecycle) {
  function localeModule (line 1542) | function localeModule (name, lifecycle) {
  function equalTest (line 1581) | function equalTest(input, mmm, i) {
  function module (line 1897) | function module (name, lifecycle) {
  function localeModule (line 1916) | function localeModule (name, lifecycle) {
  function equalTest (line 1940) | function equalTest(input, mmm, i) {
  function module (line 2263) | function module (name, lifecycle) {
  function localeModule (line 2282) | function localeModule (name, lifecycle) {
  function equalTest (line 2306) | function equalTest(input, mmm, i) {
  function makeFormat (line 2502) | function makeFormat(d) {
  function makeFormat (line 2519) | function makeFormat(d) {
  function module (line 2674) | function module (name, lifecycle) {
  function localeModule (line 2693) | function localeModule (name, lifecycle) {
  function equalTest (line 2717) | function equalTest(input, mmm, i) {
  function makeFormat (line 2890) | function makeFormat(d) {
  function module (line 3045) | function module (name, lifecycle) {
  function localeModule (line 3064) | function localeModule (name, lifecycle) {
  function equalTest (line 3088) | function equalTest(input, mmm, i) {
  function module (line 3416) | function module (name, lifecycle) {
  function localeModule (line 3435) | function localeModule (name, lifecycle) {
  function equalTest (line 3459) | function equalTest(input, mmm, i) {
  function module (line 3788) | function module (name, lifecycle) {
  function localeModule (line 3807) | function localeModule (name, lifecycle) {
  function equalTest (line 3831) | function equalTest(input, mmm, i) {
  function module (line 4100) | function module (name, lifecycle) {
  function localeModule (line 4119) | function localeModule (name, lifecycle) {
  function equalTest (line 4143) | function equalTest(input, mmm, i) {
  function makeFormat (line 4303) | function makeFormat(d) {
  function makeFormat (line 4332) | function makeFormat(d) {
  function module (line 4488) | function module (name, lifecycle) {
  function localeModule (line 4507) | function localeModule (name, lifecycle) {
  function equalTest (line 4531) | function equalTest(input, mmm, i) {
  function module (line 4844) | function module (name, lifecycle) {
  function localeModule (line 4863) | function localeModule (name, lifecycle) {
  function equalTest (line 4887) | function equalTest(input, mmm, monthIndex) {
  function module (line 5287) | function module (name, lifecycle) {
  function localeModule (line 5306) | function localeModule (name, lifecycle) {
  function equalTest (line 5330) | function equalTest(input, mmm, i) {
  function module (line 5645) | function module (name, lifecycle) {
  function localeModule (line 5664) | function localeModule (name, lifecycle) {
  function equalTest (line 5689) | function equalTest(input, mmm, i) {
  function module (line 5999) | function module (name, lifecycle) {
  function localeModule (line 6018) | function localeModule (name, lifecycle) {
  function equalTest (line 6042) | function equalTest(input, mmm, i) {
  function module (line 6305) | function module (name, lifecycle) {
  function localeModule (line 6324) | function localeModule (name, lifecycle) {
  function equalTest (line 6349) | function equalTest(input, mmm, i) {
  function module (line 6657) | function module (name, lifecycle) {
  function localeModule (line 6676) | function localeModule (name, lifecycle) {
  function equalTest (line 6700) | function equalTest(input, mmm, i) {
  function module (line 7008) | function module (name, lifecycle) {
  function localeModule (line 7027) | function localeModule (name, lifecycle) {
  function equalTest (line 7053) | function equalTest(input, mmm, i) {
  function module (line 7412) | function module (name, lifecycle) {
  function localeModule (line 7431) | function localeModule (name, lifecycle) {
  function equalTest (line 7455) | function equalTest(input, mmm, i) {
  function module (line 7759) | function module (name, lifecycle) {
  function localeModule (line 7778) | function localeModule (name, lifecycle) {
  function equalTest (line 7804) | function equalTest(input, mmm, i) {
  function module (line 8124) | function module (name, lifecycle) {
  function localeModule (line 8143) | function localeModule (name, lifecycle) {
  function equalTest (line 8167) | function equalTest(input, mmm, i) {
  function module (line 8480) | function module (name, lifecycle) {
  function localeModule (line 8499) | function localeModule (name, lifecycle) {
  function equalTest (line 8525) | function equalTest(input, mmm, i) {
  function module (line 8846) | function module (name, lifecycle) {
  function localeModule (line 8865) | function localeModule (name, lifecycle) {
  function equalTest (line 8889) | function equalTest(input, mmm, i) {
  function module (line 9203) | function module (name, lifecycle) {
  function localeModule (line 9222) | function localeModule (name, lifecycle) {
  function equalTest (line 9246) | function equalTest(input, mmm, i) {
  function module (line 9562) | function module (name, lifecycle) {
  function localeModule (line 9581) | function localeModule (name, lifecycle) {
  function equalTest (line 9605) | function equalTest(input, mmm, i) {
  function module (line 9941) | function module (name, lifecycle) {
  function localeModule (line 9960) | function localeModule (name, lifecycle) {
  function equalTest (line 9984) | function equalTest(input, mmm, i) {
  function module (line 10296) | function module (name, lifecycle) {
  function localeModule (line 10315) | function localeModule (name, lifecycle) {
  function equalTest (line 10339) | function equalTest(input, mmm, i) {
  function module (line 10642) | function module (name, lifecycle) {
  function localeModule (line 10661) | function localeModule (name, lifecycle) {
  function equalTest (line 10685) | function equalTest(input, mmm, i) {
  function module (line 10998) | function module (name, lifecycle) {
  function localeModule (line 11017) | function localeModule (name, lifecycle) {
  function equalTest (line 11041) | function equalTest(input, mmm, i) {
  function module (line 11304) | function module (name, lifecycle) {
  function localeModule (line 11323) | function localeModule (name, lifecycle) {
  function equalTest (line 11349) | function equalTest(input, mmm, i) {
  function module (line 11666) | function module (name, lifecycle) {
  function localeModule (line 11685) | function localeModule (name, lifecycle) {
  function equalTest (line 11710) | function equalTest(input, mmm, i) {
  function module (line 12020) | function module (name, lifecycle) {
  function localeModule (line 12039) | function localeModule (name, lifecycle) {
  function equalTest (line 12063) | function equalTest(input, mmm, i) {
  function module (line 12380) | function module (name, lifecycle) {
  function localeModule (line 12399) | function localeModule (name, lifecycle) {
  function equalTest (line 12423) | function equalTest(input, mmm, i) {
  function module (line 12744) | function module (name, lifecycle) {
  function localeModule (line 12763) | function localeModule (name, lifecycle) {
  function equalTest (line 12787) | function equalTest(input, mmm, i) {
  function module (line 13064) | function module (name, lifecycle) {
  function localeModule (line 13083) | function localeModule (name, lifecycle) {
  function equalTest (line 13107) | function equalTest(input, mmm, i) {
  function module (line 13447) | function module (name, lifecycle) {
  function localeModule (line 13466) | function localeModule (name, lifecycle) {
  function equalTest (line 13490) | function equalTest(input, mmm, i) {
  function makeFormat (line 13650) | function makeFormat(d) {
  function makeFormat (line 13679) | function makeFormat(d) {
  function module (line 13835) | function module (name, lifecycle) {
  function localeModule (line 13854) | function localeModule (name, lifecycle) {
  function equalTest (line 13879) | function equalTest(input, mmm, i) {
  function module (line 14204) | function module (name, lifecycle) {
  function localeModule (line 14223) | function localeModule (name, lifecycle) {
  function equalTest (line 14247) | function equalTest(input, mmm, i) {
  function makeFormat (line 14467) | function makeFormat(d) {
  function makeFormat (line 14484) | function makeFormat(d) {
  function module (line 14629) | function module (name, lifecycle) {
  function localeModule (line 14648) | function localeModule (name, lifecycle) {
  function equalTest (line 14672) | function equalTest(input, mmm, i) {
  function module (line 14959) | function module (name, lifecycle) {
  function localeModule (line 14978) | function localeModule (name, lifecycle) {
  function equalTest (line 15002) | function equalTest(input, mmm, i) {
  function module (line 15321) | function module (name, lifecycle) {
  function localeModule (line 15340) | function localeModule (name, lifecycle) {
  function equalTest (line 15364) | function equalTest(input, mmm, i) {
  function module (line 15675) | function module (name, lifecycle) {
  function localeModule (line 15694) | function localeModule (name, lifecycle) {
  function equalTest (line 15718) | function equalTest(input, mmm, i) {
  function module (line 15993) | function module (name, lifecycle) {
  function localeModule (line 16012) | function localeModule (name, lifecycle) {
  function equalTest (line 16038) | function equalTest(input, mmm, i) {
  function module (line 16361) | function module (name, lifecycle) {
  function localeModule (line 16380) | function localeModule (name, lifecycle) {
  function equalTest (line 16406) | function equalTest(input, mmm, i) {
  function module (line 16747) | function module (name, lifecycle) {
  function localeModule (line 16766) | function localeModule (name, lifecycle) {
  function equalTest (line 16790) | function equalTest(input, mmm, i) {
  function module (line 17138) | function module (name, lifecycle) {
  function localeModule (line 17157) | function localeModule (name, lifecycle) {
  function equalTest (line 17182) | function equalTest(input, mmm, i) {
  function module (line 17364) | function module (name, lifecycle) {
  function localeModule (line 17383) | function localeModule (name, lifecycle) {
  function equalTest (line 17407) | function equalTest(input, mmm, i) {
  function module (line 17736) | function module (name, lifecycle) {
  function localeModule (line 17755) | function localeModule (name, lifecycle) {
  function equalTest (line 17779) | function equalTest(input, mmm, i) {
  function module (line 18091) | function module (name, lifecycle) {
  function localeModule (line 18110) | function localeModule (name, lifecycle) {
  function equalTest (line 18134) | function equalTest(input, mmm, i) {
  function makeFormat (line 18306) | function makeFormat(d) {
  function module (line 18461) | function module (name, lifecycle) {
  function localeModule (line 18480) | function localeModule (name, lifecycle) {
  function equalTest (line 18504) | function equalTest(input, mmm, i) {
  function module (line 18832) | function module (name, lifecycle) {
  function localeModule (line 18851) | function localeModule (name, lifecycle) {
  function equalTest (line 18875) | function equalTest(input, mmm, i) {
  function module (line 19215) | function module (name, lifecycle) {
  function localeModule (line 19234) | function localeModule (name, lifecycle) {
  function equalTest (line 19260) | function equalTest(input, mmm, i) {
  function module (line 19591) | function module (name, lifecycle) {
  function localeModule (line 19610) | function localeModule (name, lifecycle) {
  function equalTest (line 19636) | function equalTest (input, mmm, i) {
  function module (line 20034) | function module (name, lifecycle) {
  function localeModule (line 20053) | function localeModule (name, lifecycle) {
  function equalTest (line 20078) | function equalTest(input, mmm, i) {
  function module (line 20390) | function module (name, lifecycle) {
  function localeModule (line 20409) | function localeModule (name, lifecycle) {
  function equalTest (line 20433) | function equalTest(input, mmm, i) {
  function module (line 20772) | function module (name, lifecycle) {
  function localeModule (line 20791) | function localeModule (name, lifecycle) {
  function equalTest (line 20815) | function equalTest(input, mmm, i) {
  function module (line 21132) | function module (name, lifecycle) {
  function localeModule (line 21151) | function localeModule (name, lifecycle) {
  function equalTest (line 21175) | function equalTest(input, mmm, i) {
  function module (line 21487) | function module (name, lifecycle) {
  function localeModule (line 21506) | function localeModule (name, lifecycle) {
  function equalTest (line 21530) | function equalTest(input, mmm, i) {
  function makeFormat (line 21707) | function makeFormat(d) {
  function module (line 21863) | function module (name, lifecycle) {
  function localeModule (line 21882) | function localeModule (name, lifecycle) {
  function equalTest (line 21907) | function equalTest(input, mmm, i) {
  function module (line 22216) | function module (name, lifecycle) {
  function localeModule (line 22235) | function localeModule (name, lifecycle) {
  function equalTest (line 22259) | function equalTest(input, mmm, i) {
  function module (line 22567) | function module (name, lifecycle) {
  function localeModule (line 22586) | function localeModule (name, lifecycle) {
  function equalTest (line 22610) | function equalTest(input, mmm, i) {
  function module (line 22930) | function module (name, lifecycle) {
  function localeModule (line 22949) | function localeModule (name, lifecycle) {
  function equalTest (line 22973) | function equalTest(input, mmm, i) {
  function makeFormat (line 23196) | function makeFormat(d) {
  function makeFormatLast (line 23213) | function makeFormatLast(d) {
  function makeFormatThis (line 23228) | function makeFormatThis(d) {
  function module (line 23394) | function module (name, lifecycle) {
  function localeModule (line 23413) | function localeModule (name, lifecycle) {
  function equalTest (line 23437) | function equalTest(input, mmm, monthIndex) {
  function module (line 23837) | function module (name, lifecycle) {
  function localeModule (line 23856) | function localeModule (name, lifecycle) {
  function equalTest (line 23880) | function equalTest(input, mmm, i) {
  function makeFormat (line 24040) | function makeFormat(d) {
  function makeFormat (line 24069) | function makeFormat(d) {
  function module (line 24224) | function module (name, lifecycle) {
  function localeModule (line 24243) | function localeModule (name, lifecycle) {
  function equalTest (line 24269) | function equalTest(input, mmm, i) {
  function module (line 24595) | function module (name, lifecycle) {
  function localeModule (line 24614) | function localeModule (name, lifecycle) {
  function equalTest (line 24639) | function equalTest(input, mmm, i) {
  function makeFormat (line 24801) | function makeFormat(d) {
  function makeFormat (line 24830) | function makeFormat(d) {
  function module (line 24985) | function module (name, lifecycle) {
  function localeModule (line 25004) | function localeModule (name, lifecycle) {
  function equalTest (line 25029) | function equalTest(input, mmm, i) {
  function makeFormat (line 25191) | function makeFormat(d) {
  function makeFormat (line 25220) | function makeFormat(d) {
  function module (line 25375) | function module (name, lifecycle) {
  function localeModule (line 25394) | function localeModule (name, lifecycle) {
  function equalTest (line 25418) | function equalTest(input, mmm, i) {
  function module (line 25730) | function module (name, lifecycle) {
  function localeModule (line 25749) | function localeModule (name, lifecycle) {
  function equalTest (line 25773) | function equalTest(input, mmm, i) {
  function module (line 26100) | function module (name, lifecycle) {
  function localeModule (line 26119) | function localeModule (name, lifecycle) {
  function equalTest (line 26143) | function equalTest(input, mmm, i) {
  function module (line 26418) | function module (name, lifecycle) {
  function localeModule (line 26437) | function localeModule (name, lifecycle) {
  function equalTest (line 26462) | function equalTest(input, mmm, i) {
  function module (line 26772) | function module (name, lifecycle) {
  function localeModule (line 26791) | function localeModule (name, lifecycle) {
  function equalTest (line 26815) | function equalTest(input, mmm, i) {
  function module (line 27138) | function module (name, lifecycle) {
  function localeModule (line 27157) | function localeModule (name, lifecycle) {
  function equalTest (line 27181) | function equalTest(input, mmm, i) {
  function module (line 27491) | function module (name, lifecycle) {
  function localeModule (line 27510) | function localeModule (name, lifecycle) {
  function equalTest (line 27534) | function equalTest(input, mmm, i) {
  function module (line 27844) | function module (name, lifecycle) {
  function localeModule (line 27863) | function localeModule (name, lifecycle) {
  function equalTest (line 27887) | function equalTest(input, mmm, i) {
  function makeFormat (line 28077) | function makeFormat(d) {
  function module (line 28232) | function module (name, lifecycle) {
  function localeModule (line 28251) | function localeModule (name, lifecycle) {
  function equalTest (line 28275) | function equalTest(input, mmm, i) {
  function module (line 28588) | function module (name, lifecycle) {
  function localeModule (line 28607) | function localeModule (name, lifecycle) {
  function equalTest (line 28633) | function equalTest(input, mmm, i) {
  function module (line 28954) | function module (name, lifecycle) {
  function localeModule (line 28973) | function localeModule (name, lifecycle) {
  function equalTest (line 28998) | function equalTest(input, mmm, i) {
  function module (line 29308) | function module (name, lifecycle) {
  function localeModule (line 29327) | function localeModule (name, lifecycle) {
  function equalTest (line 29351) | function equalTest(input, mmm, i) {
  function module (line 29655) | function module (name, lifecycle) {
  function localeModule (line 29674) | function localeModule (name, lifecycle) {
  function module (line 30028) | function module (name, lifecycle) {
  function localeModule (line 30047) | function localeModule (name, lifecycle) {
  function getVerifier (line 30813) | function getVerifier(test) {
  function module (line 30951) | function module (name, lifecycle) {
  function localeModule (line 30970) | function localeModule (name, lifecycle) {
  function each (line 30990) | function each(array, callback) {
  function module (line 31029) | function module (name, lifecycle) {
  function localeModule (line 31048) | function localeModule (name, lifecycle) {
  function equal (line 31068) | function equal(assert, a, b, message) {
  function dstForYear (line 31072) | function dstForYear(year) {
  function module (line 31312) | function module (name, lifecycle) {
  function localeModule (line 31331) | function localeModule (name, lifecycle) {
  function module (line 31929) | function module (name, lifecycle) {
  function localeModule (line 31948) | function localeModule (name, lifecycle) {
  function module (line 32023) | function module (name, lifecycle) {
  function localeModule (line 32042) | function localeModule (name, lifecycle) {
  function module (line 32398) | function module (name, lifecycle) {
  function localeModule (line 32417) | function localeModule (name, lifecycle) {
  function module (line 32685) | function module (name, lifecycle) {
  function localeModule (line 32704) | function localeModule (name, lifecycle) {
  function module (line 32761) | function module (name, lifecycle) {
  function localeModule (line 32780) | function localeModule (name, lifecycle) {
  function module (line 32974) | function module (name, lifecycle) {
  function localeModule (line 32993) | function localeModule (name, lifecycle) {
  function module (line 33187) | function module (name, lifecycle) {
  function localeModule (line 33206) | function localeModule (name, lifecycle) {
  function module (line 33456) | function module (name, lifecycle) {
  function localeModule (line 33475) | function localeModule (name, lifecycle) {
  function module (line 33529) | function module (name, lifecycle) {
  function localeModule (line 33548) | function localeModule (name, lifecycle) {
  function module (line 33621) | function module (name, lifecycle) {
  function localeModule (line 33640) | function localeModule (name, lifecycle) {
  function module (line 33817) | function module (name, lifecycle) {
  function localeModule (line 33836) | function localeModule (name, lifecycle) {
  function module (line 34111) | function module (name, lifecycle) {
  function localeModule (line 34130) | function localeModule (name, lifecycle) {
  function module (line 34171) | function module (name, lifecycle) {
  function localeModule (line 34190) | function localeModule (name, lifecycle) {
  function module (line 34300) | function module (name, lifecycle) {
  function localeModule (line 34319) | function localeModule (name, lifecycle) {
  function each (line 34339) | function each(array, callback) {
  function fakeReplace (line 34668) | function fakeReplace(m, format) {
  function module (line 34798) | function module (name, lifecycle) {
  function localeModule (line 34817) | function localeModule (name, lifecycle) {
  function module (line 34887) | function module (name, lifecycle) {
  function localeModule (line 34906) | function localeModule (name, lifecycle) {
  function module (line 34962) | function module (name, lifecycle) {
  function localeModule (line 34981) | function localeModule (name, lifecycle) {
  function module (line 35042) | function module (name, lifecycle) {
  function localeModule (line 35061) | function localeModule (name, lifecycle) {
  function flags (line 35083) | function flags () {
  function module (line 35259) | function module (name, lifecycle) {
  function localeModule (line 35278) | function localeModule (name, lifecycle) {
  function module (line 35378) | function module (name, lifecycle) {
  function localeModule (line 35397) | function localeModule (name, lifecycle) {
  function module (line 35528) | function module (name, lifecycle) {
  function localeModule (line 35547) | function localeModule (name, lifecycle) {
  function module (line 35675) | function module (name, lifecycle) {
  function localeModule (line 35694) | function localeModule (name, lifecycle) {
  function module (line 36082) | function module (name, lifecycle) {
  function localeModule (line 36101) | function localeModule (name, lifecycle) {
  function module (line 36147) | function module (name, lifecycle) {
  function localeModule (line 36166) | function localeModule (name, lifecycle) {
  function module (line 36274) | function module (name, lifecycle) {
  function localeModule (line 36293) | function localeModule (name, lifecycle) {
  function module (line 36888) | function module (name, lifecycle) {
  function localeModule (line 36907) | function localeModule (name, lifecycle) {
  function module (line 37002) | function module (name, lifecycle) {
  function localeModule (line 37021) | function localeModule (name, lifecycle) {
  function module (line 37183) | function module (name, lifecycle) {
  function localeModule (line 37202) | function localeModule (name, lifecycle) {
  function module (line 37456) | function module (name, lifecycle) {
  function localeModule (line 37475) | function localeModule (name, lifecycle) {
  function module (line 37592) | function module (name, lifecycle) {
  function localeModule (line 37611) | function localeModule (name, lifecycle) {
  function module (line 37732) | function module (name, lifecycle) {
  function localeModule (line 37751) | function localeModule (name, lifecycle) {

FILE: www/lib/moment/moment.js
  function utils_hooks__hooks (line 15) | function utils_hooks__hooks () {
  function setHookCallback (line 21) | function setHookCallback (callback) {
  function defaultParsingFlags (line 25) | function defaultParsingFlags() {
  function isArray (line 41) | function isArray(input) {
  function isDate (line 45) | function isDate(input) {
  function map (line 49) | function map(arr, fn) {
  function hasOwnProp (line 57) | function hasOwnProp(a, b) {
  function extend (line 61) | function extend(a, b) {
  function create_utc__createUTC (line 79) | function create_utc__createUTC (input, format, locale, strict) {
  function valid__isValid (line 83) | function valid__isValid(m) {
  function valid__createInvalid (line 103) | function valid__createInvalid (flags) {
  function copyConfig (line 117) | function copyConfig(to, from) {
  function Moment (line 167) | function Moment(config) {
  function isMoment (line 179) | function isMoment (obj) {
  function toInt (line 183) | function toInt(argumentForCoercion) {
  function compareArrays (line 198) | function compareArrays(array1, array2, dontConvert) {
  function Locale (line 212) | function Locale() {
  function normalizeLocale (line 218) | function normalizeLocale(key) {
  function chooseLocale (line 225) | function chooseLocale(names) {
  function loadLocale (line 249) | function loadLocale(name) {
  function locale_locales__getSetGlobalLocale (line 268) | function locale_locales__getSetGlobalLocale (key, values) {
  function defineLocale (line 287) | function defineLocale (name, values) {
  function locale_locales__getLocale (line 307) | function locale_locales__getLocale (key) {
  function addUnitAlias (line 332) | function addUnitAlias (unit, shorthand) {
  function normalizeUnits (line 337) | function normalizeUnits(units) {
  function normalizeObjectUnits (line 341) | function normalizeObjectUnits(inputObject) {
  function makeGetSet (line 358) | function makeGetSet (unit, keepTime) {
  function get_set__get (line 370) | function get_set__get (mom, unit) {
  function get_set__set (line 374) | function get_set__set (mom, unit, value) {
  function getSet (line 380) | function getSet (units, value) {
  function zeroFill (line 395) | function zeroFill(number, targetLength, forceSign) {
  function addFormatToken (line 417) | function addFormatToken (token, padded, ordinal, callback) {
  function removeFormattingTokens (line 439) | function removeFormattingTokens(input) {
  function makeFormatFunction (line 446) | function makeFormatFunction(format) {
  function formatMoment (line 467) | function formatMoment(m, format) {
  function expandFormat (line 481) | function expandFormat(format, locale) {
  function addRegexToken (line 520) | function addRegexToken (token, regex, strictRegex) {
  function getParseRegexForToken (line 526) | function getParseRegexForToken (token, config) {
  function unescapeFormat (line 535) | function unescapeFormat(s) {
  function addParseToken (line 543) | function addParseToken (token, callback) {
  function addWeekParseToken (line 558) | function addWeekParseToken (token, callback) {
  function addTimeToArrayFromToken (line 565) | function addTimeToArrayFromToken(token, input, config) {
  function daysInMonth (line 579) | function daysInMonth(year, month) {
  function localeMonths (line 625) | function localeMonths (m) {
  function localeMonthsShort (line 630) | function localeMonthsShort (m) {
  function localeMonthsParse (line 634) | function localeMonthsParse (monthName, format, strict) {
  function setMonth (line 667) | function setMonth (mom, value) {
  function getSetMonth (line 684) | function getSetMonth (value) {
  function getDaysInMonth (line 694) | function getDaysInMonth () {
  function checkOverflow (line 698) | function checkOverflow (m) {
  function warn (line 722) | function warn(msg) {
  function deprecate (line 728) | function deprecate(msg, fn) {
  function deprecateSimple (line 741) | function deprecateSimple(name, msg) {
  function configFromISO (line 771) | function configFromISO(config) {
  function configFromString (line 801) | function configFromString(config) {
  function createDate (line 826) | function createDate (y, m, d, h, M, s, ms) {
  function createUTCDate (line 838) | function createUTCDate (y) {
  function daysInYear (line 873) | function daysInYear(year) {
  function isLeapYear (line 877) | function isLeapYear(year) {
  function getIsLeapYear (line 891) | function getIsLeapYear () {
  function weekOfYear (line 923) | function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
  function localeWeek (line 946) | function localeWeek (mom) {
  function localeFirstDayOfWeek (line 955) | function localeFirstDayOfWeek () {
  function localeFirstDayOfYear (line 959) | function localeFirstDayOfYear () {
  function getSetWeek (line 965) | function getSetWeek (input) {
  function getSetISOWeek (line 970) | function getSetISOWeek (input) {
  function dayOfYearFromWeeks (line 992) | function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, f...
  function getSetDayOfYear (line 1010) | function getSetDayOfYear (input) {
  function defaults (line 1016) | function defaults(a, b, c) {
  function currentDateArray (line 1026) | function currentDateArray(config) {
  function configFromArray (line 1038) | function configFromArray (config) {
  function dayOfYearFromWeekInfo (line 1100) | function dayOfYearFromWeekInfo(config) {
  function configFromStringAndFormat (line 1145) | function configFromStringAndFormat(config) {
  function meridiemFixWrap (line 1207) | function meridiemFixWrap (locale, hour, meridiem) {
  function configFromStringAndArray (line 1232) | function configFromStringAndArray(config) {
  function configFromObject (line 1277) | function configFromObject(config) {
  function createFromConfig (line 1288) | function createFromConfig (config) {
  function configFromInput (line 1323) | function configFromInput(config) {
  function createLocalOrUTC (line 1346) | function createLocalOrUTC (input, format, locale, strict, isUTC) {
  function local__createLocal (line 1366) | function local__createLocal (input, format, locale, strict) {
  function pickBy (line 1391) | function pickBy(fn, moments) {
  function min (line 1409) | function min () {
  function max (line 1415) | function max () {
  function Duration (line 1421) | function Duration (duration) {
  function isDuration (line 1456) | function isDuration (obj) {
  function offset (line 1460) | function offset (token, separator) {
  function offsetFromString (line 1491) | function offsetFromString(string) {
  function cloneWithOffset (line 1501) | function cloneWithOffset(input, model) {
  function getDateOffset (line 1516) | function getDateOffset (m) {
  function getSetOffset (line 1540) | function getSetOffset (input, keepLocalTime) {
  function getSetZone (line 1573) | function getSetZone (input, keepLocalTime) {
  function setOffsetToUTC (line 1587) | function setOffsetToUTC (keepLocalTime) {
  function setOffsetToLocal (line 1591) | function setOffsetToLocal (keepLocalTime) {
  function setOffsetToParsedOffset (line 1603) | function setOffsetToParsedOffset () {
  function hasAlignedHourOffset (line 1612) | function hasAlignedHourOffset (input) {
  function isDaylightSavingTime (line 1623) | function isDaylightSavingTime () {
  function isDaylightSavingTimeShifted (line 1630) | function isDaylightSavingTimeShifted () {
  function isLocal (line 1639) | function isLocal () {
  function isUtcOffset (line 1643) | function isUtcOffset () {
  function isUtc (line 1647) | function isUtc () {
  function create__createDuration (line 1657) | function create__createDuration (input, key) {
  function parseIso (line 1720) | function parseIso (inp, sign) {
  function positiveMomentsDifference (line 1729) | function positiveMomentsDifference(base, other) {
  function momentsDifference (line 1743) | function momentsDifference(base, other) {
  function createAdder (line 1757) | function createAdder(direction, name) {
  function add_subtract__addSubtract (line 1773) | function add_subtract__addSubtract (mom, duration, isAdding, updateOffse...
  function moment_calendar__calendar (line 1796) | function moment_calendar__calendar (time) {
  function clone (line 1811) | function clone () {
  function isAfter (line 1815) | function isAfter (input, units) {
  function isBefore (line 1827) | function isBefore (input, units) {
  function isBetween (line 1839) | function isBetween (from, to, units) {
  function isSame (line 1843) | function isSame (input, units) {
  function absFloor (line 1855) | function absFloor (number) {
  function diff (line 1863) | function diff (input, units, asFloat) {
  function monthDiff (line 1889) | function monthDiff (a, b) {
  function toString (line 1911) | function toString () {
  function moment_format__toISOString (line 1915) | function moment_format__toISOString () {
  function format (line 1929) | function format (inputString) {
  function from (line 1934) | function from (time, withoutSuffix) {
  function fromNow (line 1938) | function fromNow (withoutSuffix) {
  function locale (line 1942) | function locale (key) {
  function localeData (line 1967) | function localeData () {
  function startOf (line 1971) | function startOf (units) {
  function endOf (line 2014) | function endOf (units) {
  function to_type__valueOf (line 2022) | function to_type__valueOf () {
  function unix (line 2026) | function unix () {
  function toDate (line 2030) | function toDate () {
  function toArray (line 2034) | function toArray () {
  function moment_valid__isValid (line 2039) | function moment_valid__isValid () {
  function parsingFlags (line 2043) | function parsingFlags () {
  function invalidAt (line 2047) | function invalidAt () {
  function addWeekYearFormatToken (line 2059) | function addWeekYearFormatToken (token, getter) {
  function weeksInYear (line 2094) | function weeksInYear(year, dow, doy) {
  function getSetWeekYear (line 2100) | function getSetWeekYear (input) {
  function getSetISOWeekYear (line 2105) | function getSetISOWeekYear (input) {
  function getISOWeeksInYear (line 2110) | function getISOWeeksInYear () {
  function getWeeksInYear (line 2114) | function getWeeksInYear () {
  function getSetQuarter (line 2134) | function getSetQuarter (input) {
  function parseWeekday (line 2209) | function parseWeekday(input, locale) {
  function localeWeekdays (line 2227) | function localeWeekdays (m) {
  function localeWeekdaysShort (line 2232) | function localeWeekdaysShort (m) {
  function localeWeekdaysMin (line 2237) | function localeWeekdaysMin (m) {
  function localeWeekdaysParse (line 2241) | function localeWeekdaysParse (weekdayName) {
  function getSetDayOfWeek (line 2264) | function getSetDayOfWeek (input) {
  function getSetLocaleDayOfWeek (line 2274) | function getSetLocaleDayOfWeek (input) {
  function getSetISODayOfWeek (line 2279) | function getSetISODayOfWeek (input) {
  function meridiem (line 2291) | function meridiem (token, lowercase) {
  function matchMeridiem (line 2306) | function matchMeridiem (isStrict, locale) {
  function localeIsPM (line 2329) | function localeIsPM (input) {
  function localeMeridiem (line 2336) | function localeMeridiem (hours, minutes, isLower) {
  function millisecond__milliseconds (line 2393) | function millisecond__milliseconds (token) {
  function getZoneAbbr (line 2423) | function getZoneAbbr () {
  function getZoneName (line 2427) | function getZoneName () {
  function moment__createUnix (line 2530) | function moment__createUnix (input) {
  function moment__createInZone (line 2534) | function moment__createInZone () {
  function locale_calendar__calendar (line 2547) | function locale_calendar__calendar (key, mom, now) {
  function longDateFormat (line 2561) | function longDateFormat (key) {
  function invalidDate (line 2574) | function invalidDate () {
  function ordinal (line 2581) | function ordinal (number) {
  function preParsePostFormat (line 2585) | function preParsePostFormat (string) {
  function relative__relativeTime (line 2605) | function relative__relativeTime (number, withoutSuffix, string, isFuture) {
  function pastFuture (line 2612) | function pastFuture (diff, output) {
  function locale_set__set (line 2617) | function locale_set__set (config) {
  function lists__get (line 2677) | function lists__get (format, index, field, setter) {
  function list (line 2683) | function list (format, index, field, count, setter) {
  function lists__listMonths (line 2703) | function lists__listMonths (format, index) {
  function lists__listMonthsShort (line 2707) | function lists__listMonthsShort (format, index) {
  function lists__listWeekdays (line 2711) | function lists__listWeekdays (format, index) {
  function lists__listWeekdaysShort (line 2715) | function lists__listWeekdaysShort (format, index) {
  function lists__listWeekdaysMin (line 2719) | function lists__listWeekdaysMin (format, index) {
  function duration_abs__abs (line 2741) | function duration_abs__abs () {
  function duration_add_subtract__addSubtract (line 2758) | function duration_add_subtract__addSubtract (duration, input, value, dir...
  function duration_add_subtract__add (line 2769) | function duration_add_subtract__add (input, value) {
  function duration_add_subtract__subtract (line 2774) | function duration_add_subtract__subtract (input, value) {
  function bubble (line 2778) | function bubble () {
  function daysToYears (line 2820) | function daysToYears (days) {
  function yearsToDays (line 2825) | function yearsToDays (years) {
  function as (line 2831) | function as (units) {
  function duration_as__valueOf (line 2859) | function duration_as__valueOf () {
  function makeAs (line 2868) | function makeAs (alias) {
  function duration_get__get (line 2883) | function duration_get__get (units) {
  function makeGetter (line 2888) | function makeGetter(name) {
  function weeks (line 2902) | function weeks () {
  function substituteTimeAgo (line 2916) | function substituteTimeAgo(string, number, withoutSuffix, isFuture, loca...
  function duration_humanize__relativeTime (line 2920) | function duration_humanize__relativeTime (posNegDuration, withoutSuffix,...
  function duration_humanize__getSetRelativeTimeThreshold (line 2947) | function duration_humanize__getSetRelativeTimeThreshold (threshold, limi...
  function humanize (line 2958) | function humanize (withSuffix) {
  function iso_string__toISOString (line 2971) | function iso_string__toISOString() {

FILE: www/lib/moment/src/lib/create/check-overflow.js
  function checkOverflow (line 4) | function checkOverflow (m) {

FILE: www/lib/moment/src/lib/create/date-from-array.js
  function createDate (line 1) | function createDate (y, m, d, h, M, s, ms) {
  function createUTCDate (line 13) | function createUTCDate (y) {

FILE: www/lib/moment/src/lib/create/default-parsing-flags.js
  function defaultParsingFlags (line 1) | function defaultParsingFlags() {

FILE: www/lib/moment/src/lib/create/from-anything.js
  function createFromConfig (line 17) | function createFromConfig (config) {
  function configFromInput (line 52) | function configFromInput(config) {
  function createLocalOrUTC (line 75) | function createLocalOrUTC (input, format, locale, strict, isUTC) {

FILE: www/lib/moment/src/lib/create/from-array.js
  function currentDateArray (line 9) | function currentDateArray(config) {
  function configFromArray (line 21) | function configFromArray (config) {
  function dayOfYearFromWeekInfo (line 83) | function dayOfYearFromWeekInfo(config) {

FILE: www/lib/moment/src/lib/create/from-object.js
  function configFromObject (line 4) | function configFromObject(config) {

FILE: www/lib/moment/src/lib/create/from-string-and-array.js
  function configFromStringAndArray (line 8) | function configFromStringAndArray(config) {

FILE: www/lib/moment/src/lib/create/from-string-and-format.js
  function configFromStringAndFormat (line 14) | function configFromStringAndFormat(config) {
  function meridiemFixWrap (line 76) | function meridiemFixWrap (locale, hour, meridiem) {

FILE: www/lib/moment/src/lib/create/from-string.js
  function configFromISO (line 29) | function configFromISO(config) {
  function configFromString (line 59) | function configFromString(config) {

FILE: www/lib/moment/src/lib/create/local.js
  function createLocal (line 3) | function createLocal (input, format, locale, strict) {

FILE: www/lib/moment/src/lib/create/utc.js
  function createUTC (line 3) | function createUTC (input, format, locale, strict) {

FILE: www/lib/moment/src/lib/create/valid.js
  function isValid (line 4) | function isValid(m) {
  function createInvalid (line 24) | function createInvalid (flags) {

FILE: www/lib/moment/src/lib/duration/abs.js
  function abs (line 3) | function abs () {

FILE: www/lib/moment/src/lib/duration/add-subtract.js
  function addSubtract (line 3) | function addSubtract (duration, input, value, direction) {
  function add (line 14) | function add (input, value) {
  function subtract (line 19) | function subtract (input, value) {

FILE: www/lib/moment/src/lib/duration/as.js
  function as (line 5) | function as (units) {
  function valueOf (line 33) | function valueOf () {
  function makeAs (line 42) | function makeAs (alias) {

FILE: www/lib/moment/src/lib/duration/bubble.js
  function bubble (line 3) | function bubble () {
  function daysToYears (line 45) | function daysToYears (days) {
  function yearsToDays (line 50) | function yearsToDays (years) {

FILE: www/lib/moment/src/lib/duration/constructor.js
  function Duration (line 4) | function Duration (duration) {
  function isDuration (line 39) | function isDuration (obj) {

FILE: www/lib/moment/src/lib/duration/create.js
  function createDuration (line 15) | function createDuration (input, key) {
  function parseIso (line 78) | function parseIso (inp, sign) {
  function positiveMomentsDifference (line 87) | function positiveMomentsDifference(base, other) {
  function momentsDifference (line 101) | function momentsDifference(base, other) {

FILE: www/lib/moment/src/lib/duration/get.js
  function get (line 4) | function get (units) {
  function makeGetter (line 9) | function makeGetter(name) {
  function weeks (line 23) | function weeks () {

FILE: www/lib/moment/src/lib/duration/humanize.js
  function substituteTimeAgo (line 13) | function substituteTimeAgo(string, number, withoutSuffix, isFuture, loca...
  function relativeTime (line 17) | function relativeTime (posNegDuration, withoutSuffix, locale) {
  function getSetRelativeTimeThreshold (line 44) | function getSetRelativeTimeThreshold (threshold, limit) {
  function humanize (line 55) | function humanize (withSuffix) {

FILE: www/lib/moment/src/lib/duration/iso-string.js
  function toISOString (line 3) | function toISOString() {

FILE: www/lib/moment/src/lib/format/format.js
  function addFormatToken (line 15) | function addFormatToken (token, padded, ordinal, callback) {
  function removeFormattingTokens (line 37) | function removeFormattingTokens(input) {
  function makeFormatFunction (line 44) | function makeFormatFunction(format) {
  function formatMoment (line 65) | function formatMoment(m, format) {
  function expandFormat (line 79) | function expandFormat(format, locale) {

FILE: www/lib/moment/src/lib/locale/calendar.js
  function calendar (line 10) | function calendar (key, mom, now) {

FILE: www/lib/moment/src/lib/locale/constructor.js
  function Locale (line 1) | function Locale() {

FILE: www/lib/moment/src/lib/locale/formats.js
  function longDateFormat (line 10) | function longDateFormat (key) {

FILE: www/lib/moment/src/lib/locale/invalid.js
  function invalidDate (line 3) | function invalidDate () {

FILE: www/lib/moment/src/lib/locale/lists.js
  function get (line 4) | function get (format, index, field, setter) {
  function list (line 10) | function list (format, index, field, count, setter) {
  function listMonths (line 30) | function listMonths (format, index) {
  function listMonthsShort (line 34) | function listMonthsShort (format, index) {
  function listWeekdays (line 38) | function listWeekdays (format, index) {
  function listWeekdaysShort (line 42) | function listWeekdaysShort (format, index) {
  function listWeekdaysMin (line 46) | function listWeekdaysMin (format, index) {

FILE: www/lib/moment/src/lib/locale/locales.js
  function normalizeLocale (line 9) | function normalizeLocale(key) {
  function chooseLocale (line 16) | function chooseLocale(names) {
  function loadLocale (line 40) | function loadLocale(name) {
  function getSetGlobalLocale (line 59) | function getSetGlobalLocale (key, values) {
  function defineLocale (line 78) | function defineLocale (name, values) {
  function getLocale (line 98) | function getLocale (key) {

FILE: www/lib/moment/src/lib/locale/ordinal.js
  function ordinal (line 4) | function ordinal (number) {

FILE: www/lib/moment/src/lib/locale/pre-post-format.js
  function preParsePostFormat (line 1) | function preParsePostFormat (string) {

FILE: www/lib/moment/src/lib/locale/relative.js
  function relativeTime (line 17) | function relativeTime (number, withoutSuffix, string, isFuture) {
  function pastFuture (line 24) | function pastFuture (diff, output) {

FILE: www/lib/moment/src/lib/locale/set.js
  function set (line 1) | function set (config) {

FILE: www/lib/moment/src/lib/moment/add-subtract.js
  function createAdder (line 8) | function createAdder(direction, name) {
  function addSubtract (line 24) | function addSubtract (mom, duration, isAdding, updateOffset) {

FILE: www/lib/moment/src/lib/moment/calendar.js
  function calendar (line 4) | function calendar (time) {

FILE: www/lib/moment/src/lib/moment/clone.js
  function clone (line 3) | function clone () {

FILE: www/lib/moment/src/lib/moment/compare.js
  function isAfter (line 5) | function isAfter (input, units) {
  function isBefore (line 17) | function isBefore (input, units) {
  function isBetween (line 29) | function isBetween (from, to, units) {
  function isSame (line 33) | function isSame (input, units) {

FILE: www/lib/moment/src/lib/moment/constructor.js
  function copyConfig (line 8) | function copyConfig(to, from) {
  function Moment (line 58) | function Moment(config) {
  function isMoment (line 70) | function isMoment (obj) {

FILE: www/lib/moment/src/lib/moment/diff.js
  function diff (line 5) | function diff (input, units, asFloat) {
  function monthDiff (line 31) | function monthDiff (a, b) {

FILE: www/lib/moment/src/lib/moment/format.js
  function toString (line 6) | function toString () {
  function toISOString (line 10) | function toISOString () {
  function format (line 24) | function format (inputString) {

FILE: www/lib/moment/src/lib/moment/from.js
  function from (line 4) | function from (time, withoutSuffix) {
  function fromNow (line 8) | function fromNow (withoutSuffix) {

FILE: www/lib/moment/src/lib/moment/get-set.js
  function makeGetSet (line 4) | function makeGetSet (unit, keepTime) {
  function get (line 16) | function get (mom, unit) {
  function set (line 20) | function set (mom, unit, value) {
  function getSet (line 26) | function getSet (units, value) {

FILE: www/lib/moment/src/lib/moment/locale.js
  function locale (line 7) | function locale (key) {
  function localeData (line 32) | function localeData () {

FILE: www/lib/moment/src/lib/moment/min-max.js
  function pickBy (line 26) | function pickBy(fn, moments) {
  function min (line 44) | function min () {
  function max (line 50) | function max () {

FILE: www/lib/moment/src/lib/moment/moment.js
  function createUnix (line 8) | function createUnix (input) {
  function createInZone (line 12) | function createInZone () {

FILE: www/lib/moment/src/lib/moment/start-end-of.js
  function startOf (line 3) | function startOf (units) {
  function endOf (line 46) | function endOf (units) {

FILE: www/lib/moment/src/lib/moment/to-type.js
  function valueOf (line 1) | function valueOf () {
  function unix (line 5) | function unix () {
  function toDate (line 9) | function toDate () {
  function toArray (line 13) | function toArray () {

FILE: www/lib/moment/src/lib/moment/valid.js
  function isValid (line 4) | function isValid () {
  function parsingFlags (line 8) | function parsingFlags () {
  function invalidAt (line 12) | function invalidAt () {

FILE: www/lib/moment/src/lib/parse/regex.js
  function addRegexToken (line 25) | function addRegexToken (token, regex, strictRegex) {
  function getParseRegexForToken (line 31) | function getParseRegexForToken (token, config) {
  function unescapeFormat (line 40) | function unescapeFormat(s) {

FILE: www/lib/moment/src/lib/parse/token.js
  function addParseToken (line 6) | function addParseToken (token, callback) {
  function addWeekParseToken (line 21) | function addWeekParseToken (token, callback) {
  function addTimeToArrayFromToken (line 28) | function addTimeToArrayFromToken(token, input, config) {

FILE: www/lib/moment/src/lib/units/aliases.js
  function addUnitAlias (line 5) | function addUnitAlias (unit, shorthand) {
  function normalizeUnits (line 10) | function normalizeUnits(units) {
  function normalizeObjectUnits (line 14) | function normalizeObjectUnits(inputObject) {

FILE: www/lib/moment/src/lib/units/day-of-week.js
  function parseWeekday (line 58) | function parseWeekday(input, locale) {
  function localeWeekdays (line 76) | function localeWeekdays (m) {
  function localeWeekdaysShort (line 81) | function localeWeekdaysShort (m) {
  function localeWeekdaysMin (line 86) | function localeWeekdaysMin (m) {
  function localeWeekdaysParse (line 90) | function localeWeekdaysParse (weekdayName) {
  function getSetDayOfWeek (line 113) | function getSetDayOfWeek (input) {
  function getSetLocaleDayOfWeek (line 123) | function getSetLocaleDayOfWeek (input) {
  function getSetISODayOfWeek (line 128) | function getSetISODayOfWeek (input) {

FILE: www/lib/moment/src/lib/units/day-of-year.js
  function dayOfYearFromWeeks (line 28) | function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, f...
  function getSetDayOfYear (line 46) | function getSetDayOfYear (input) {

FILE: www/lib/moment/src/lib/units/hour.js
  function meridiem (line 16) | function meridiem (token, lowercase) {
  function matchMeridiem (line 31) | function matchMeridiem (isStrict, locale) {
  function localeIsPM (line 54) | function localeIsPM (input) {
  function localeMeridiem (line 61) | function localeMeridiem (hours, minutes, isLower) {

FILE: www/lib/moment/src/lib/units/millisecond.js
  function milliseconds (line 19) | function milliseconds (token) {

FILE: www/lib/moment/src/lib/units/month.js
  function daysInMonth (line 11) | function daysInMonth(year, month) {
  function localeMonths (line 57) | function localeMonths (m) {
  function localeMonthsShort (line 62) | function localeMonthsShort (m) {
  function localeMonthsParse (line 66) | function localeMonthsParse (monthName, format, strict) {
  function setMonth (line 99) | function setMonth (mom, value) {
  function getSetMonth (line 116) | function getSetMonth (value) {
  function getDaysInMonth (line 126) | function getDaysInMonth () {

FILE: www/lib/moment/src/lib/units/offset.js
  function offset (line 17) | function offset (token, separator) {
  function offsetFromString (line 48) | function offsetFromString(string) {
  function cloneWithOffset (line 58) | function cloneWithOffset(input, model) {
  function getDateOffset (line 73) | function getDateOffset (m) {
  function getSetOffset (line 97) | function getSetOffset (input, keepLocalTime) {
  function getSetZone (line 130) | function getSetZone (input, keepLocalTime) {
  function setOffsetToUTC (line 144) | function setOffsetToUTC (keepLocalTime) {
  function setOffsetToLocal (line 148) | function setOffsetToLocal (keepLocalTime) {
  function setOffsetToParsedOffset (line 160) | function setOffsetToParsedOffset () {
  function hasAlignedHourOffset (line 169) | function hasAlignedHourOffset (input) {
  function isDaylightSavingTime (line 180) | function isDaylightSavingTime () {
  function isDaylightSavingTimeShifted (line 187) | function isDaylightSavingTimeShifted () {
  function isLocal (line 196) | function isLocal () {
  function isUtcOffset (line 200) | function isUtcOffset () {
  function isUtc (line 204) | function isUtc () {

FILE: www/lib/moment/src/lib/units/quarter.js
  function getSetQuarter (line 25) | function getSetQuarter (input) {

FILE: www/lib/moment/src/lib/units/timezone.js
  function getZoneAbbr (line 10) | function getZoneAbbr () {
  function getZoneName (line 14) | function getZoneName () {

FILE: www/lib/moment/src/lib/units/week-year.js
  function addWeekYearFormatToken (line 20) | function addWeekYearFormatToken (token, getter) {
  function weeksInYear (line 55) | function weeksInYear(year, dow, doy) {
  function getSetWeekYear (line 61) | function getSetWeekYear (input) {
  function getSetISOWeekYear (line 66) | function getSetISOWeekYear (input) {
  function getISOWeeksInYear (line 71) | function getISOWeeksInYear () {
  function getWeeksInYear (line 75) | function getWeeksInYear () {

FILE: www/lib/moment/src/lib/units/week.js
  function weekOfYear (line 38) | function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
  function localeWeek (line 61) | function localeWeek (mom) {
  function localeFirstDayOfWeek (line 70) | function localeFirstDayOfWeek () {
  function localeFirstDayOfYear (line 74) | function localeFirstDayOfYear () {
  function getSetWeek (line 80) | function getSetWeek (input) {
  function getSetISOWeek (line 85) | function getSetISOWeek (input) {

FILE: www/lib/moment/src/lib/units/year.js
  function daysInYear (line 39) | function daysInYear(year) {
  function isLeapYear (line 43) | function isLeapYear(year) {
  function getIsLeapYear (line 57) | function getIsLeapYear () {

FILE: www/lib/moment/src/lib/utils/abs-floor.js
  function absFloor (line 1) | function absFloor (number) {

FILE: www/lib/moment/src/lib/utils/compare-arrays.js
  function compareArrays (line 4) | function compareArrays(array1, array2, dontConvert) {

FILE: www/lib/moment/src/lib/utils/defaults.js
  function defaults (line 2) | function defaults(a, b, c) {

FILE: www/lib/moment/src/lib/utils/deprecate.js
  function warn (line 4) | function warn(msg) {
  function deprecate (line 10) | function deprecate(msg, fn) {
  function deprecateSimple (line 23) | function deprecateSimple(name, msg) {

FILE: www/lib/moment/src/lib/utils/extend.js
  function extend (line 3) | function extend(a, b) {

FILE: www/lib/moment/src/lib/utils/has-own-prop.js
  function hasOwnProp (line 1) | function hasOwnProp(a, b) {

FILE: www/lib/moment/src/lib/utils/hooks.js
  function hooks (line 5) | function hooks () {
  function setHookCallback (line 11) | function setHookCallback (callback) {

FILE: www/lib/moment/src/lib/utils/is-array.js
  function isArray (line 1) | function isArray(input) {

FILE: www/lib/moment/src/lib/utils/is-date.js
  function isDate (line 1) | function isDate(input) {

FILE: www/lib/moment/src/lib/utils/map.js
  function map (line 1) | function map(arr, fn) {

FILE: www/lib/moment/src/lib/utils/to-int.js
  function toInt (line 1) | function toInt(argumentForCoercion) {

FILE: www/lib/moment/src/lib/utils/zero-fill.js
  function zeroFill (line 1) | function zeroFill(number, targetLength, forceSign) {

FILE: www/lib/moment/src/locale/be.js
  function plural (line 9) | function plural(word, num) {
  function relativeTimeWithPlural (line 13) | function relativeTimeWithPlural(number, withoutSuffix, key) {
  function monthsCaseReplace (line 31) | function monthsCaseReplace(m, format) {
  function weekdaysCaseReplace (line 41) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/src/locale/br.js
  function relativeTimeWithMutation (line 7) | function relativeTimeWithMutation(number, withoutSuffix, key) {
  function specialMutationForYears (line 15) | function specialMutationForYears(number) {
  function lastNumber (line 27) | function lastNumber(number) {
  function mutation (line 33) | function mutation(text, number) {
  function softMutation (line 39) | function softMutation(text) {

FILE: www/lib/moment/src/locale/bs.js
  function translate (line 8) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/src/locale/cs.js
  function plural (line 9) | function plural(n) {
  function translate (line 12) | function translate(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/src/locale/de-at.js
  function processRelativeTime (line 9) | function processRelativeTime(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/src/locale/de.js
  function processRelativeTime (line 8) | function processRelativeTime(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/src/locale/et.js
  function processRelativeTime (line 8) | function processRelativeTime(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/src/locale/fi.js
  function translate (line 12) | function translate(number, withoutSuffix, key, isFuture) {
  function verbalNumber (line 46) | function verbalNumber(number, isFuture) {

FILE: www/lib/moment/src/locale/hr.js
  function translate (line 7) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/src/locale/hu.js
  function translate (line 8) | function translate(number, withoutSuffix, key, isFuture) {
  function week (line 37) | function week(isFuture) {

FILE: www/lib/moment/src/locale/hy-am.js
  function monthsCaseReplace (line 7) | function monthsCaseReplace(m, format) {
  function monthsShortCaseReplace (line 17) | function monthsShortCaseReplace(m, format) {
  function weekdaysCaseReplace (line 21) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/src/locale/is.js
  function plural (line 7) | function plural(n) {
  function translate (line 15) | function translate(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/src/locale/ka.js
  function monthsCaseReplace (line 7) | function monthsCaseReplace(m, format) {
  function weekdaysCaseReplace (line 17) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/src/locale/lb.js
  function processRelativeTime (line 7) | function processRelativeTime(number, withoutSuffix, key, isFuture) {
  function processFutureTime (line 17) | function processFutureTime(string) {
  function processPastTime (line 24) | function processPastTime(string) {
  function eifelerRegelAppliesToNumber (line 38) | function eifelerRegelAppliesToNumber(number) {

FILE: www/lib/moment/src/locale/lt.js
  function translateSeconds (line 20) | function translateSeconds(number, withoutSuffix, key, isFuture) {
  function translateSingular (line 27) | function translateSingular(number, withoutSuffix, key, isFuture) {
  function special (line 30) | function special(number) {
  function forms (line 33) | function forms(key) {
  function translate (line 36) | function translate(number, withoutSuffix, key, isFuture) {
  function relativeWeekDay (line 50) | function relativeWeekDay(moment, format) {

FILE: www/lib/moment/src/locale/lv.js
  function format (line 14) | function format(word, number, withoutSuffix) {
  function relativeTimeWithPlural (line 22) | function relativeTimeWithPlural(number, withoutSuffix, key) {

FILE: www/lib/moment/src/locale/pl.js
  function plural (line 9) | function plural(n) {
  function translate (line 12) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/src/locale/ro.js
  function relativeTimeWithPlural (line 8) | function relativeTimeWithPlural(number, withoutSuffix, key) {

FILE: www/lib/moment/src/locale/ru.js
  function plural (line 8) | function plural(word, num) {
  function relativeTimeWithPlural (line 12) | function relativeTimeWithPlural(number, withoutSuffix, key) {
  function monthsCaseReplace (line 27) | function monthsCaseReplace(m, format) {
  function monthsShortCaseReplace (line 37) | function monthsShortCaseReplace(m, format) {
  function weekdaysCaseReplace (line 47) | function weekdaysCaseReplace(m, format) {

FILE: www/lib/moment/src/locale/sk.js
  function plural (line 10) | function plural(n) {
  function translate (line 13) | function translate(number, withoutSuffix, key, isFuture) {

FILE: www/lib/moment/src/locale/sl.js
  function translate (line 7) | function translate(number, withoutSuffix, key) {

FILE: www/lib/moment/src/locale/uk.js
  function plural (line 8) | function plural(word, num) {
  function relativeTimeWithPlural (line 12) | function relativeTimeWithPlural(number, withoutSuffix, key) {
  function monthsCaseReplace (line 30) | function monthsCaseReplace(m, format) {
  function weekdaysCaseReplace (line 40) | function weekdaysCaseReplace(m, format) {
  function processHoursFunction (line 53) | function processHoursFunction(str) {
Condensed preview — 420 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,076K chars).
[
  {
    "path": ".bowerrc",
    "chars": 29,
    "preview": "{\n  \"directory\": \"www/lib\"\n}\n"
  },
  {
    "path": ".gitignore",
    "chars": 180,
    "preview": "# Specifies intentionally untracked files to ignore when using Git\n# http://git-scm.com/docs/gitignore\n\n#node_modules/\np"
  },
  {
    "path": "README.md",
    "chars": 2322,
    "preview": "# Ioniclub App\n\n[![Join the chat at https://gitter.im/IonicChina/ioniclub](https://badges.gitter.im/Join%20Chat.svg)](ht"
  },
  {
    "path": "bower.json",
    "chars": 208,
    "preview": "{\n  \"name\": \"ioniclub\",\n  \"private\": \"true\",\n  \"devDependencies\": {\n    \"ionic\": \"driftyco/ionic-bower#1.0.0\"\n  },\n  \"de"
  },
  {
    "path": "config.xml",
    "chars": 4777,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<widget id=\"com.ionichina.ioniclub\" version=\"1.0.0\" xmlns=\"http:"
  },
  {
    "path": "gulpfile.js",
    "chars": 1353,
    "preview": "var gulp = require('gulp');\nvar gutil = require('gulp-util');\nvar bower = require('bower');\nvar concat = require('gulp-c"
  },
  {
    "path": "hooks/README.md",
    "chars": 3018,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "hooks/after_prepare/010_add_platform_class.js",
    "chars": 2735,
    "preview": "#!/usr/bin/env node\n\n// Add Platform Class\n// v1.0\n// Automatically adds the platform class to the body tag\n// after the"
  },
  {
    "path": "ionic.project",
    "chars": 164,
    "preview": "{\n  \"name\": \"ioniclub\",\n  \"app_id\": \"996999423\",\n  \"gulpStartupTasks\": [\n    \"sass\",\n    \"watch\"\n  ],\n  \"watchPatterns\":"
  },
  {
    "path": "package.json",
    "chars": 598,
    "preview": "{\n  \"name\": \"ioniclub\",\n  \"version\": \"1.0.0\",\n  \"description\": \"ioniclub: An Ionic project\",\n  \"dependencies\": {\n    \"an"
  },
  {
    "path": "scss/app/_header.scss",
    "chars": 162,
    "preview": "a {\n  color: #08c;\n  text-decoration: none;\n}\n#logo {\n  width: 128px;\n  height: 30px;\n  margin-left: 10px;\n}\n#devTag {\n "
  },
  {
    "path": "scss/app/_topic.scss",
    "chars": 1379,
    "preview": ".topic {\n  .title {\n    margin: 0;\n  }\n  .summary {\n    margin: 8px 0;\n  }\n  .avatar {\n    width: 16px;\n    border-radiu"
  },
  {
    "path": "scss/app/_topics.scss",
    "chars": 601,
    "preview": ".topics {\n  .item-content {\n    padding: 14px 16px 18px 72px;\n    > img {\n      &:not(:first-child) {\n        -webkit-tr"
  },
  {
    "path": "scss/app/_user.scss",
    "chars": 57,
    "preview": ".user {\n  .item-content {\n    padding-right: 16px;\n  }\n}\n"
  },
  {
    "path": "scss/base/_variables.scss",
    "chars": 87,
    "preview": "// Colors\n// -------------------------------\n\n$node-green: #80bd01;\n$node-black: #444;\n"
  },
  {
    "path": "scss/ionic.app.scss",
    "chars": 2120,
    "preview": "/*\nTo customize the look and feel of Ionic, you can override the variables\nin ionic's _variables.scss file.\n\nFor example"
  },
  {
    "path": "scss/modules/_bar.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "scss/modules/_items.scss",
    "chars": 808,
    "preview": ".item {\n  left: 0;\n  right: 0;\n}\n.item-divider {\n  color: #555;\n  font-weight: normal;\n  font-size: 14px;\n}\n.item-gap {\n"
  },
  {
    "path": "scss/modules/_markdown.scss",
    "chars": 180,
    "preview": ".markdown-text {\n  a {\n    color: #778087;\n  }\n  ul {\n    list-style-type: disc;\n    margin-bottom: 5px;\n    margin-left"
  },
  {
    "path": "scss/modules/_scaffolding.scss",
    "chars": 606,
    "preview": "#copyright {\n  margin: 20px 0 10px;\n  text-align: center;\n  color: #aaa;\n  text-shadow: 0 1px 0 #fff;\n}\n.notifyBadge {\n "
  },
  {
    "path": "www/css/ionic.app.css",
    "chars": 226531,
    "preview": "@charset \"UTF-8\";\n/*\nTo customize the look and feel of Ionic, you can override the variables\nin ionic's _variables.scss "
  },
  {
    "path": "www/css/style.css",
    "chars": 84,
    "preview": "/* Empty. Add your own CSS if you like */\na .my-tab-item{\n  color: rgb(0, 0, 0);\n\n}\n"
  },
  {
    "path": "www/index.html",
    "chars": 1522,
    "preview": "<!DOCTYPE html>\n<html>\n\n<head>\n  <meta charset=\"utf-8\">\n  <meta name=\"viewport\" content=\"initial-scale=1, maximum-scale="
  },
  {
    "path": "www/js/app.js",
    "chars": 6734,
    "preview": "// Ionic Starter App\n\n// angular.module is a global place for creating, registering and retrieving Angular modules\n// 'i"
  },
  {
    "path": "www/js/config.js",
    "chars": 310,
    "preview": "angular.module(\"ioniclub.config\", [])\n    .constant(\"ENV\", {\n        // \"name\": \"production\",\n        \"accessToken\": '',"
  },
  {
    "path": "www/js/controllers.js",
    "chars": 862,
    "preview": "angular.module('ioniclub.controllers', [])\n\n.controller('AppCtrl', function($scope, $rootScope, $ionicLoading, $ionicMod"
  },
  {
    "path": "www/js/services.js",
    "chars": 5079,
    "preview": "/**\n * 各种定制化的服务\n */\n\nangular.module('ioniclub.services', [])\n  .factory('Storage', function() {\n    \"use strict\";\n    re"
  },
  {
    "path": "www/lib/angular/.bower.json",
    "chars": 432,
    "preview": "{\n  \"name\": \"angular\",\n  \"version\": \"1.3.13\",\n  \"main\": \"./angular.js\",\n  \"ignore\": [],\n  \"dependencies\": {},\n  \"homepag"
  },
  {
    "path": "www/lib/angular/README.md",
    "chars": 2144,
    "preview": "# packaged angular\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[main Angul"
  },
  {
    "path": "www/lib/angular/angular-csp.css",
    "chars": 263,
    "preview": "/* Include this file in your html if you are using the CSP mode. */\n\n@charset \"UTF-8\";\n\n[ng\\:cloak], [ng-cloak], [data-n"
  },
  {
    "path": "www/lib/angular/angular.js",
    "chars": 952420,
    "preview": "/**\n * @license AngularJS v1.3.13\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(windo"
  },
  {
    "path": "www/lib/angular/bower.json",
    "chars": 114,
    "preview": "{\n  \"name\": \"angular\",\n  \"version\": \"1.3.13\",\n  \"main\": \"./angular.js\",\n  \"ignore\": [],\n  \"dependencies\": {\n  }\n}\n"
  },
  {
    "path": "www/lib/angular/package.json",
    "chars": 575,
    "preview": "{\n  \"name\": \"angular\",\n  \"version\": \"1.3.13\",\n  \"description\": \"HTML enhanced for web apps\",\n  \"main\": \"angular.js\",\n  \""
  },
  {
    "path": "www/lib/angular-animate/.bower.json",
    "chars": 499,
    "preview": "{\n  \"name\": \"angular-animate\",\n  \"version\": \"1.3.13\",\n  \"main\": \"./angular-animate.js\",\n  \"ignore\": [],\n  \"dependencies\""
  },
  {
    "path": "www/lib/angular-animate/README.md",
    "chars": 2270,
    "preview": "# packaged angular-animate\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[ma"
  },
  {
    "path": "www/lib/angular-animate/angular-animate.js",
    "chars": 104238,
    "preview": "/**\n * @license AngularJS v1.3.13\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(windo"
  },
  {
    "path": "www/lib/angular-animate/bower.json",
    "chars": 154,
    "preview": "{\n  \"name\": \"angular-animate\",\n  \"version\": \"1.3.13\",\n  \"main\": \"./angular-animate.js\",\n  \"ignore\": [],\n  \"dependencies\""
  },
  {
    "path": "www/lib/angular-animate/package.json",
    "chars": 613,
    "preview": "{\n  \"name\": \"angular-animate\",\n  \"version\": \"1.3.13\",\n  \"description\": \"AngularJS module for animations\",\n  \"main\": \"ang"
  },
  {
    "path": "www/lib/angular-moment/.bower.json",
    "chars": 856,
    "preview": "{\n  \"name\": \"angular-moment\",\n  \"version\": \"0.10.0\",\n  \"description\": \"Moment.JS directives & filters for AngularJS (tim"
  },
  {
    "path": "www/lib/angular-moment/.editorconfig",
    "chars": 474,
    "preview": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# edit"
  },
  {
    "path": "www/lib/angular-moment/.gitignore",
    "chars": 48,
    "preview": "/.idea\n/bower_components\n/node_modules\n/coverage"
  },
  {
    "path": "www/lib/angular-moment/.jshintrc",
    "chars": 409,
    "preview": "{\n\t\"node\": true,\n\t\"browser\": true,\n\t\"esnext\": true,\n\t\"bitwise\": true,\n\t\"camelcase\": true,\n\t\"curly\": true,\n\t\"eqeqeq\": tru"
  },
  {
    "path": "www/lib/angular-moment/.npmignore",
    "chars": 45,
    "preview": ".idea\nbower_components\nnode_modules\ncoverage\n"
  },
  {
    "path": "www/lib/angular-moment/.travis.yml",
    "chars": 161,
    "preview": "language: node_js\nnode_js:\n  - \"0.10\"\nbefore_script:\n  - npm run bower\nafter_success:\n  - cat ./coverage/*/lcov.info | ."
  },
  {
    "path": "www/lib/angular-moment/CHANGELOG.md",
    "chars": 8211,
    "preview": "# Changelog\n\n## 0.10.0 - 2015-04-10\n- Breaking change: removed one-time binding for `am-time-ago` in favor of AngularJS "
  },
  {
    "path": "www/lib/angular-moment/CONTRIBUTING.md",
    "chars": 2072,
    "preview": "# Contributing Guide\n\nContributing to `angular-moment` is fairly easy. This document shows you how to\nget the project, r"
  },
  {
    "path": "www/lib/angular-moment/Gruntfile.js",
    "chars": 937,
    "preview": "/* License: MIT.\n * Copyright (C) 2013, 2014, 2015, Uri Shaked.\n */\n\n'use strict';\n\nmodule.exports = function (grunt) {\n"
  },
  {
    "path": "www/lib/angular-moment/LICENSE",
    "chars": 1099,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2013-2015 Uri Shaked and contributors\n\nPermission is hereby granted, free of charge"
  },
  {
    "path": "www/lib/angular-moment/README.md",
    "chars": 4573,
    "preview": "angular-moment\n==============\n\nAngularJS directive and filters for [Moment.JS](http://www.momentjs.com).\n\nCopyright (C) "
  },
  {
    "path": "www/lib/angular-moment/angular-moment.js",
    "chars": 17410,
    "preview": "/* angular-moment.js / v0.10.0 / (c) 2013, 2014, 2015 Uri Shaked / MIT Licence */\n\n'format global';\n/* global define */\n"
  },
  {
    "path": "www/lib/angular-moment/angular-moment.nuspec",
    "chars": 1107,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd\">\n    "
  },
  {
    "path": "www/lib/angular-moment/bower.json",
    "chars": 544,
    "preview": "{\n\t\"name\": \"angular-moment\",\n\t\"version\": \"0.10.0\",\n\t\"description\": \"Moment.JS directives & filters for AngularJS (timeag"
  },
  {
    "path": "www/lib/angular-moment/karma.conf.js",
    "chars": 877,
    "preview": "/* License: MIT.\n * Copyright (C) 2013, 2014, 2015, Uri Shaked.\n */\n\n'use strict';\n\nmodule.exports = function (config) {"
  },
  {
    "path": "www/lib/angular-moment/package.json",
    "chars": 868,
    "preview": "{\n  \"name\": \"angular-moment\",\n  \"version\": \"0.10.0\",\n  \"main\": \"angular-moment.js\",\n  \"repository\": {\n    \"type\": \"git\","
  },
  {
    "path": "www/lib/angular-moment/tests.js",
    "chars": 29188,
    "preview": "/* License: MIT.\n * Copyright (C) 2013, 2014, 2015, Uri Shaked.\n */\n\n/* global describe, inject, module, beforeEach, aft"
  },
  {
    "path": "www/lib/angular-resource/.bower.json",
    "chars": 524,
    "preview": "{\n  \"name\": \"angular-resource\",\n  \"version\": \"1.3.15\",\n  \"main\": \"./angular-resource.js\",\n  \"ignore\": [],\n  \"dependencie"
  },
  {
    "path": "www/lib/angular-resource/README.md",
    "chars": 2051,
    "preview": "# packaged angular-resource\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[m"
  },
  {
    "path": "www/lib/angular-resource/angular-resource.js",
    "chars": 26737,
    "preview": "/**\n * @license AngularJS v1.3.15\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(windo"
  },
  {
    "path": "www/lib/angular-resource/bower.json",
    "chars": 156,
    "preview": "{\n  \"name\": \"angular-resource\",\n  \"version\": \"1.3.15\",\n  \"main\": \"./angular-resource.js\",\n  \"ignore\": [],\n  \"dependencie"
  },
  {
    "path": "www/lib/angular-resource/index.js",
    "chars": 62,
    "preview": "require('./angular-resource');\nmodule.exports = 'ngResource';\n"
  },
  {
    "path": "www/lib/angular-resource/package.json",
    "chars": 638,
    "preview": "{\n  \"name\": \"angular-resource\",\n  \"version\": \"1.3.15\",\n  \"description\": \"AngularJS module for interacting with RESTful s"
  },
  {
    "path": "www/lib/angular-sanitize/.bower.json",
    "chars": 504,
    "preview": "{\n  \"name\": \"angular-sanitize\",\n  \"version\": \"1.3.13\",\n  \"main\": \"./angular-sanitize.js\",\n  \"ignore\": [],\n  \"dependencie"
  },
  {
    "path": "www/lib/angular-sanitize/README.md",
    "chars": 2279,
    "preview": "# packaged angular-sanitize\n\nThis repo is for distribution on `npm` and `bower`. The source for this module is in the\n[m"
  },
  {
    "path": "www/lib/angular-sanitize/angular-sanitize.js",
    "chars": 24095,
    "preview": "/**\n * @license AngularJS v1.3.13\n * (c) 2010-2014 Google, Inc. http://angularjs.org\n * License: MIT\n */\n(function(windo"
  },
  {
    "path": "www/lib/angular-sanitize/bower.json",
    "chars": 156,
    "preview": "{\n  \"name\": \"angular-sanitize\",\n  \"version\": \"1.3.13\",\n  \"main\": \"./angular-sanitize.js\",\n  \"ignore\": [],\n  \"dependencie"
  },
  {
    "path": "www/lib/angular-sanitize/package.json",
    "chars": 615,
    "preview": "{\n  \"name\": \"angular-sanitize\",\n  \"version\": \"1.3.13\",\n  \"description\": \"AngularJS module for sanitizing HTML\",\n  \"main\""
  },
  {
    "path": "www/lib/angular-ui-router/.bower.json",
    "chars": 717,
    "preview": "{\n  \"name\": \"angular-ui-router\",\n  \"version\": \"0.2.13\",\n  \"main\": \"./release/angular-ui-router.js\",\n  \"dependencies\": {\n"
  },
  {
    "path": "www/lib/angular-ui-router/CHANGELOG.md",
    "chars": 19667,
    "preview": "<a name=\"0.2.13\"></a>\n### 0.2.13 (2014-11-20)\n\nThis release primarily fixes issues reported against 0.2.12\n\n#### Bug Fix"
  },
  {
    "path": "www/lib/angular-ui-router/CONTRIBUTING.md",
    "chars": 4190,
    "preview": "\n# Report an Issue\n\nHelp us make UI-Router better! If you think you might have found a bug, or some other weirdness, sta"
  },
  {
    "path": "www/lib/angular-ui-router/LICENSE",
    "chars": 1097,
    "preview": "The MIT License\n\nCopyright (c) 2014 The AngularUI Team, Karsten Sperling\n\nPermission is hereby granted, free of charge, "
  },
  {
    "path": "www/lib/angular-ui-router/README.md",
    "chars": 9139,
    "preview": "# AngularUI Router &nbsp;[![Build Status](https://travis-ci.org/angular-ui/ui-router.svg?branch=master)](https://travis-"
  },
  {
    "path": "www/lib/angular-ui-router/api/angular-ui-router.d.ts",
    "chars": 4352,
    "preview": "// Type definitions for Angular JS 1.1.5+ (ui.router module)\n// Project: https://github.com/angular-ui/ui-router\n// Defi"
  },
  {
    "path": "www/lib/angular-ui-router/bower.json",
    "chars": 389,
    "preview": "{\n  \"name\": \"angular-ui-router\",\n  \"version\": \"0.2.13\",\n  \"main\": \"./release/angular-ui-router.js\",\n  \"dependencies\": {\n"
  },
  {
    "path": "www/lib/angular-ui-router/release/angular-ui-router.js",
    "chars": 156740,
    "preview": "/**\n * State-based routing for AngularJS\n * @version v0.2.13\n * @link http://angular-ui.github.com/\n * @license MIT Lice"
  },
  {
    "path": "www/lib/angular-ui-router/src/common.js",
    "chars": 7991,
    "preview": "/*jshint globalstrict:true*/\n/*global angular:false*/\n'use strict';\n\nvar isDefined = angular.isDefined,\n    isFunction ="
  },
  {
    "path": "www/lib/angular-ui-router/src/resolve.js",
    "chars": 9740,
    "preview": "/**\n * @ngdoc object\n * @name ui.router.util.$resolve\n *\n * @requires $q\n * @requires $injector\n *\n * @description\n * Ma"
  },
  {
    "path": "www/lib/angular-ui-router/src/state.js",
    "chars": 56565,
    "preview": "/**\n * @ngdoc object\n * @name ui.router.state.$stateProvider\n *\n * @requires ui.router.router.$urlRouterProvider\n * @req"
  },
  {
    "path": "www/lib/angular-ui-router/src/stateDirectives.js",
    "chars": 9442,
    "preview": "function parseStateRef(ref, current) {\n  var preparsed = ref.match(/^\\s*({[^}]*})\\s*$/), parsed;\n  if (preparsed) ref = "
  },
  {
    "path": "www/lib/angular-ui-router/src/stateFilters.js",
    "chars": 995,
    "preview": "/**\n * @ngdoc filter\n * @name ui.router.state.filter:isState\n *\n * @requires ui.router.state.$state\n *\n * @description\n "
  },
  {
    "path": "www/lib/angular-ui-router/src/templateFactory.js",
    "chars": 4196,
    "preview": "/**\n * @ngdoc object\n * @name ui.router.util.$templateFactory\n *\n * @requires $http\n * @requires $templateCache\n * @requ"
  },
  {
    "path": "www/lib/angular-ui-router/src/urlMatcherFactory.js",
    "chars": 40083,
    "preview": "var $$UMFP; // reference to $UrlMatcherFactoryProvider\n\n/**\n * @ngdoc object\n * @name ui.router.util.type:UrlMatcher\n *\n"
  },
  {
    "path": "www/lib/angular-ui-router/src/urlRouter.js",
    "chars": 14421,
    "preview": "/**\n * @ngdoc object\n * @name ui.router.router.$urlRouterProvider\n *\n * @requires ui.router.util.$urlMatcherFactoryProvi"
  },
  {
    "path": "www/lib/angular-ui-router/src/view.js",
    "chars": 2129,
    "preview": "\n$ViewProvider.$inject = [];\nfunction $ViewProvider() {\n\n  this.$get = $get;\n  /**\n   * @ngdoc object\n   * @name ui.rout"
  },
  {
    "path": "www/lib/angular-ui-router/src/viewDirective.js",
    "chars": 9218,
    "preview": "/**\n * @ngdoc directive\n * @name ui.router.state.directive:ui-view\n *\n * @requires ui.router.state.$state\n * @requires $"
  },
  {
    "path": "www/lib/angular-ui-router/src/viewScroll.js",
    "chars": 1522,
    "preview": "/**\n * @ngdoc object\n * @name ui.router.state.$uiViewScrollProvider\n *\n * @description\n * Provider that returns the {@li"
  },
  {
    "path": "www/lib/ionic/.bower.json",
    "chars": 1046,
    "preview": "{\n  \"name\": \"ionic\",\n  \"version\": \"1.0.0\",\n  \"codename\": \"uranium-unicorn\",\n  \"homepage\": \"https://github.com/driftyco/i"
  },
  {
    "path": "www/lib/ionic/README.md",
    "chars": 445,
    "preview": "# ionic-bower\n\nBower repository for [Ionic Framework](http://github.com/driftyco/ionic)\n\n### Usage\n\nInclude `js/ionic.bu"
  },
  {
    "path": "www/lib/ionic/bower.json",
    "chars": 774,
    "preview": "{\n  \"name\": \"ionic\",\n  \"version\": \"1.0.0\",\n  \"codename\": \"uranium-unicorn\",\n  \"homepage\": \"https://github.com/driftyco/i"
  },
  {
    "path": "www/lib/ionic/css/ionic.css",
    "chars": 221566,
    "preview": "/*!\n * Copyright 2014 Drifty Co.\n * http://drifty.com/\n *\n * Ionic, v1.0.0\n * A powerful HTML5 mobile app framework.\n * "
  },
  {
    "path": "www/lib/ionic/js/ionic-angular.js",
    "chars": 426700,
    "preview": "/*!\n * Copyright 2014 Drifty Co.\n * http://drifty.com/\n *\n * Ionic, v1.0.0\n * A powerful HTML5 mobile app framework.\n * "
  },
  {
    "path": "www/lib/ionic/js/ionic.bundle.js",
    "chars": 1940021,
    "preview": "/*!\n * ionic.bundle.js is a concatenation of:\n * ionic.js, angular.js, angular-animate.js,\n * angular-sanitize.js, angul"
  },
  {
    "path": "www/lib/ionic/js/ionic.js",
    "chars": 274823,
    "preview": "/*!\n * Copyright 2014 Drifty Co.\n * http://drifty.com/\n *\n * Ionic, v1.0.0\n * A powerful HTML5 mobile app framework.\n * "
  },
  {
    "path": "www/lib/ionic/scss/_action-sheet.scss",
    "chars": 2815,
    "preview": "/**\n * Action Sheets\n * --------------------------------------------------\n */\n\n.action-sheet-backdrop {\n  @include tran"
  },
  {
    "path": "www/lib/ionic/scss/_animations.scss",
    "chars": 1153,
    "preview": "\n// Slide up from the bottom, used for modals\n// -------------------------------\n\n.slide-in-up {\n  @include translate3d("
  },
  {
    "path": "www/lib/ionic/scss/_backdrop.scss",
    "chars": 354,
    "preview": "\n.backdrop {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: $z-index-backdrop;\n\n  width: 100%;\n  height: 100%;\n\n  ba"
  },
  {
    "path": "www/lib/ionic/scss/_badge.scss",
    "chars": 1507,
    "preview": "\n/**\n * Badges\n * --------------------------------------------------\n */\n\n.badge {\n  @include badge-style($badge-default"
  },
  {
    "path": "www/lib/ionic/scss/_bar.scss",
    "chars": 9707,
    "preview": "\n/**\n * Bar (Headers and Footers)\n * --------------------------------------------------\n */\n\n.bar {\n  @include display-f"
  },
  {
    "path": "www/lib/ionic/scss/_button-bar.scss",
    "chars": 859,
    "preview": "\n/**\n * Button Bar\n * --------------------------------------------------\n */\n\n.button-bar {\n  @include display-flex();\n "
  },
  {
    "path": "www/lib/ionic/scss/_button.scss",
    "chars": 6430,
    "preview": "\n/**\n * Buttons\n * --------------------------------------------------\n */\n\n.button {\n  // set the color defaults\n  @incl"
  },
  {
    "path": "www/lib/ionic/scss/_checkbox.scss",
    "chars": 4626,
    "preview": "\n/**\n * Checkbox\n * --------------------------------------------------\n */\n\n.checkbox {\n  // set the color defaults\n  @i"
  },
  {
    "path": "www/lib/ionic/scss/_form.scss",
    "chars": 6075,
    "preview": "/**\n * Forms\n * --------------------------------------------------\n */\n\n// Make all forms have space below them\nform {\n "
  },
  {
    "path": "www/lib/ionic/scss/_grid.scss",
    "chars": 2906,
    "preview": "/**\n * Grid\n * --------------------------------------------------\n * Using flexbox for the grid, inspired by Philip Walt"
  },
  {
    "path": "www/lib/ionic/scss/_items.scss",
    "chars": 19263,
    "preview": "/**\n * Items\n * --------------------------------------------------\n */\n\n.item {\n  @include item-style($item-default-bg, "
  },
  {
    "path": "www/lib/ionic/scss/_list.scss",
    "chars": 2383,
    "preview": "\n/**\n * Lists\n * --------------------------------------------------\n */\n\n.list {\n  position: relative;\n  padding-top: $i"
  },
  {
    "path": "www/lib/ionic/scss/_loaders.scss",
    "chars": 292,
    "preview": "/**\n * Loaders (Spinners)\n * --------------------------------------------------\n */\n\nsvg.loader {\n  width: 28px;\n  heigh"
  },
  {
    "path": "www/lib/ionic/scss/_loading.scss",
    "chars": 825,
    "preview": "\n/**\n * Loading\n * --------------------------------------------------\n */\n\n.loading-container {\n  position: absolute;\n  "
  },
  {
    "path": "www/lib/ionic/scss/_menu.scss",
    "chars": 1000,
    "preview": "\n/**\n * Menus\n * --------------------------------------------------\n * Side panel structure\n */\n\n.menu {\n  position: abs"
  },
  {
    "path": "www/lib/ionic/scss/_mixins.scss",
    "chars": 15543,
    "preview": "\n// Button Mixins\n// --------------------------------------------------\n\n@mixin button-style($bg-color, $border-color, $"
  },
  {
    "path": "www/lib/ionic/scss/_modal.scss",
    "chars": 2129,
    "preview": "\n/**\n * Modals\n * --------------------------------------------------\n * Modals are independent windows that slide in fro"
  },
  {
    "path": "www/lib/ionic/scss/_platform.scss",
    "chars": 1575,
    "preview": "\n/**\n * Platform\n * --------------------------------------------------\n * Platform specific tweaks\n */\n\n.platform-ios.pl"
  },
  {
    "path": "www/lib/ionic/scss/_popover.scss",
    "chars": 2998,
    "preview": "\n/**\n * Popovers\n * --------------------------------------------------\n * Popovers are independent views which float ove"
  },
  {
    "path": "www/lib/ionic/scss/_popup.scss",
    "chars": 2014,
    "preview": "\n/**\n * Popups\n * --------------------------------------------------\n */\n\n.popup-container {\n  position: absolute;\n  top"
  },
  {
    "path": "www/lib/ionic/scss/_progress.scss",
    "chars": 161,
    "preview": "\n/**\n * Progress\n * --------------------------------------------------\n */\n\nprogress {\n  display: block;\n  margin: $prog"
  },
  {
    "path": "www/lib/ionic/scss/_radio.scss",
    "chars": 1201,
    "preview": "\n/**\n * Radio Button Inputs\n * --------------------------------------------------\n */\n\n.item-radio {\n  padding: 0;\n\n  &:"
  },
  {
    "path": "www/lib/ionic/scss/_range.scss",
    "chars": 3618,
    "preview": "\n/**\n * Range\n * --------------------------------------------------\n */\n\n .range input{\n  display: inline-block;\n  overf"
  },
  {
    "path": "www/lib/ionic/scss/_refresher.scss",
    "chars": 2571,
    "preview": "\n// Scroll refresher (for pull to refresh)\n.scroll-refresher {\n  position: absolute;\n  top: -60px;\n  right: 0;\n  left: 0"
  },
  {
    "path": "www/lib/ionic/scss/_reset.scss",
    "chars": 6919,
    "preview": "\n/**\n * Resets\n * --------------------------------------------------\n * Adapted from normalize.css and some reset.css. W"
  },
  {
    "path": "www/lib/ionic/scss/_scaffolding.scss",
    "chars": 5237,
    "preview": "\n/**\n * Scaffolding\n * --------------------------------------------------\n */\n\n*,\n*:before,\n*:after {\n  @include box-siz"
  },
  {
    "path": "www/lib/ionic/scss/_select.scss",
    "chars": 2612,
    "preview": "\n/**\n * Select\n * --------------------------------------------------\n */\n\n.item-select {\n  position: relative;\n\n  select"
  },
  {
    "path": "www/lib/ionic/scss/_slide-box.scss",
    "chars": 828,
    "preview": "\n/**\n * Slide Box\n * --------------------------------------------------\n */\n\n.slider {\n  position: relative;\n  visibilit"
  },
  {
    "path": "www/lib/ionic/scss/_spinner.scss",
    "chars": 1978,
    "preview": "/**\n * Spinners\n * --------------------------------------------------\n */\n\n.spinner {\n  svg {\n    width: $spinner-width;"
  },
  {
    "path": "www/lib/ionic/scss/_split-pane.scss",
    "chars": 502,
    "preview": "\n/**\n * Split Pane\n * --------------------------------------------------\n */\n\n.split-pane {\n  @include display-flex();\n "
  },
  {
    "path": "www/lib/ionic/scss/_tabs.scss",
    "chars": 13205,
    "preview": "/**\n * Tabs\n * --------------------------------------------------\n * A navigation bar with any number of tab items suppo"
  },
  {
    "path": "www/lib/ionic/scss/_toggle.scss",
    "chars": 5100,
    "preview": "\n/**\n * Toggle\n * --------------------------------------------------\n */\n\n.item-toggle {\n  pointer-events: none;\n}\n\n.tog"
  },
  {
    "path": "www/lib/ionic/scss/_transitions.scss",
    "chars": 3878,
    "preview": "\n// iOS View Transitions\n// -------------------------------\n\n$ios-transition-duration:              500ms !default;\n$ios"
  },
  {
    "path": "www/lib/ionic/scss/_type.scss",
    "chars": 2845,
    "preview": "\n/**\n * Typography\n * --------------------------------------------------\n */\n\n\n// Body text\n// -------------------------"
  },
  {
    "path": "www/lib/ionic/scss/_util.scss",
    "chars": 5037,
    "preview": "\n/**\n * Utility Classes\n * --------------------------------------------------\n */\n\n.hide {\n  display: none;\n}\n.opacity-h"
  },
  {
    "path": "www/lib/ionic/scss/_variables.scss",
    "chars": 31771,
    "preview": "\n// Colors\n// -------------------------------\n\n$light:                           #fff !default;\n$stable:                "
  },
  {
    "path": "www/lib/ionic/scss/ionic.scss",
    "chars": 595,
    "preview": "@charset \"UTF-8\";\n\n@import\n  // Ionicons\n  \"ionicons/ionicons.scss\",\n\n  // Variables\n  \"mixins\",\n  \"variables\",\n\n  // Ba"
  },
  {
    "path": "www/lib/ionic/scss/ionicons/_ionicons-animation.scss",
    "chars": 1912,
    "preview": "// Animation Icons\n// --------------------------\n\n.#{$ionicons-prefix}spin {\n  -webkit-animation: spin 1s infinite linea"
  },
  {
    "path": "www/lib/ionic/scss/ionicons/_ionicons-font.scss",
    "chars": 967,
    "preview": "// Ionicons Font Path\n// --------------------------\n\n@font-face {\n font-family: $ionicons-font-family;\n src:url(\"#{$ioni"
  },
  {
    "path": "www/lib/ionic/scss/ionicons/_ionicons-icons.scss",
    "chars": 91501,
    "preview": "// Ionicons Icons\n// --------------------------\n\n.ionicons,\n.#{$ionicons-prefix}alert:before,\n.#{$ionicons-prefix}alert-"
  },
  {
    "path": "www/lib/ionic/scss/ionicons/_ionicons-variables.scss",
    "chars": 27507,
    "preview": "// Ionicons Variables\n// --------------------------\n\n$ionicons-font-path: \"../fonts\" !default;\n$ionicons-font-family: \"I"
  },
  {
    "path": "www/lib/ionic/scss/ionicons/ionicons.scss",
    "chars": 559,
    "preview": "@charset \"UTF-8\";\n@import \"ionicons-variables\";\n/*!\n  Ionicons, v2.0.1\n  Created by Ben Sperry for the Ionic Framework, "
  },
  {
    "path": "www/lib/moment/.bower.json",
    "chars": 634,
    "preview": "{\n  \"name\": \"moment\",\n  \"version\": \"2.10.2\",\n  \"main\": \"moment.js\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \""
  },
  {
    "path": "www/lib/moment/CHANGELOG.md",
    "chars": 18909,
    "preview": "Changelog\n=========\n\n### 2.10.2\n\n* fixed moment-with-locales in browser env caused by esperanto change\n\n### 2.10.1\n\n* re"
  },
  {
    "path": "www/lib/moment/LICENSE",
    "chars": 1097,
    "preview": "Copyright (c) 2011-2014 Tim Wood, Iskren Chernev, Moment.js contributors\n\nPermission is hereby granted, free of charge, "
  },
  {
    "path": "www/lib/moment/Moment.js.nuspec",
    "chars": 1446,
    "preview": "<?xml version=\"1.0\"?>\r\n<package xmlns=\"http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd\">\r\n    <metadata>\r\n    "
  },
  {
    "path": "www/lib/moment/README.md",
    "chars": 2552,
    "preview": "[![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-im"
  },
  {
    "path": "www/lib/moment/benchmarks/clone.js",
    "chars": 246,
    "preview": "var Benchmark = require('benchmark'),\n    moment = require(\"./../moment.js\"),\n    base = moment('2013-05-25');\n\nmodule.e"
  },
  {
    "path": "www/lib/moment/bower.json",
    "chars": 322,
    "preview": "{\n  \"name\": \"moment\",\n  \"version\": \"2.10.2\",\n  \"main\": \"moment.js\",\n  \"ignore\": [\n    \"**/.*\",\n    \"node_modules\",\n    \""
  },
  {
    "path": "www/lib/moment/locale/af.js",
    "chars": 2566,
    "preview": "//! moment.js locale configuration\n//! locale : afrikaans (af)\n//! author : Werner Mollentze : https://github.com/werner"
  },
  {
    "path": "www/lib/moment/locale/ar-ma.js",
    "chars": 2032,
    "preview": "//! moment.js locale configuration\n//! locale : Moroccan Arabic (ar-ma)\n//! author : ElFadili Yassine : https://github.c"
  },
  {
    "path": "www/lib/moment/locale/ar-sa.js",
    "chars": 3076,
    "preview": "//! moment.js locale configuration\n//! locale : Arabic Saudi Arabia (ar-sa)\n//! author : Suhail Alkowaileet : https://gi"
  },
  {
    "path": "www/lib/moment/locale/ar-tn.js",
    "chars": 1885,
    "preview": "//! moment.js locale configuration\n//! locale  : Tunisian Arabic (ar-tn)\n\n(function (global, factory) {\n   typeof export"
  },
  {
    "path": "www/lib/moment/locale/ar.js",
    "chars": 4480,
    "preview": "//! moment.js locale configuration\n//! Locale: Arabic (ar)\n//! Author: Abdel Said: https://github.com/abdelsaid\n//! Chan"
  },
  {
    "path": "www/lib/moment/locale/az.js",
    "chars": 3265,
    "preview": "//! moment.js locale configuration\n//! locale : azerbaijani (az)\n//! author : topchiyev : https://github.com/topchiyev\n\n"
  },
  {
    "path": "www/lib/moment/locale/be.js",
    "chars": 5285,
    "preview": "//! moment.js locale configuration\n//! locale : belarusian (be)\n//! author : Dmitry Demidov : https://github.com/demidov"
  },
  {
    "path": "www/lib/moment/locale/bg.js",
    "chars": 3053,
    "preview": "//! moment.js locale configuration\n//! locale : bulgarian (bg)\n//! author : Krasen Borisov : https://github.com/kraz\n\n(f"
  },
  {
    "path": "www/lib/moment/locale/bn.js",
    "chars": 3441,
    "preview": "//! moment.js locale configuration\n//! locale : Bengali (bn)\n//! author : Kaushik Gandhi : https://github.com/kaushikgan"
  },
  {
    "path": "www/lib/moment/locale/bo.js",
    "chars": 3532,
    "preview": "//! moment.js locale configuration\n//! locale : tibetan (bo)\n//! author : Thupten N. Chakrishar : https://github.com/vaj"
  },
  {
    "path": "www/lib/moment/locale/br.js",
    "chars": 3355,
    "preview": "//! moment.js locale configuration\n//! locale : breton (br)\n//! author : Jean-Baptiste Le Duigou : https://github.com/jb"
  },
  {
    "path": "www/lib/moment/locale/bs.js",
    "chars": 4585,
    "preview": "//! moment.js locale configuration\n//! locale : bosnian (bs)\n//! author : Nedim Cholich : https://github.com/frontyard\n/"
  },
  {
    "path": "www/lib/moment/locale/ca.js",
    "chars": 2851,
    "preview": "//! moment.js locale configuration\n//! locale : catalan (ca)\n//! author : Juan G. Hurtado : https://github.com/juanghurt"
  },
  {
    "path": "www/lib/moment/locale/cs.js",
    "chars": 5783,
    "preview": "//! moment.js locale configuration\n//! locale : czech (cs)\n//! author : petrbela : https://github.com/petrbela\n\n(functio"
  },
  {
    "path": "www/lib/moment/locale/cv.js",
    "chars": 2276,
    "preview": "//! moment.js locale configuration\n//! locale : chuvash (cv)\n//! author : Anatoly Mironov : https://github.com/mirontoli"
  },
  {
    "path": "www/lib/moment/locale/cy.js",
    "chars": 2831,
    "preview": "//! moment.js locale configuration\n//! locale : Welsh (cy)\n//! author : Robert Allen\n\n(function (global, factory) {\n   t"
  },
  {
    "path": "www/lib/moment/locale/da.js",
    "chars": 2017,
    "preview": "//! moment.js locale configuration\n//! locale : danish (da)\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n(fun"
  },
  {
    "path": "www/lib/moment/locale/de-at.js",
    "chars": 2854,
    "preview": "//! moment.js locale configuration\n//! locale : austrian german (de-at)\n//! author : lluchs : https://github.com/lluchs\n"
  },
  {
    "path": "www/lib/moment/locale/de.js",
    "chars": 2778,
    "preview": "//! moment.js locale configuration\n//! locale : german (de)\n//! author : lluchs : https://github.com/lluchs\n//! author: "
  },
  {
    "path": "www/lib/moment/locale/el.js",
    "chars": 3539,
    "preview": "//! moment.js locale configuration\n//! locale : modern greek (el)\n//! author : Aggelos Karalias : https://github.com/meh"
  },
  {
    "path": "www/lib/moment/locale/en-au.js",
    "chars": 2269,
    "preview": "//! moment.js locale configuration\n//! locale : australian english (en-au)\n\n(function (global, factory) {\n   typeof expo"
  },
  {
    "path": "www/lib/moment/locale/en-ca.js",
    "chars": 2154,
    "preview": "//! moment.js locale configuration\n//! locale : canadian english (en-ca)\n//! author : Jonathan Abourbih : https://github"
  },
  {
    "path": "www/lib/moment/locale/en-gb.js",
    "chars": 2329,
    "preview": "//! moment.js locale configuration\n//! locale : great britain english (en-gb)\n//! author : Chris Gedrim : https://github"
  },
  {
    "path": "www/lib/moment/locale/eo.js",
    "chars": 2619,
    "preview": "//! moment.js locale configuration\n//! locale : esperanto (eo)\n//! author : Colin Dean : https://github.com/colindean\n//"
  },
  {
    "path": "www/lib/moment/locale/es.js",
    "chars": 2852,
    "preview": "//! moment.js locale configuration\n//! locale : spanish (es)\n//! author : Julio Napurí : https://github.com/julionc\n\n(fu"
  },
  {
    "path": "www/lib/moment/locale/et.js",
    "chars": 3092,
    "preview": "//! moment.js locale configuration\n//! locale : estonian (et)\n//! author : Henry Kehlmann : https://github.com/madhenry\n"
  },
  {
    "path": "www/lib/moment/locale/eu.js",
    "chars": 2269,
    "preview": "//! moment.js locale configuration\n//! locale : euskara (eu)\n//! author : Eneko Illarramendi : https://github.com/eillar"
  },
  {
    "path": "www/lib/moment/locale/fa.js",
    "chars": 3183,
    "preview": "//! moment.js locale configuration\n//! locale : Persian (fa)\n//! author : Ebrahim Byagowi : https://github.com/ebraminio"
  },
  {
    "path": "www/lib/moment/locale/fi.js",
    "chars": 3809,
    "preview": "//! moment.js locale configuration\n//! locale : finnish (fi)\n//! author : Tarmo Aidantausta : https://github.com/bleadof"
  },
  {
    "path": "www/lib/moment/locale/fo.js",
    "chars": 2052,
    "preview": "//! moment.js locale configuration\n//! locale : faroese (fo)\n//! author : Ragnar Johannesen : https://github.com/ragnar1"
  },
  {
    "path": "www/lib/moment/locale/fr-ca.js",
    "chars": 1966,
    "preview": "//! moment.js locale configuration\n//! locale : canadian french (fr-ca)\n//! author : Jonathan Abourbih : https://github."
  },
  {
    "path": "www/lib/moment/locale/fr.js",
    "chars": 2118,
    "preview": "//! moment.js locale configuration\n//! locale : french (fr)\n//! author : John Fischer : https://github.com/jfroffice\n\n(f"
  },
  {
    "path": "www/lib/moment/locale/fy.js",
    "chars": 2526,
    "preview": "//! moment.js locale configuration\n//! locale : frisian (fy)\n//! author : Robin van der Vliet : https://github.com/robin"
  },
  {
    "path": "www/lib/moment/locale/gl.js",
    "chars": 2661,
    "preview": "//! moment.js locale configuration\n//! locale : galician (gl)\n//! author : Juan G. Hurtado : https://github.com/juanghur"
  },
  {
    "path": "www/lib/moment/locale/he.js",
    "chars": 2708,
    "preview": "//! moment.js locale configuration\n//! locale : Hebrew (he)\n//! author : Tomer Cohen : https://github.com/tomer\n//! auth"
  },
  {
    "path": "www/lib/moment/locale/hi.js",
    "chars": 3793,
    "preview": "//! moment.js locale configuration\n//! locale : hindi (hi)\n//! author : Mayank Singhal : https://github.com/mayanksingha"
  },
  {
    "path": "www/lib/moment/locale/hr.js",
    "chars": 4549,
    "preview": "//! moment.js locale configuration\n//! locale : hrvatski (hr)\n//! author : Bojan Marković : https://github.com/bmarkovic"
  },
  {
    "path": "www/lib/moment/locale/hu.js",
    "chars": 3959,
    "preview": "//! moment.js locale configuration\n//! locale : hungarian (hu)\n//! author : Adam Brunner : https://github.com/adambrunne"
  },
  {
    "path": "www/lib/moment/locale/hy-am.js",
    "chars": 3708,
    "preview": "//! moment.js locale configuration\n//! locale : Armenian (hy-am)\n//! author : Armendarabyan : https://github.com/armenda"
  },
  {
    "path": "www/lib/moment/locale/id.js",
    "chars": 2890,
    "preview": "//! moment.js locale configuration\n//! locale : Bahasa Indonesia (id)\n//! author : Mohammad Satrio Utomo : https://githu"
  },
  {
    "path": "www/lib/moment/locale/is.js",
    "chars": 4379,
    "preview": "//! moment.js locale configuration\n//! locale : icelandic (is)\n//! author : Hinrik Örn Sigurðsson : https://github.com/h"
  },
  {
    "path": "www/lib/moment/locale/it.js",
    "chars": 2402,
    "preview": "//! moment.js locale configuration\n//! locale : italian (it)\n//! author : Lorenzo : https://github.com/aliem\n//! author:"
  },
  {
    "path": "www/lib/moment/locale/ja.js",
    "chars": 1865,
    "preview": "//! moment.js locale configuration\n//! locale : japanese (ja)\n//! author : LI Long : https://github.com/baryon\n\n(functio"
  },
  {
    "path": "www/lib/moment/locale/ka.js",
    "chars": 3557,
    "preview": "//! moment.js locale configuration\n//! locale : Georgian (ka)\n//! author : Irakli Janiashvili : https://github.com/irakl"
  },
  {
    "path": "www/lib/moment/locale/km.js",
    "chars": 1968,
    "preview": "//! moment.js locale configuration\n//! locale : khmer (km)\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n(func"
  },
  {
    "path": "www/lib/moment/locale/ko.js",
    "chars": 1943,
    "preview": "//! moment.js locale configuration\n//! locale : korean (ko)\n//!\n//! authors\n//!\n//! - Kyungwook, Park : https://github.c"
  },
  {
    "path": "www/lib/moment/locale/lb.js",
    "chars": 4789,
    "preview": "//! moment.js locale configuration\n//! locale : Luxembourgish (lb)\n//! author : mweimerskirch : https://github.com/mweim"
  },
  {
    "path": "www/lib/moment/locale/lt.js",
    "chars": 4203,
    "preview": "//! moment.js locale configuration\n//! locale : Lithuanian (lt)\n//! author : Mindaugas Mozūras : https://github.com/mmoz"
  },
  {
    "path": "www/lib/moment/locale/lv.js",
    "chars": 2843,
    "preview": "//! moment.js locale configuration\n//! locale : latvian (lv)\n//! author : Kristaps Karlsons : https://github.com/skakri\n"
  },
  {
    "path": "www/lib/moment/locale/mk.js",
    "chars": 3068,
    "preview": "//! moment.js locale configuration\n//! locale : macedonian (mk)\n//! author : Borislav Mickov : https://github.com/B0k0\n\n"
  },
  {
    "path": "www/lib/moment/locale/ml.js",
    "chars": 2450,
    "preview": "//! moment.js locale configuration\n//! locale : malayalam (ml)\n//! author : Floyd Pink : https://github.com/floydpink\n\n("
  },
  {
    "path": "www/lib/moment/locale/mr.js",
    "chars": 3682,
    "preview": "//! moment.js locale configuration\n//! locale : Marathi (mr)\n//! author : Harshad Kale : https://github.com/kalehv\n\n(fun"
  },
  {
    "path": "www/lib/moment/locale/ms-my.js",
    "chars": 2808,
    "preview": "//! moment.js locale configuration\n//! locale : Bahasa Malaysia (ms-MY)\n//! author : Weldan Jamili : https://github.com/"
  },
  {
    "path": "www/lib/moment/locale/my.js",
    "chars": 2685,
    "preview": "//! moment.js locale configuration\n//! locale : Burmese (my)\n//! author : Squar team, mysquar.com\n\n(function (global, fa"
  },
  {
    "path": "www/lib/moment/locale/nb.js",
    "chars": 2106,
    "preview": "//! moment.js locale configuration\n//! locale : norwegian bokmål (nb)\n//! authors : Espen Hovlandsdal : https://github.c"
  },
  {
    "path": "www/lib/moment/locale/ne.js",
    "chars": 3787,
    "preview": "//! moment.js locale configuration\n//! locale : nepali/nepalese\n//! author : suvash : https://github.com/suvash\n\n(functi"
  },
  {
    "path": "www/lib/moment/locale/nl.js",
    "chars": 2516,
    "preview": "//! moment.js locale configuration\n//! locale : dutch (nl)\n//! author : Joris Röling : https://github.com/jjupiter\n\n(fun"
  },
  {
    "path": "www/lib/moment/locale/nn.js",
    "chars": 2030,
    "preview": "//! moment.js locale configuration\n//! locale : norwegian nynorsk (nn)\n//! author : https://github.com/mechuwind\n\n(funct"
  },
  {
    "path": "www/lib/moment/locale/pl.js",
    "chars": 3523,
    "preview": "//! moment.js locale configuration\n//! locale : polish (pl)\n//! author : Rafal Hirsz : https://github.com/evoL\n\n(functio"
  }
]

// ... and 220 more files (download for full content)

About this extraction

This page contains the full source code of the IonicChina/ioniclub GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 420 files (8.3 MB), approximately 2.2M tokens, and a symbol index with 2188 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!