├── .bowerrc ├── .gitignore ├── .jshintrc ├── 404.html ├── LICENSE ├── README.md ├── app ├── components │ ├── map │ │ └── map.directive.js │ └── navbar │ │ └── navbar.html ├── index.js ├── index.scss ├── main │ ├── main.controller.js │ └── main.html └── vendor.scss ├── assets └── images │ ├── favicon.png │ ├── marker.svg │ └── thumb.png ├── bower.json ├── bower_components ├── angular-cookies │ ├── .bower.json │ ├── README.md │ ├── angular-cookies.js │ ├── angular-cookies.min.js │ ├── angular-cookies.min.js.map │ ├── bower.json │ └── package.json ├── angular-mocks │ ├── .bower.json │ ├── README.md │ ├── angular-mocks.js │ ├── bower.json │ └── package.json ├── angular-resource │ ├── .bower.json │ ├── README.md │ ├── angular-resource.js │ ├── angular-resource.min.js │ ├── angular-resource.min.js.map │ ├── bower.json │ └── package.json ├── angular-route │ ├── .bower.json │ ├── README.md │ ├── angular-route.js │ ├── angular-route.min.js │ ├── angular-route.min.js.map │ ├── bower.json │ └── package.json ├── angular │ ├── .bower.json │ ├── README.md │ ├── angular-csp.css │ ├── angular.js │ ├── angular.min.js │ ├── angular.min.js.gzip │ ├── angular.min.js.map │ ├── bower.json │ └── package.json ├── bootstrap-sass-official │ ├── .bower.json │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── assets │ │ ├── fonts │ │ │ └── bootstrap │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ └── glyphicons-halflings-regular.woff │ │ ├── javascripts │ │ │ ├── bootstrap-sprockets.js │ │ │ ├── bootstrap.js │ │ │ └── bootstrap │ │ │ │ ├── affix.js │ │ │ │ ├── alert.js │ │ │ │ ├── button.js │ │ │ │ ├── carousel.js │ │ │ │ ├── collapse.js │ │ │ │ ├── dropdown.js │ │ │ │ ├── modal.js │ │ │ │ ├── popover.js │ │ │ │ ├── scrollspy.js │ │ │ │ ├── tab.js │ │ │ │ ├── tooltip.js │ │ │ │ └── transition.js │ │ └── stylesheets │ │ │ ├── _bootstrap-compass.scss │ │ │ ├── _bootstrap-mincer.scss │ │ │ ├── _bootstrap-sprockets.scss │ │ │ ├── _bootstrap.scss │ │ │ └── bootstrap │ │ │ ├── _alerts.scss │ │ │ ├── _badges.scss │ │ │ ├── _breadcrumbs.scss │ │ │ ├── _button-groups.scss │ │ │ ├── _buttons.scss │ │ │ ├── _carousel.scss │ │ │ ├── _close.scss │ │ │ ├── _code.scss │ │ │ ├── _component-animations.scss │ │ │ ├── _dropdowns.scss │ │ │ ├── _forms.scss │ │ │ ├── _glyphicons.scss │ │ │ ├── _grid.scss │ │ │ ├── _input-groups.scss │ │ │ ├── _jumbotron.scss │ │ │ ├── _labels.scss │ │ │ ├── _list-group.scss │ │ │ ├── _media.scss │ │ │ ├── _mixins.scss │ │ │ ├── _modals.scss │ │ │ ├── _navbar.scss │ │ │ ├── _navs.scss │ │ │ ├── _normalize.scss │ │ │ ├── _pager.scss │ │ │ ├── _pagination.scss │ │ │ ├── _panels.scss │ │ │ ├── _popovers.scss │ │ │ ├── _print.scss │ │ │ ├── _progress-bars.scss │ │ │ ├── _responsive-embed.scss │ │ │ ├── _responsive-utilities.scss │ │ │ ├── _scaffolding.scss │ │ │ ├── _tables.scss │ │ │ ├── _theme.scss │ │ │ ├── _thumbnails.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _type.scss │ │ │ ├── _utilities.scss │ │ │ ├── _variables.scss │ │ │ ├── _wells.scss │ │ │ └── mixins │ │ │ ├── _alerts.scss │ │ │ ├── _background-variant.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _buttons.scss │ │ │ ├── _center-block.scss │ │ │ ├── _clearfix.scss │ │ │ ├── _forms.scss │ │ │ ├── _gradients.scss │ │ │ ├── _grid-framework.scss │ │ │ ├── _grid.scss │ │ │ ├── _hide-text.scss │ │ │ ├── _image.scss │ │ │ ├── _labels.scss │ │ │ ├── _list-group.scss │ │ │ ├── _nav-divider.scss │ │ │ ├── _nav-vertical-align.scss │ │ │ ├── _opacity.scss │ │ │ ├── _pagination.scss │ │ │ ├── _panels.scss │ │ │ ├── _progress-bar.scss │ │ │ ├── _reset-filter.scss │ │ │ ├── _resize.scss │ │ │ ├── _responsive-visibility.scss │ │ │ ├── _size.scss │ │ │ ├── _tab-focus.scss │ │ │ ├── _table-row.scss │ │ │ ├── _text-emphasis.scss │ │ │ ├── _text-overflow.scss │ │ │ └── _vendor-prefixes.scss │ ├── bower.json │ ├── composer.json │ ├── package.json │ └── sache.json ├── d3 │ ├── .bower.json │ ├── .spmignore │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── composer.json │ ├── d3.js │ └── d3.min.js ├── esri-leaflet-geocoder │ ├── .bower.json │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── README.md │ ├── bower.json │ ├── dist │ │ ├── README.md │ │ ├── esri-leaflet-geocoder-1.0.0-rc.1.zip.zip │ │ ├── esri-leaflet-geocoder-1.0.0-rc.2.zip │ │ ├── esri-leaflet-geocoder-src.css │ │ ├── esri-leaflet-geocoder-src.js │ │ ├── esri-leaflet-geocoder.css │ │ ├── esri-leaflet-geocoder.js │ │ ├── esri-leaflet-geocoder.js.map │ │ └── img │ │ │ ├── loading.gif │ │ │ ├── loading@2x.gif │ │ │ ├── search.png │ │ │ └── search@2x.png │ ├── example.png │ ├── index.html │ ├── karma.conf.js │ ├── license.txt │ ├── package.json │ └── src │ │ ├── Controls │ │ └── Geosearch.js │ │ ├── EsriLeafletGeocoding.js │ │ ├── Providers │ │ ├── ArcgisOnlineGeocoder.js │ │ ├── FeatureLayer.js │ │ ├── GeocodeService.js │ │ └── MapService.js │ │ ├── Services │ │ └── Geocoding.js │ │ ├── Tasks │ │ ├── Geocode.js │ │ ├── ReverseGeocode.js │ │ └── Suggest.js │ │ ├── esri-leaflet-geocoder.css │ │ └── img │ │ ├── loading.gif │ │ ├── loading@2x.gif │ │ ├── search.png │ │ └── search@2x.png ├── esri-leaflet │ ├── .bower.json │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── debug │ │ └── sample.html │ ├── dist │ │ ├── README.md │ │ ├── builds │ │ │ ├── basemaps │ │ │ │ ├── esri-leaflet-basemaps-src.js │ │ │ │ ├── esri-leaflet-basemaps-src.js.map │ │ │ │ ├── esri-leaflet-basemaps.js │ │ │ │ └── esri-leaflet-basemaps.js.map │ │ │ ├── core │ │ │ │ ├── esri-leaflet-core-src.js │ │ │ │ ├── esri-leaflet-core-src.js.map │ │ │ │ ├── esri-leaflet-core.js │ │ │ │ └── esri-leaflet-core.js.map │ │ │ ├── feature-layer │ │ │ │ ├── esri-leaflet-feature-layer-src.js │ │ │ │ ├── esri-leaflet-feature-layer-src.js.map │ │ │ │ ├── esri-leaflet-feature-layer.js │ │ │ │ └── esri-leaflet-feature-layer.js.map │ │ │ ├── image-service │ │ │ │ ├── esri-leaflet-image-service-src.js │ │ │ │ ├── esri-leaflet-image-service-src.js.map │ │ │ │ ├── esri-leaflet-image-service.js │ │ │ │ └── esri-leaflet-image-service.js.map │ │ │ └── map-service │ │ │ │ ├── esri-leaflet-map-service-src.js │ │ │ │ ├── esri-leaflet-map-service-src.js.map │ │ │ │ ├── esri-leaflet-map-service.js │ │ │ │ └── esri-leaflet-map-service.js.map │ │ ├── esri-leaflet-src.js │ │ ├── esri-leaflet-src.js.map │ │ ├── esri-leaflet.js │ │ └── esri-leaflet.js.map │ ├── esri-leaflet.png │ ├── karma.conf.js │ ├── package.json │ └── src │ │ ├── Controls │ │ └── Logo.js │ │ ├── EsriLeaflet.js │ │ ├── Layers │ │ ├── BasemapLayer.js │ │ ├── DynamicMapLayer.js │ │ ├── FeatureLayer │ │ │ ├── FeatureGrid.js │ │ │ ├── FeatureLayer.js │ │ │ └── FeatureManager.js │ │ ├── ImageMapLayer.js │ │ ├── RasterLayer.js │ │ └── TiledMapLayer.js │ │ ├── Request.js │ │ ├── Services │ │ ├── FeatureLayer.js │ │ ├── ImageService.js │ │ ├── MapService.js │ │ └── Service.js │ │ ├── Tasks │ │ ├── Find.js │ │ ├── Identify.js │ │ ├── IdentifyFeatures.js │ │ ├── IdentifyImage.js │ │ ├── Query.js │ │ └── Task.js │ │ └── Util.js ├── jquery │ ├── .bower.json │ ├── MIT-LICENSE.txt │ ├── bower.json │ ├── dist │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── jquery.min.map │ └── src │ │ ├── ajax.js │ │ ├── ajax │ │ ├── jsonp.js │ │ ├── load.js │ │ ├── parseJSON.js │ │ ├── parseXML.js │ │ ├── script.js │ │ ├── var │ │ │ ├── nonce.js │ │ │ └── rquery.js │ │ └── xhr.js │ │ ├── attributes.js │ │ ├── attributes │ │ ├── attr.js │ │ ├── classes.js │ │ ├── prop.js │ │ ├── support.js │ │ └── val.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── core │ │ ├── access.js │ │ ├── init.js │ │ ├── parseHTML.js │ │ ├── ready.js │ │ └── var │ │ │ └── rsingleTag.js │ │ ├── css.js │ │ ├── css │ │ ├── addGetHookIf.js │ │ ├── curCSS.js │ │ ├── defaultDisplay.js │ │ ├── hiddenVisibleSelectors.js │ │ ├── support.js │ │ ├── swap.js │ │ └── var │ │ │ ├── cssExpand.js │ │ │ ├── getStyles.js │ │ │ ├── isHidden.js │ │ │ ├── rmargin.js │ │ │ └── rnumnonpx.js │ │ ├── data.js │ │ ├── data │ │ ├── Data.js │ │ ├── accepts.js │ │ └── var │ │ │ ├── data_priv.js │ │ │ └── data_user.js │ │ ├── deferred.js │ │ ├── deprecated.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── effects │ │ ├── Tween.js │ │ └── animatedSelector.js │ │ ├── event.js │ │ ├── event │ │ ├── alias.js │ │ └── support.js │ │ ├── exports │ │ ├── amd.js │ │ └── global.js │ │ ├── intro.js │ │ ├── jquery.js │ │ ├── manipulation.js │ │ ├── manipulation │ │ ├── _evalUrl.js │ │ ├── support.js │ │ └── var │ │ │ └── rcheckableType.js │ │ ├── offset.js │ │ ├── outro.js │ │ ├── queue.js │ │ ├── queue │ │ └── delay.js │ │ ├── selector-native.js │ │ ├── selector-sizzle.js │ │ ├── selector.js │ │ ├── serialize.js │ │ ├── sizzle │ │ └── dist │ │ │ ├── sizzle.js │ │ │ ├── sizzle.min.js │ │ │ └── sizzle.min.map │ │ ├── traversing.js │ │ ├── traversing │ │ ├── findFilter.js │ │ └── var │ │ │ └── rneedsContext.js │ │ ├── var │ │ ├── arr.js │ │ ├── class2type.js │ │ ├── concat.js │ │ ├── hasOwn.js │ │ ├── indexOf.js │ │ ├── pnum.js │ │ ├── push.js │ │ ├── rnotwhite.js │ │ ├── slice.js │ │ ├── strundefined.js │ │ ├── support.js │ │ └── toString.js │ │ └── wrap.js ├── leaflet-providers │ ├── .bower.json │ ├── CONTRIBUTING.md │ ├── README.md │ ├── bower.json │ ├── css │ │ ├── gh-fork-ribbon.css │ │ └── gh-fork-ribbon.ie.css │ ├── leaflet-providers.js │ ├── license.md │ └── package.json ├── leaflet.heat │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── demo │ │ ├── draw.html │ │ └── index.html │ ├── dist │ │ └── leaflet-heat.js │ ├── package.json │ └── src │ │ └── HeatLayer.js ├── leaflet.markercluster │ ├── .bower.json │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── Jakefile.js │ ├── MIT-LICENCE.txt │ ├── README.md │ ├── build │ │ ├── build.js │ │ ├── deps.js │ │ └── hintrc.js │ ├── dist │ │ ├── MarkerCluster.Default.css │ │ ├── MarkerCluster.css │ │ ├── leaflet.markercluster-src.js │ │ └── leaflet.markercluster.js │ ├── example │ │ ├── geojson-sample.js │ │ ├── geojson.html │ │ ├── marker-clustering-convexhull.html │ │ ├── marker-clustering-custom.html │ │ ├── marker-clustering-everything.html │ │ ├── marker-clustering-geojson.html │ │ ├── marker-clustering-realworld-maxzoom.388.html │ │ ├── marker-clustering-realworld-mobile.388.html │ │ ├── marker-clustering-realworld.10000.html │ │ ├── marker-clustering-realworld.388.html │ │ ├── marker-clustering-realworld.50000.html │ │ ├── marker-clustering-singlemarkermode.html │ │ ├── marker-clustering-spiderfier.html │ │ ├── marker-clustering-zoomtobounds.html │ │ ├── marker-clustering-zoomtoshowlayer.html │ │ ├── marker-clustering.html │ │ ├── mobile.css │ │ ├── old-bugs │ │ │ ├── add-1000-after.html │ │ │ ├── add-markers-offscreen.html │ │ │ ├── add-remove-before-addtomap.html │ │ │ ├── animationless-zoom.html │ │ │ ├── disappearing-marker-from-spider.html │ │ │ ├── doesnt-update-cluster-on-bottom-level.html │ │ │ ├── remove-add-clustering.html │ │ │ ├── remove-when-spiderfied.html │ │ │ ├── removelayer-after-remove-from-map.html │ │ │ ├── setView-doesnt-remove.html │ │ │ └── zoomtoshowlayer-doesnt-need-to-zoom.html │ │ ├── realworld.10000.js │ │ ├── realworld.388.js │ │ ├── realworld.50000.1.js │ │ ├── realworld.50000.2.js │ │ └── screen.css │ ├── package.json │ ├── spec │ │ ├── after.js │ │ ├── expect.js │ │ ├── happen.js │ │ ├── index.html │ │ ├── karma.conf.js │ │ ├── sinon.js │ │ └── suites │ │ │ ├── AddLayer.MultipleSpec.js │ │ │ ├── AddLayer.SingleSpec.js │ │ │ ├── AddLayersSpec.js │ │ │ ├── ChildChangingIconSupportSpec.js │ │ │ ├── CircleMarkerSupportSpec.js │ │ │ ├── CircleSupportSpec.js │ │ │ ├── DistanceGridSpec.js │ │ │ ├── LeafletSpec.js │ │ │ ├── NonPointSpec.js │ │ │ ├── QuickHullSpec.js │ │ │ ├── RemoveLayerSpec.js │ │ │ ├── SpecHelper.js │ │ │ ├── clearLayersSpec.js │ │ │ ├── eachLayerSpec.js │ │ │ ├── eventsSpec.js │ │ │ ├── getBoundsSpec.js │ │ │ ├── getLayersSpec.js │ │ │ ├── getVisibleParentSpec.js │ │ │ ├── onAddSpec.js │ │ │ ├── onRemoveSpec.js │ │ │ ├── spiderfySpec.js │ │ │ └── zoomAnimationSpec.js │ └── src │ │ ├── DistanceGrid.js │ │ ├── MarkerCluster.QuickHull.js │ │ ├── MarkerCluster.Spiderfier.js │ │ ├── MarkerCluster.js │ │ ├── MarkerClusterGroup.js │ │ └── copyright.js ├── leaflet │ ├── .bower.json │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Jakefile.js │ ├── LICENSE │ ├── PLUGIN-GUIDE.md │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── dist │ │ ├── images │ │ │ ├── layers-2x.png │ │ │ ├── layers.png │ │ │ ├── marker-icon-2x.png │ │ │ ├── marker-icon.png │ │ │ └── marker-shadow.png │ │ ├── leaflet-src.js │ │ ├── leaflet.css │ │ └── leaflet.js │ └── package.json ├── modernizr │ ├── .bower.json │ ├── .editorconfig │ ├── .gitignore │ ├── .travis.yml │ ├── feature-detects │ │ ├── a-download.js │ │ ├── audio-audiodata-api.js │ │ ├── audio-webaudio-api.js │ │ ├── battery-api.js │ │ ├── battery-level.js │ │ ├── blob-constructor.js │ │ ├── canvas-todataurl-type.js │ │ ├── contenteditable.js │ │ ├── contentsecuritypolicy.js │ │ ├── contextmenu.js │ │ ├── cookies.js │ │ ├── cors.js │ │ ├── css-backgroundposition-shorthand.js │ │ ├── css-backgroundposition-xy.js │ │ ├── css-backgroundrepeat.js │ │ ├── css-backgroundsizecover.js │ │ ├── css-boxsizing.js │ │ ├── css-calc.js │ │ ├── css-cubicbezierrange.js │ │ ├── css-displayrunin.js │ │ ├── css-displaytable.js │ │ ├── css-filters.js │ │ ├── css-hyphens.js │ │ ├── css-lastchild.js │ │ ├── css-mask.js │ │ ├── css-mediaqueries.js │ │ ├── css-objectfit.js │ │ ├── css-overflow-scrolling.js │ │ ├── css-pointerevents.js │ │ ├── css-positionsticky.js │ │ ├── css-regions.js │ │ ├── css-remunit.js │ │ ├── css-resize.js │ │ ├── css-scrollbars.js │ │ ├── css-shapes.js │ │ ├── css-subpixelfont.js │ │ ├── css-supports.js │ │ ├── css-userselect.js │ │ ├── css-vhunit.js │ │ ├── css-vmaxunit.js │ │ ├── css-vminunit.js │ │ ├── css-vwunit.js │ │ ├── custom-protocol-handler.js │ │ ├── dart.js │ │ ├── dataview-api.js │ │ ├── dom-classlist.js │ │ ├── dom-createElement-attrs.js │ │ ├── dom-dataset.js │ │ ├── dom-microdata.js │ │ ├── elem-datalist.js │ │ ├── elem-details.js │ │ ├── elem-output.js │ │ ├── elem-progress-meter.js │ │ ├── elem-ruby.js │ │ ├── elem-time.js │ │ ├── elem-track.js │ │ ├── emoji.js │ │ ├── es5-strictmode.js │ │ ├── event-deviceorientation-motion.js │ │ ├── exif-orientation.js │ │ ├── file-api.js │ │ ├── file-filesystem.js │ │ ├── forms-fileinput.js │ │ ├── forms-formattribute.js │ │ ├── forms-inputnumber-l10n.js │ │ ├── forms-placeholder.js │ │ ├── forms-speechinput.js │ │ ├── forms-validation.js │ │ ├── fullscreen-api.js │ │ ├── gamepad.js │ │ ├── getusermedia.js │ │ ├── ie8compat.js │ │ ├── iframe-sandbox.js │ │ ├── iframe-seamless.js │ │ ├── iframe-srcdoc.js │ │ ├── img-apng.js │ │ ├── img-webp.js │ │ ├── json.js │ │ ├── lists-reversed.js │ │ ├── mathml.js │ │ ├── network-connection.js │ │ ├── network-eventsource.js │ │ ├── network-xhr2.js │ │ ├── notification.js │ │ ├── performance.js │ │ ├── pointerlock-api.js │ │ ├── quota-management-api.js │ │ ├── requestanimationframe.js │ │ ├── script-async.js │ │ ├── script-defer.js │ │ ├── style-scoped.js │ │ ├── svg-filters.js │ │ ├── unicode.js │ │ ├── url-data-uri.js │ │ ├── userdata.js │ │ ├── vibration.js │ │ ├── web-intents.js │ │ ├── webgl-extensions.js │ │ ├── websockets-binary.js │ │ ├── window-framed.js │ │ ├── workers-blobworkers.js │ │ ├── workers-dataworkers.js │ │ └── workers-sharedworkers.js │ ├── grunt.js │ ├── media │ │ ├── Modernizr 2 Logo.ai │ │ ├── Modernizr 2 Logo.eps │ │ ├── Modernizr 2 Logo.pdf │ │ ├── Modernizr 2 Logo.png │ │ └── Modernizr 2 Logo.svg │ ├── modernizr.js │ ├── readme.md │ └── test │ │ ├── basic.html │ │ ├── caniuse.html │ │ ├── caniuse_files │ │ ├── Windsong-webfont.eot │ │ ├── Windsong-webfont.otf │ │ ├── Windsong-webfont.svg │ │ ├── Windsong-webfont.ttf │ │ ├── Windsong-webfont.woff │ │ ├── alpha.png │ │ ├── apng_test.png │ │ ├── before-after.png │ │ ├── form_validation.html │ │ ├── ga.js │ │ ├── green5x5.png │ │ ├── hashchange.html │ │ ├── jquery.min.js │ │ ├── mathml.html │ │ ├── mathml_ref.png │ │ ├── modernizr-1.7.min.js │ │ ├── png_alpha_result.png │ │ ├── pushstate.html │ │ ├── red30x30.png │ │ ├── ruby.png │ │ ├── stroked-text.png │ │ ├── style.css │ │ ├── svg-html-blur.png │ │ ├── svg-img.svg │ │ ├── svg-img.svg.1 │ │ ├── svg_blur.png │ │ ├── table.png │ │ ├── text-shadow1.png │ │ ├── text-shadow2.png │ │ ├── windsong_font.png │ │ └── xhtml.html │ │ ├── index.html │ │ ├── js │ │ ├── basic.html │ │ ├── dumpdata.js │ │ ├── lib │ │ │ ├── detect-global.js │ │ │ ├── jquery-1.7b2.js │ │ │ ├── jsonselect.js │ │ │ ├── polyfills.js │ │ │ └── uaparser.js │ │ ├── setup.js │ │ ├── unit-caniuse.js │ │ └── unit.js │ │ └── qunit │ │ ├── qunit.css │ │ ├── qunit.js │ │ └── run-qunit.js ├── spinkit │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── css │ │ ├── spinkit.css │ │ └── spinners │ │ │ ├── 1-rotating-plane.css │ │ │ ├── 10-fading-circle.css │ │ │ ├── 2-double-bounce.css │ │ │ ├── 3-wave.css │ │ │ ├── 4-wandering-cubes.css │ │ │ ├── 5-pulse.css │ │ │ ├── 6-chasing-dots.css │ │ │ ├── 7-three-bounce.css │ │ │ ├── 8-circle.css │ │ │ ├── 9-cube-grid.css │ │ │ └── 9-wordpress.css │ ├── examples │ │ ├── 1-rotating-plane.html │ │ ├── 10-fading-circle.html │ │ ├── 2-double-bounce.html │ │ ├── 3-wave.html │ │ ├── 4-wandering-cubes.html │ │ ├── 5-pulse.html │ │ ├── 6-chasing-dots.html │ │ ├── 7-three-bounce.html │ │ ├── 8-circle.html │ │ ├── 9-cube-grid.html │ │ └── 9-wordpress.html │ ├── gulpfile.js │ ├── package.json │ └── scss │ │ ├── _variables.scss │ │ ├── spinkit.scss │ │ └── spinners │ │ ├── 1-rotating-plane.scss │ │ ├── 10-fading-circle.scss │ │ ├── 2-double-bounce.scss │ │ ├── 3-wave.scss │ │ ├── 4-wandering-cubes.scss │ │ ├── 5-pulse.scss │ │ ├── 6-chasing-dots.scss │ │ ├── 7-three-bounce.scss │ │ ├── 8-circle.scss │ │ ├── 9-cube-grid.scss │ │ └── 9-wordpress.scss └── underscore │ ├── .bower.json │ ├── .eslintrc │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── package.json │ ├── underscore-min.js │ ├── underscore-min.map │ └── underscore.js ├── gulp ├── build.js ├── e2e-tests.js ├── proxy.js ├── server.js ├── unit-tests.js ├── watch.js └── wiredep.js ├── gulpfile.js ├── index.html ├── package.json ├── styles └── app │ ├── index.css │ └── vendor.css └── test ├── e2e └── main.js ├── karma.conf.js ├── protractor.conf.js └── unit └── main.js /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .tmp 3 | .sass-cache -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | "esnext": true, 4 | "bitwise": true, 5 | "camelcase": true, 6 | "curly": true, 7 | "eqeqeq": true, 8 | "immed": true, 9 | "indent": 2, 10 | "latedef": true, 11 | "newcap": true, 12 | "noarg": true, 13 | "quotmark": "single", 14 | "regexp": true, 15 | "undef": true, 16 | "unused": true, 17 | "strict": true, 18 | "trailing": true, 19 | "smarttabs": true, 20 | "white": true, 21 | "validthis": true, 22 | "globals": { 23 | "angular": false 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Licensed under the Apache License, Version 2.0 (the "License"); 2 | you may not use this file except in compliance with the License. 3 | You may obtain a copy of the License at 4 | 5 | https://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | 13 | -------------------------------------------------------------------------------- /app/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | angular.module('ratmap', ['ngCookies', 'ngResource', 'ngRoute']) 4 | .config(function ($routeProvider) { 5 | $routeProvider 6 | .when('/', { 7 | templateUrl: 'app/main/main.html', 8 | controller: 'MainCtrl' 9 | }) 10 | .otherwise({ 11 | redirectTo: '/' 12 | }); 13 | }) 14 | ; 15 | -------------------------------------------------------------------------------- /app/main/main.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | 6 | -------------------------------------------------------------------------------- /app/vendor.scss: -------------------------------------------------------------------------------- 1 | $icon-font-path: "../bower_components/bootstrap-sass-official/assets/fonts/bootstrap/"; 2 | 3 | @import '../bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap'; 4 | @import '../bower_components/spinkit/scss/spinners/1-rotating-plane'; 5 | -------------------------------------------------------------------------------- /assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/assets/images/favicon.png -------------------------------------------------------------------------------- /assets/images/marker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /assets/images/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/assets/images/thumb.png -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ratmap", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "modernizr": "2.8.x", 6 | "angular": "1.3.x", 7 | "jquery": "2.x.x", 8 | "angular-cookies": "1.3.x", 9 | "angular-resource": "1.3.x", 10 | "angular-route": "1.3.x", 11 | "bootstrap-sass-official": "3.2.x", 12 | "underscore": "~1.7.0", 13 | "leaflet": "~0.7.3", 14 | "d3": "~3.4.13", 15 | "leaflet-providers": "~1.0.10", 16 | "leaflet.markercluster": "~0.4.0", 17 | "spinkit": "~1.0.0", 18 | "leaflet.heat": "git@github.com:Leaflet/Leaflet.heat.git#gh-pages", 19 | "esri-leaflet": "~1.0.0-rc.4", 20 | "esri-leaflet-geocoder": "~1.0.0-rc.2" 21 | }, 22 | "devDependencies": { 23 | "angular-mocks": "1.3.x" 24 | }, 25 | "resolutions": { 26 | "angular": "1.3.x", 27 | "jquery": "2.x.x" 28 | }, 29 | "overrides": { 30 | "leaflet.markercluster": { 31 | "main": "./dist/leaflet.markercluster.js" 32 | }, 33 | "leaflet.heat": { 34 | "main": "./dist/leaflet-heat.js" 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /bower_components/angular-cookies/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-cookies", 3 | "version": "1.3.2", 4 | "main": "./angular-cookies.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-cookies", 10 | "_release": "1.3.2", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.2", 14 | "commit": "1b6854a716c269dc22a78e71876bbebfa248ccca" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-cookies.git", 17 | "_target": "1.3.x", 18 | "_originalSource": "angular-cookies" 19 | } -------------------------------------------------------------------------------- /bower_components/angular-cookies/angular-cookies.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.3.2 3 | (c) 2010-2014 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(e,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&e.$apply())})();k=!0;e.$watch(function(){var a,d,e;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)d=c[a],f.isString(d)||(d=""+d,c[a]=d),d!==g[a]&&(b.cookies(a,d),e=!0);if(e)for(a in d=b.cookies(),c)c[a]!==d[a]&&(m(d[a])?delete c[a]:c[a]=d[a])});return c}]).factory("$cookieStore", 7 | ["$cookies",function(e){return{get:function(b){return(b=e[b])?f.fromJson(b):b},put:function(b,c){e[b]=f.toJson(c)},remove:function(b){delete e[b]}}}])})(window,window.angular); 8 | //# sourceMappingURL=angular-cookies.min.js.map 9 | -------------------------------------------------------------------------------- /bower_components/angular-cookies/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-cookies", 3 | "version": "1.3.2", 4 | "main": "./angular-cookies.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/angular-cookies/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-cookies", 3 | "version": "1.3.2", 4 | "description": "AngularJS module for cookies", 5 | "main": "angular-cookies.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "cookies", 18 | "client-side" 19 | ], 20 | "author": "Angular Core Team ", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/angular/angular.js/issues" 24 | }, 25 | "homepage": "http://angularjs.org" 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.3.2", 4 | "main": "./angular-mocks.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-mocks", 10 | "_release": "1.3.2", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.2", 14 | "commit": "3195cfb260587620e66e2f66fb04a86542f414cf" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-mocks.git", 17 | "_target": "1.3.x", 18 | "_originalSource": "angular-mocks" 19 | } -------------------------------------------------------------------------------- /bower_components/angular-mocks/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.3.2", 4 | "main": "./angular-mocks.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.3.2", 4 | "description": "AngularJS mocks for testing", 5 | "main": "angular-mocks.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "mocks", 18 | "testing", 19 | "client-side" 20 | ], 21 | "author": "Angular Core Team ", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/angular/angular.js/issues" 25 | }, 26 | "homepage": "http://angularjs.org" 27 | } 28 | -------------------------------------------------------------------------------- /bower_components/angular-resource/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-resource", 3 | "version": "1.3.2", 4 | "main": "./angular-resource.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-resource", 10 | "_release": "1.3.2", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.2", 14 | "commit": "118de24ac662f8d5b2a573f93cf4f72f2d0a50f4" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-resource.git", 17 | "_target": "1.3.x", 18 | "_originalSource": "angular-resource" 19 | } -------------------------------------------------------------------------------- /bower_components/angular-resource/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-resource", 3 | "version": "1.3.2", 4 | "main": "./angular-resource.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/angular-resource/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-resource", 3 | "version": "1.3.2", 4 | "description": "AngularJS module for interacting with RESTful server-side data sources", 5 | "main": "angular-resource.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "rest", 18 | "client-side" 19 | ], 20 | "author": "Angular Core Team ", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/angular/angular.js/issues" 24 | }, 25 | "homepage": "http://angularjs.org" 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/angular-route/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-route", 3 | "version": "1.3.2", 4 | "main": "./angular-route.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-route", 10 | "_release": "1.3.2", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.2", 14 | "commit": "2d45594a73d6b64e3e8e464bbd84369ff72b788a" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-route.git", 17 | "_target": "1.3.x", 18 | "_originalSource": "angular-route" 19 | } -------------------------------------------------------------------------------- /bower_components/angular-route/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-route", 3 | "version": "1.3.2", 4 | "main": "./angular-route.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.2" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/angular-route/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-route", 3 | "version": "1.3.2", 4 | "description": "AngularJS router module", 5 | "main": "angular-route.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "router", 18 | "client-side" 19 | ], 20 | "author": "Angular Core Team ", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/angular/angular.js/issues" 24 | }, 25 | "homepage": "http://angularjs.org" 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/angular/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.2", 4 | "main": "./angular.js", 5 | "ignore": [], 6 | "dependencies": {}, 7 | "homepage": "https://github.com/angular/bower-angular", 8 | "_release": "1.3.2", 9 | "_resolution": { 10 | "type": "version", 11 | "tag": "v1.3.2", 12 | "commit": "a6e303837fc01e196236b30346aa0bc07de1a000" 13 | }, 14 | "_source": "git://github.com/angular/bower-angular.git", 15 | "_target": "1.3.x", 16 | "_originalSource": "angular" 17 | } -------------------------------------------------------------------------------- /bower_components/angular/angular-csp.css: -------------------------------------------------------------------------------- 1 | /* Include this file in your html if you are using the CSP mode. */ 2 | 3 | @charset "UTF-8"; 4 | 5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], 6 | .ng-cloak, .x-ng-cloak, 7 | .ng-hide:not(.ng-hide-animate) { 8 | display: none !important; 9 | } 10 | 11 | ng\:form { 12 | display: block; 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/angular/angular.min.js.gzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/angular/angular.min.js.gzip -------------------------------------------------------------------------------- /bower_components/angular/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.2", 4 | "main": "./angular.js", 5 | "ignore": [], 6 | "dependencies": { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/angular/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.2", 4 | "description": "HTML enhanced for web apps", 5 | "main": "angular.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "client-side" 18 | ], 19 | "author": "Angular Core Team ", 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/angular/angular.js/issues" 23 | }, 24 | "homepage": "http://angularjs.org" 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/javascripts/bootstrap-sprockets.js: -------------------------------------------------------------------------------- 1 | //= require ./bootstrap/affix 2 | //= require ./bootstrap/alert 3 | //= require ./bootstrap/button 4 | //= require ./bootstrap/carousel 5 | //= require ./bootstrap/collapse 6 | //= require ./bootstrap/dropdown 7 | //= require ./bootstrap/tab 8 | //= require ./bootstrap/transition 9 | //= require ./bootstrap/scrollspy 10 | //= require ./bootstrap/modal 11 | //= require ./bootstrap/tooltip 12 | //= require ./bootstrap/popover 13 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap-compass.scss: -------------------------------------------------------------------------------- 1 | @function twbs-font-path($path) { 2 | @return font-url($path, true); 3 | } 4 | 5 | @function twbs-image-path($path) { 6 | @return image-url($path, true); 7 | } 8 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap-mincer.scss: -------------------------------------------------------------------------------- 1 | // Mincer asset helper functions 2 | // 3 | // This must be imported into a .css.ejs.scss file. 4 | // Then, <% %>-interpolations will be parsed as strings by Sass, and evaluated by EJS after Sass compilation. 5 | 6 | 7 | @function twbs-font-path($path) { 8 | // do something like following 9 | // from "path/to/font.ext#suffix" to "<%- asset_path(path/to/font.ext)) + #suffix %>" 10 | // from "path/to/font.ext?#suffix" to "<%- asset_path(path/to/font.ext)) + ?#suffix %>" 11 | // or from "path/to/font.ext" just "<%- asset_path(path/to/font.ext)) %>" 12 | @return "<%- asset_path('#{$path}'.replace(/[#?].*$/, '')) + '#{$path}'.replace(/(^[^#?]*)([#?]?.*$)/, '$2') %>"; 13 | } 14 | 15 | @function twbs-image-path($file) { 16 | @return "<%- asset_path('#{$file}') %>"; 17 | } 18 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/_bootstrap-sprockets.scss: -------------------------------------------------------------------------------- 1 | @function twbs-font-path($path) { 2 | @return font-path($path); 3 | } 4 | 5 | @function twbs-image-path($path) { 6 | @return image-path($path); 7 | } 8 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_breadcrumbs.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; 8 | margin-bottom: $line-height-computed; 9 | list-style: none; 10 | background-color: $breadcrumb-bg; 11 | border-radius: $border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "#{$breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: $breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: $breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_close.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: ($font-size-base * 1.5); 9 | font-weight: $close-font-weight; 10 | line-height: 1; 11 | color: $close-color; 12 | text-shadow: $close-text-shadow; 13 | @include opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: $close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | @include opacity(.5); 21 | } 22 | 23 | // [converter] extracted button& to button.close 24 | } 25 | 26 | // Additional properties for button version 27 | // iOS requires the button element instead of an anchor tag. 28 | // If you want the anchor version, it requires `href="#"`. 29 | button.close { 30 | padding: 0; 31 | cursor: pointer; 32 | background: transparent; 33 | border: 0; 34 | -webkit-appearance: none; 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_component-animations.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | @include transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | // [converter] extracted tr&.in to tr.collapse.in 23 | // [converter] extracted tbody&.in to tbody.collapse.in 24 | } 25 | 26 | tr.collapse.in { display: table-row; } 27 | 28 | tbody.collapse.in { display: table-row-group; } 29 | 30 | .collapsing { 31 | position: relative; 32 | height: 0; 33 | overflow: hidden; 34 | @include transition(height .35s ease); 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Jumbotron 3 | // -------------------------------------------------- 4 | 5 | 6 | .jumbotron { 7 | padding: $jumbotron-padding; 8 | margin-bottom: $jumbotron-padding; 9 | color: $jumbotron-color; 10 | background-color: $jumbotron-bg; 11 | 12 | h1, 13 | .h1 { 14 | color: $jumbotron-heading-color; 15 | } 16 | p { 17 | margin-bottom: ($jumbotron-padding / 2); 18 | font-size: $jumbotron-font-size; 19 | font-weight: 200; 20 | } 21 | 22 | > hr { 23 | border-top-color: darken($jumbotron-bg, 10%); 24 | } 25 | 26 | .container & { 27 | border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container 28 | } 29 | 30 | .container { 31 | max-width: 100%; 32 | } 33 | 34 | @media screen and (min-width: $screen-sm-min) { 35 | padding-top: ($jumbotron-padding * 1.6); 36 | padding-bottom: ($jumbotron-padding * 1.6); 37 | 38 | .container & { 39 | padding-left: ($jumbotron-padding * 2); 40 | padding-right: ($jumbotron-padding * 2); 41 | } 42 | 43 | h1, 44 | .h1 { 45 | font-size: ($font-size-base * 4.5); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_media.scss: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | 6 | // Common styles 7 | // ------------------------- 8 | 9 | // Clear the floats 10 | .media, 11 | .media-body { 12 | overflow: hidden; 13 | zoom: 1; 14 | } 15 | 16 | // Proper spacing between instances of .media 17 | .media, 18 | .media .media { 19 | margin-top: 15px; 20 | } 21 | .media:first-child { 22 | margin-top: 0; 23 | } 24 | 25 | // For images and videos, set to block 26 | .media-object { 27 | display: block; 28 | } 29 | 30 | // Reset margins on headings for tighter default spacing 31 | .media-heading { 32 | margin: 0 0 5px; 33 | } 34 | 35 | 36 | // Media image alignment 37 | // ------------------------- 38 | 39 | .media { 40 | > .pull-left { 41 | margin-right: 10px; 42 | } 43 | > .pull-right { 44 | margin-left: 10px; 45 | } 46 | } 47 | 48 | 49 | // Media list variation 50 | // ------------------------- 51 | 52 | // Undo default ul/ol styles 53 | .media-list { 54 | padding-left: 0; 55 | list-style: none; 56 | } 57 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------------------------------- 3 | 4 | // Utilities 5 | @import "mixins/hide-text"; 6 | @import "mixins/opacity"; 7 | @import "mixins/image"; 8 | @import "mixins/labels"; 9 | @import "mixins/reset-filter"; 10 | @import "mixins/resize"; 11 | @import "mixins/responsive-visibility"; 12 | @import "mixins/size"; 13 | @import "mixins/tab-focus"; 14 | @import "mixins/text-emphasis"; 15 | @import "mixins/text-overflow"; 16 | @import "mixins/vendor-prefixes"; 17 | 18 | // Components 19 | @import "mixins/alerts"; 20 | @import "mixins/buttons"; 21 | @import "mixins/panels"; 22 | @import "mixins/pagination"; 23 | @import "mixins/list-group"; 24 | @import "mixins/nav-divider"; 25 | @import "mixins/forms"; 26 | @import "mixins/progress-bar"; 27 | @import "mixins/table-row"; 28 | 29 | // Skins 30 | @import "mixins/background-variant"; 31 | @import "mixins/border-radius"; 32 | @import "mixins/gradients"; 33 | 34 | // Layout 35 | @import "mixins/clearfix"; 36 | @import "mixins/center-block"; 37 | @import "mixins/nav-vertical-align"; 38 | @import "mixins/grid-framework"; 39 | @import "mixins/grid"; 40 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_pager.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | padding-left: 0; 8 | margin: $line-height-computed 0; 9 | list-style: none; 10 | text-align: center; 11 | @include clearfix(); 12 | li { 13 | display: inline; 14 | > a, 15 | > span { 16 | display: inline-block; 17 | padding: 5px 14px; 18 | background-color: $pager-bg; 19 | border: 1px solid $pager-border; 20 | border-radius: $pager-border-radius; 21 | } 22 | 23 | > a:hover, 24 | > a:focus { 25 | text-decoration: none; 26 | background-color: $pager-hover-bg; 27 | } 28 | } 29 | 30 | .next { 31 | > a, 32 | > span { 33 | float: right; 34 | } 35 | } 36 | 37 | .previous { 38 | > a, 39 | > span { 40 | float: left; 41 | } 42 | } 43 | 44 | .disabled { 45 | > a, 46 | > a:hover, 47 | > a:focus, 48 | > span { 49 | color: $pager-disabled-color; 50 | background-color: $pager-bg; 51 | cursor: not-allowed; 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_responsive-embed.scss: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object { 16 | position: absolute; 17 | top: 0; 18 | left: 0; 19 | bottom: 0; 20 | height: 100%; 21 | width: 100%; 22 | border: 0; 23 | } 24 | 25 | // Modifier class for 16:9 aspect ratio 26 | &.embed-responsive-16by9 { 27 | padding-bottom: 56.25%; 28 | } 29 | 30 | // Modifier class for 4:3 aspect ratio 31 | &.embed-responsive-4by3 { 32 | padding-bottom: 75%; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_thumbnails.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: $thumbnail-padding; 10 | margin-bottom: $line-height-computed; 11 | line-height: $line-height-base; 12 | background-color: $thumbnail-bg; 13 | border: 1px solid $thumbnail-border; 14 | border-radius: $thumbnail-border-radius; 15 | @include transition(all .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | @include img-responsive(); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active 25 | 26 | // Image captions 27 | .caption { 28 | padding: $thumbnail-caption-padding; 29 | color: $thumbnail-caption-color; 30 | } 31 | } 32 | 33 | // Add a hover state for linked versions only 34 | a.thumbnail:hover, 35 | a.thumbnail:focus, 36 | a.thumbnail.active { 37 | border-color: $link-color; 38 | } 39 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_utilities.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | @include clearfix(); 11 | } 12 | .center-block { 13 | @include center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | @include text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | visibility: hidden !important; 48 | } 49 | 50 | 51 | // For Affix plugin 52 | // ------------------------- 53 | 54 | .affix { 55 | position: fixed; 56 | @include translate3d(0, 0, 0); 57 | } 58 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_wells.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: $well-bg; 12 | border: 1px solid $well-border; 13 | border-radius: $border-radius-base; 14 | @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: $border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: $border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_alerts.scss: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | @mixin alert-variant($background, $border, $text-color) { 4 | background-color: $background; 5 | border-color: $border; 6 | color: $text-color; 7 | 8 | hr { 9 | border-top-color: darken($border, 5%); 10 | } 11 | .alert-link { 12 | color: darken($text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_background-variant.scss: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | // [converter] $parent hack 4 | @mixin bg-variant($parent, $color) { 5 | #{$parent} { 6 | background-color: $color; 7 | } 8 | a#{$parent}:hover { 9 | background-color: darken($color, 10%); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_border-radius.scss: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | @mixin border-top-radius($radius) { 4 | border-top-right-radius: $radius; 5 | border-top-left-radius: $radius; 6 | } 7 | @mixin border-right-radius($radius) { 8 | border-bottom-right-radius: $radius; 9 | border-top-right-radius: $radius; 10 | } 11 | @mixin border-bottom-radius($radius) { 12 | border-bottom-right-radius: $radius; 13 | border-bottom-left-radius: $radius; 14 | } 15 | @mixin border-left-radius($radius) { 16 | border-bottom-left-radius: $radius; 17 | border-top-left-radius: $radius; 18 | } 19 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_center-block.scss: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | @mixin center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | @mixin clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_hide-text.scss: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (will be removed in v4) 10 | @mixin hide-text() { 11 | font: #{0/0} a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | @mixin text-hide() { 20 | @include hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_labels.scss: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | @mixin label-variant($color) { 4 | background-color: $color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken($color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | @mixin list-group-item-variant($state, $background, $color) { 4 | .list-group-item-#{$state} { 5 | color: $color; 6 | background-color: $background; 7 | 8 | // [converter] extracted a& to a.list-group-item-#{$state} 9 | } 10 | 11 | a.list-group-item-#{$state} { 12 | color: $color; 13 | 14 | .list-group-item-heading { 15 | color: inherit; 16 | } 17 | 18 | &:hover, 19 | &:focus { 20 | color: $color; 21 | background-color: darken($background, 5%); 22 | } 23 | &.active, 24 | &.active:hover, 25 | &.active:focus { 26 | color: #fff; 27 | background-color: $color; 28 | border-color: $color; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: #e5e5e5) { 6 | height: 1px; 7 | margin: (($line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: $color; 10 | } 11 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | @mixin navbar-vertical-align($element-height) { 7 | margin-top: (($navbar-height - $element-height) / 2); 8 | margin-bottom: (($navbar-height - $element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_opacity.scss: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | @mixin opacity($opacity) { 4 | opacity: $opacity; 5 | // IE8 filter 6 | $opacity-ie: ($opacity * 100); 7 | filter: #{alpha(opacity=$opacity-ie)}; 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | @mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: $padding-vertical $padding-horizontal; 8 | font-size: $font-size; 9 | } 10 | &:first-child { 11 | > a, 12 | > span { 13 | @include border-left-radius($border-radius); 14 | } 15 | } 16 | &:last-child { 17 | > a, 18 | > span { 19 | @include border-right-radius($border-radius); 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_panels.scss: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | @mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) { 4 | border-color: $border; 5 | 6 | & > .panel-heading { 7 | color: $heading-text-color; 8 | background-color: $heading-bg-color; 9 | border-color: $heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: $border; 13 | } 14 | .badge { 15 | color: $heading-bg-color; 16 | background-color: $heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: $border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_progress-bar.scss: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | @mixin progress-bar-variant($color) { 4 | background-color: $color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | @include gradient-striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_reset-filter.scss: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | @mixin reset-filter() { 7 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | resize: $direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | // [converter] $parent hack 6 | @mixin responsive-visibility($parent) { 7 | #{$parent} { 8 | display: block !important; 9 | } 10 | table#{$parent} { display: table; } 11 | tr#{$parent} { display: table-row !important; } 12 | th#{$parent}, 13 | td#{$parent} { display: table-cell !important; } 14 | } 15 | 16 | // [converter] $parent hack 17 | @mixin responsive-invisibility($parent) { 18 | #{$parent} { 19 | display: none !important; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_size.scss: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | @mixin size($width, $height) { 4 | width: $width; 5 | height: $height; 6 | } 7 | 8 | @mixin square($size) { 9 | @include size($size, $size); 10 | } 11 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_tab-focus.scss: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | @mixin tab-focus() { 4 | // Default 5 | outline: thin dotted; 6 | // WebKit 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_table-row.scss: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | @mixin table-row-variant($state, $background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.#{$state}, 10 | > th.#{$state}, 11 | &.#{$state} > td, 12 | &.#{$state} > th { 13 | background-color: $background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.#{$state}:hover, 21 | > th.#{$state}:hover, 22 | &.#{$state}:hover > td, 23 | &:hover > .#{$state}, 24 | &.#{$state}:hover > th { 25 | background-color: darken($background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | // [converter] $parent hack 4 | @mixin text-emphasis-variant($parent, $color) { 5 | #{$parent} { 6 | color: $color; 7 | } 8 | a#{$parent}:hover { 9 | color: darken($color, 10%); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/mixins/_text-overflow.scss: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "twbs/bootstrap-sass", 3 | "description": "bootstrap-sass is a Sass-powered version of Bootstrap, ready to drop right into your Sass powered applications.", 4 | "keywords": ["bootstrap", "css", "sass"], 5 | "homepage": "http://github.com/twbs/bootstrap-sass", 6 | "authors": [ 7 | { 8 | "name": "Thomas McDonald" 9 | }, 10 | { 11 | "name": "Tristan Harward" 12 | }, 13 | { 14 | "name": "Peter Gumeson" 15 | }, 16 | { 17 | "name": "Gleb Mazovetskiy" 18 | }, 19 | { 20 | "name": "Mark Otto" 21 | }, 22 | { 23 | "name": "Jacob Thornton" 24 | } 25 | ], 26 | "support": { 27 | "issues": "https://github.com/twbs/bootstrap-sass/issues" 28 | }, 29 | "license": "MIT", 30 | "extra": { 31 | "branch-alias": { 32 | "dev-master": "3.2.x-dev" 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-sass", 3 | "version": "3.2.0", 4 | "description": "bootstrap-sass is a Sass-powered version of Bootstrap, ready to drop right into your Sass powered applications.", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/twbs/bootstrap-sass" 9 | }, 10 | "keywords": [ 11 | "bootstrap", 12 | "sass", 13 | "css" 14 | ], 15 | "contributors": [ 16 | "Thomas McDonald", 17 | "Tristan Harward", 18 | "Peter Gumeson", 19 | "Gleb Mazovetskiy" 20 | ], 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/twbs/bootstrap-sass/issues" 24 | }, 25 | "devDependencies": { 26 | "node-sass": "*", 27 | "mincer": "*", 28 | "ejs": "*" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /bower_components/bootstrap-sass-official/sache.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-sass", 3 | "description": "bootstrap-sass is a Sass-powered version of Bootstrap, ready to drop right into your Sass powered applications", 4 | "tags": ["bootstrap", "grid", "typography", "buttons", "ui", "responsive-web-design"] 5 | } 6 | -------------------------------------------------------------------------------- /bower_components/d3/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "d3", 3 | "version": "3.4.13", 4 | "main": "d3.js", 5 | "scripts": [ 6 | "d3.js" 7 | ], 8 | "ignore": [ 9 | ".DS_Store", 10 | ".git", 11 | ".gitignore", 12 | ".npmignore", 13 | ".travis.yml", 14 | "Makefile", 15 | "bin", 16 | "component.json", 17 | "index.js", 18 | "lib", 19 | "node_modules", 20 | "package.json", 21 | "src", 22 | "test" 23 | ], 24 | "homepage": "https://github.com/mbostock/d3", 25 | "_release": "3.4.13", 26 | "_resolution": { 27 | "type": "version", 28 | "tag": "v3.4.13", 29 | "commit": "e2dc80f5385c153066150075a4208131e0b78c68" 30 | }, 31 | "_source": "git://github.com/mbostock/d3.git", 32 | "_target": "~3.4.13", 33 | "_originalSource": "d3", 34 | "_direct": true 35 | } -------------------------------------------------------------------------------- /bower_components/d3/.spmignore: -------------------------------------------------------------------------------- 1 | bin 2 | lib 3 | src 4 | test 5 | -------------------------------------------------------------------------------- /bower_components/d3/README.md: -------------------------------------------------------------------------------- 1 | # Data-Driven Documents 2 | 3 | 4 | 5 | **D3.js** is a JavaScript library for manipulating documents based on data. **D3** helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation. 6 | 7 | Want to learn more? [See the wiki.](https://github.com/mbostock/d3/wiki) 8 | 9 | For examples, [see the gallery](https://github.com/mbostock/d3/wiki/Gallery) and [mbostock’s bl.ocks](http://bl.ocks.org/mbostock). 10 | -------------------------------------------------------------------------------- /bower_components/d3/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "d3", 3 | "version": "3.4.13", 4 | "main": "d3.js", 5 | "scripts": [ 6 | "d3.js" 7 | ], 8 | "ignore": [ 9 | ".DS_Store", 10 | ".git", 11 | ".gitignore", 12 | ".npmignore", 13 | ".travis.yml", 14 | "Makefile", 15 | "bin", 16 | "component.json", 17 | "index.js", 18 | "lib", 19 | "node_modules", 20 | "package.json", 21 | "src", 22 | "test" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/d3/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mbostock/d3", 3 | "description": "A small, free JavaScript library for manipulating documents based on data.", 4 | "keywords": ["dom", "svg", "visualization", "js", "canvas"], 5 | "homepage": "http://d3js.org/", 6 | "license": "BSD-3-Clause", 7 | "authors": [ 8 | { 9 | "name": "Mike Bostock", 10 | "homepage": "http://bost.ocks.org/mike" 11 | } 12 | ], 13 | "support": { 14 | "issues": "https://github.com/mbostock/d3/issues", 15 | "wiki": "https://github.com/mbostock/d3/wiki", 16 | "API": "https://github.com/mbostock/d3/wiki/API-Reference", 17 | "source": "https://github.com/mbostock/d3" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "esri-leaflet-geocoder", 3 | "version": "1.0.0-rc.2", 4 | "main": "dist/esri-leaflet-geocoder.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "components", 9 | "spec", 10 | "debug" 11 | ], 12 | "homepage": "https://github.com/Esri/esri-leaflet-geocoder", 13 | "_release": "1.0.0-rc.2", 14 | "_resolution": { 15 | "type": "version", 16 | "tag": "v1.0.0-rc.2", 17 | "commit": "da1493ed3cdde7c093847178c21fe3476d808da1" 18 | }, 19 | "_source": "git://github.com/Esri/esri-leaflet-geocoder.git", 20 | "_target": "~1.0.0-rc.2", 21 | "_originalSource": "esri-leaflet-geocoder" 22 | } -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). 2 | -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/bower.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "name": "esri-leaflet-geocoder", 4 | "version": "v1.0.0-rc.2", 5 | "main": "dist/esri-leaflet-geocoder.js", 6 | "ignore": [ 7 | "**/.*", 8 | "node_modules", 9 | "components", 10 | "spec", 11 | "debug" 12 | ] 13 | } -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/README.md: -------------------------------------------------------------------------------- 1 | # Where are the files? 2 | 3 | To download Esri Leaflet Geocoder either build it from source by following the [development instructions](https://github.com/Esri/esri-leaflet-geocoder#development-instructions) or download the [latest release](https://github.com/Esri/esri-leaflet-geocoder/releases) from GitHub. -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/esri-leaflet-geocoder-1.0.0-rc.1.zip.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/dist/esri-leaflet-geocoder-1.0.0-rc.1.zip.zip -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/esri-leaflet-geocoder-1.0.0-rc.2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/dist/esri-leaflet-geocoder-1.0.0-rc.2.zip -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/dist/img/loading.gif -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/img/loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/dist/img/loading@2x.gif -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/dist/img/search.png -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/dist/img/search@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/dist/img/search@2x.png -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/example.png -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/EsriLeafletGeocoding.js: -------------------------------------------------------------------------------- 1 | var EsriLeafletGeocoding = { 2 | WorldGeocodingService: '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/', 3 | Tasks: {}, 4 | Services: {}, 5 | Controls: {} 6 | }; 7 | 8 | // attach to the L.esri global if we can 9 | if(typeof window !== 'undefined' && window.L && window.L.esri) { 10 | window.L.esri.Geocoding = EsriLeafletGeocoding; 11 | } 12 | 13 | // We do not have an 'Esri' variable e.g loading this file directly from source define 'Esri' 14 | if(!Esri){ 15 | var Esri = window.L.esri; 16 | } -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/Providers/GeocodeService.js: -------------------------------------------------------------------------------- 1 | EsriLeafletGeocoding.Controls.Geosearch.Providers.GeocodeService = EsriLeafletGeocoding.Services.Geocoding.extend({ 2 | options: { 3 | label: 'Geocode Server', 4 | maxResults: 5 5 | }, 6 | 7 | suggestions: function(text, bounds, callback){ 8 | callback(undefined, []); 9 | return false; 10 | }, 11 | 12 | results: function(text, key, bounds, callback){ 13 | var request = this.geocode().text(text); 14 | 15 | request.maxLocations(this.options.maxResults); 16 | 17 | if(bounds){ 18 | request.within(bounds); 19 | } 20 | 21 | return request.run(function(error, response){ 22 | callback(error, response.results); 23 | }, this); 24 | } 25 | }); -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/Services/Geocoding.js: -------------------------------------------------------------------------------- 1 | EsriLeafletGeocoding.Services.Geocoding = Esri.Services.Service.extend({ 2 | includes: L.Mixin.Events, 3 | 4 | initialize: function (url, options) { 5 | url = (typeof url === 'string') ? url : EsriLeafletGeocoding.WorldGeocodingService; 6 | options = (typeof url === 'object') ? url : (options || {}); 7 | this.url = Esri.Util.cleanUrl(url); 8 | L.Util.setOptions(this, options); 9 | Esri.Services.Service.prototype.initialize.call(this, url, options); 10 | }, 11 | 12 | geocode: function(){ 13 | return new EsriLeafletGeocoding.Tasks.Geocode(this); 14 | }, 15 | 16 | reverse: function(){ 17 | return new EsriLeafletGeocoding.Tasks.ReverseGeocode(this); 18 | }, 19 | 20 | suggest: function(){ 21 | if(this.url !== EsriLeafletGeocoding.WorldGeocodingService && console && console.warn){ 22 | console.warn('Only the ArcGIS Online World Geocoder supports suggestions'); 23 | } 24 | return new EsriLeafletGeocoding.Tasks.Suggest(this); 25 | } 26 | }); 27 | 28 | EsriLeafletGeocoding.Services.geocoding = function(url, options){ 29 | return new EsriLeafletGeocoding.Services.Geocoding(url, options); 30 | }; -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/Tasks/ReverseGeocode.js: -------------------------------------------------------------------------------- 1 | EsriLeafletGeocoding.Tasks.ReverseGeocode = Esri.Tasks.Task.extend({ 2 | path: 'reverseGeocode', 3 | 4 | params : { 5 | outSR: 4326 6 | }, 7 | setters: { 8 | 'distance': 'distance', 9 | 'language': 'language' 10 | }, 11 | 12 | latlng: function (latlng) { 13 | latlng = L.latLng(latlng); 14 | this.params.location = latlng.lng + ',' + latlng.lat; 15 | return this; 16 | }, 17 | 18 | run: function(callback, context){ 19 | return this.request(function(error, response){ 20 | var result; 21 | 22 | if(!error){ 23 | result = { 24 | latlng: new L.LatLng(response.location.y, response.location.x), 25 | address: response.address 26 | }; 27 | } else { 28 | result = undefined; 29 | } 30 | 31 | callback.call(context, error, result, response); 32 | }, this); 33 | } 34 | }); 35 | 36 | EsriLeafletGeocoding.Tasks.reverseGeocode = function(url, options){ 37 | return new EsriLeafletGeocoding.Tasks.ReverseGeocode(url, options); 38 | }; -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/Tasks/Suggest.js: -------------------------------------------------------------------------------- 1 | EsriLeafletGeocoding.Tasks.Suggest = Esri.Tasks.Task.extend({ 2 | path: 'suggest', 3 | 4 | params : {}, 5 | 6 | setters: { 7 | text: 'text', 8 | category: 'category' 9 | }, 10 | 11 | within: function(bounds){ 12 | bounds = L.latLngBounds(bounds); 13 | bounds = bounds.pad(0.5); 14 | var center = bounds.getCenter(); 15 | var ne = bounds.getNorthWest(); 16 | this.params.location = center.lng + ',' + center.lat; 17 | this.params.distance = Math.min(Math.max(center.distanceTo(ne), 2000), 50000); 18 | return this; 19 | }, 20 | 21 | nearby: function(latlng, radius){ 22 | latlng = L.latLng(latlng); 23 | this.params.location = latlng.lng + ',' + latlng.lat; 24 | this.params.distance = Math.min(Math.max(radius, 2000), 50000); 25 | return this; 26 | }, 27 | 28 | run: function(callback, context){ 29 | return this.request(function(error, response){ 30 | callback.call(context, error, response, response); 31 | }, this); 32 | } 33 | 34 | }); 35 | 36 | EsriLeafletGeocoding.Tasks.suggest = function(url, options){ 37 | return new EsriLeafletGeocoding.Tasks.Suggest(url, options); 38 | }; -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/src/img/loading.gif -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/img/loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/src/img/loading@2x.gif -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/src/img/search.png -------------------------------------------------------------------------------- /bower_components/esri-leaflet-geocoder/src/img/search@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet-geocoder/src/img/search@2x.png -------------------------------------------------------------------------------- /bower_components/esri-leaflet/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "esri-leaflet", 3 | "version": "1.0.0-rc.4", 4 | "main": "dist/esri-leaflet.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "components", 9 | "examples", 10 | "spec", 11 | "site" 12 | ], 13 | "homepage": "https://github.com/Esri/esri-leaflet", 14 | "_release": "1.0.0-rc.4", 15 | "_resolution": { 16 | "type": "version", 17 | "tag": "v1.0.0-rc.4", 18 | "commit": "7dfa2359c669a2f650beaf5915ca0fe0e9d8eda9" 19 | }, 20 | "_source": "git://github.com/Esri/esri-leaflet.git", 21 | "_target": "~1.0.0-rc.4", 22 | "_originalSource": "esri-leaflet" 23 | } -------------------------------------------------------------------------------- /bower_components/esri-leaflet/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "esri-leaflet", 3 | "version": "v1.0.0-rc.4", 4 | "main": "dist/esri-leaflet.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "components", 9 | "examples", 10 | "spec", 11 | "site" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/esri-leaflet/dist/README.md: -------------------------------------------------------------------------------- 1 | # Where are the files? 2 | 3 | To download Esri Leaflet either build it from source by following the [development instructions](https://github.com/Esri/esri-leaflet#development-instructions) or download the [latest release](http://esri.github.io/esri-leaflet/download/). -------------------------------------------------------------------------------- /bower_components/esri-leaflet/esri-leaflet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/esri-leaflet/esri-leaflet.png -------------------------------------------------------------------------------- /bower_components/esri-leaflet/src/Controls/Logo.js: -------------------------------------------------------------------------------- 1 | EsriLeaflet.Controls.Logo = L.Control.extend({ 2 | options: { 3 | position: 'bottomright', 4 | marginTop: 0, 5 | marginLeft: 0, 6 | marginBottom: 0, 7 | marginRight: 0 8 | }, 9 | onAdd: function () { 10 | var div = L.DomUtil.create('div', 'esri-leaflet-logo'); 11 | div.style.marginTop = this.options.marginTop; 12 | div.style.marginLeft = this.options.marginLeft; 13 | div.style.marginBottom = this.options.marginBottom; 14 | div.style.marginRight = this.options.marginRight; 15 | div.innerHTML = ''; 16 | return div; 17 | } 18 | }); 19 | 20 | EsriLeaflet.Controls.logo = function(options){ 21 | return new L.esri.Controls.Logo(options); 22 | }; 23 | -------------------------------------------------------------------------------- /bower_components/esri-leaflet/src/EsriLeaflet.js: -------------------------------------------------------------------------------- 1 | var EsriLeaflet = { //jshint ignore:line 2 | VERSION: '1.0.0-rc.4', 3 | Layers: {}, 4 | Services: {}, 5 | Controls: {}, 6 | Tasks: {}, 7 | Util: {}, 8 | Support: { 9 | CORS: !!(window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest()), 10 | pointerEvents: document.documentElement.style.pointerEvents === '' 11 | } 12 | }; 13 | 14 | if(typeof window !== 'undefined' && window.L){ 15 | window.L.esri = EsriLeaflet; 16 | } 17 | -------------------------------------------------------------------------------- /bower_components/esri-leaflet/src/Services/ImageService.js: -------------------------------------------------------------------------------- 1 | EsriLeaflet.Services.ImageService = EsriLeaflet.Services.Service.extend({ 2 | 3 | query: function () { 4 | return new EsriLeaflet.Tasks.Query(this); 5 | }, 6 | 7 | identify: function() { 8 | return new EsriLeaflet.Tasks.IdentifyImage(this); 9 | } 10 | }); 11 | 12 | EsriLeaflet.Services.imageService = function(url, params){ 13 | return new EsriLeaflet.Services.ImageService(url, params); 14 | }; -------------------------------------------------------------------------------- /bower_components/esri-leaflet/src/Services/MapService.js: -------------------------------------------------------------------------------- 1 | EsriLeaflet.Services.MapService = EsriLeaflet.Services.Service.extend({ 2 | 3 | identify: function () { 4 | return new EsriLeaflet.Tasks.identifyFeatures(this); 5 | }, 6 | 7 | find: function () { 8 | return new EsriLeaflet.Tasks.Find(this); 9 | }, 10 | 11 | query: function () { 12 | return new EsriLeaflet.Tasks.Query(this); 13 | } 14 | 15 | }); 16 | 17 | EsriLeaflet.Services.mapService = function(url, params){ 18 | return new EsriLeaflet.Services.MapService(url, params); 19 | }; -------------------------------------------------------------------------------- /bower_components/esri-leaflet/src/Tasks/Identify.js: -------------------------------------------------------------------------------- 1 | EsriLeaflet.Tasks.Identify = EsriLeaflet.Tasks.Task.extend({ 2 | path: 'identify', 3 | 4 | between: function(start, end){ 5 | this.params.time = ([start.valueOf(), end.valueOf()]).join(','); 6 | return this; 7 | }, 8 | 9 | returnGeometry: function (returnGeometry) { 10 | this.params.returnGeometry = returnGeometry; 11 | return this; 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.1", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "speed", 10 | "test", 11 | "*.md", 12 | "AUTHORS.txt", 13 | "Gruntfile.js", 14 | "package.json" 15 | ], 16 | "devDependencies": { 17 | "sizzle": "1.10.19", 18 | "requirejs": "2.1.10", 19 | "qunit": "1.14.0", 20 | "sinon": "1.8.1" 21 | }, 22 | "keywords": [ 23 | "jquery", 24 | "javascript", 25 | "library" 26 | ], 27 | "homepage": "https://github.com/jquery/jquery", 28 | "_release": "2.1.1", 29 | "_resolution": { 30 | "type": "version", 31 | "tag": "2.1.1", 32 | "commit": "4dec426aa2a6cbabb1b064319ba7c272d594a688" 33 | }, 34 | "_source": "git://github.com/jquery/jquery.git", 35 | "_target": "2.x.x", 36 | "_originalSource": "jquery" 37 | } -------------------------------------------------------------------------------- /bower_components/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 jQuery Foundation and other contributors 2 | http://jquery.com/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.1", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "speed", 10 | "test", 11 | "*.md", 12 | "AUTHORS.txt", 13 | "Gruntfile.js", 14 | "package.json" 15 | ], 16 | "devDependencies": { 17 | "sizzle": "1.10.19", 18 | "requirejs": "2.1.10", 19 | "qunit": "1.14.0", 20 | "sinon": "1.8.1" 21 | }, 22 | "keywords": [ 23 | "jquery", 24 | "javascript", 25 | "library" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml, tmp; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | tmp = new DOMParser(); 15 | xml = tmp.parseFromString( data, "text/xml" ); 16 | } catch ( e ) { 17 | xml = undefined; 18 | } 19 | 20 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 21 | jQuery.error( "Invalid XML: " + data ); 22 | } 23 | return xml; 24 | }; 25 | 26 | return jQuery.parseXML; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core" 3 | ], function( jQuery ) { 4 | return jQuery.now(); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/\?/); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | // Return jQuery for attributes-only inclusion 10 | return jQuery; 11 | }); 12 | -------------------------------------------------------------------------------- /bower_components/jquery/src/attributes/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | (function() { 6 | var input = document.createElement( "input" ), 7 | select = document.createElement( "select" ), 8 | opt = select.appendChild( document.createElement( "option" ) ); 9 | 10 | input.type = "checkbox"; 11 | 12 | // Support: iOS 5.1, Android 4.x, Android 2.3 13 | // Check the default checkbox/radio value ("" on old WebKit; "on" elsewhere) 14 | support.checkOn = input.value !== ""; 15 | 16 | // Must access the parent to make an option select properly 17 | // Support: IE9, IE10 18 | support.optSelected = opt.selected; 19 | 20 | // Make sure that the options inside disabled selects aren't marked as disabled 21 | // (WebKit marks them as disabled) 22 | select.disabled = true; 23 | support.optDisabled = !opt.disabled; 24 | 25 | // Check if an input maintains its value after becoming a radio 26 | // Support: IE9, IE10 27 | input = document.createElement( "input" ); 28 | input.value = "t"; 29 | input.type = "radio"; 30 | support.radioValue = input.value === "t"; 31 | })(); 32 | 33 | return support; 34 | 35 | }); 36 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/parseHTML.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "./var/rsingleTag", 4 | "../manipulation" // buildFragment 5 | ], function( jQuery, rsingleTag ) { 6 | 7 | // data: string of html 8 | // context (optional): If specified, the fragment will be created in this context, defaults to document 9 | // keepScripts (optional): If true, will include scripts passed in the html string 10 | jQuery.parseHTML = function( data, context, keepScripts ) { 11 | if ( !data || typeof data !== "string" ) { 12 | return null; 13 | } 14 | if ( typeof context === "boolean" ) { 15 | keepScripts = context; 16 | context = false; 17 | } 18 | context = context || document; 19 | 20 | var parsed = rsingleTag.exec( data ), 21 | scripts = !keepScripts && []; 22 | 23 | // Single tag 24 | if ( parsed ) { 25 | return [ context.createElement( parsed[1] ) ]; 26 | } 27 | 28 | parsed = jQuery.buildFragment( [ data ], context, scripts ); 29 | 30 | if ( scripts && scripts.length ) { 31 | jQuery( scripts ).remove(); 32 | } 33 | 34 | return jQuery.merge( [], parsed.childNodes ); 35 | }; 36 | 37 | return jQuery.parseHTML; 38 | 39 | }); 40 | -------------------------------------------------------------------------------- /bower_components/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // Match a standalone tag 3 | return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); 4 | }); 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | 3 | function addGetHookIf( conditionFn, hookFn ) { 4 | // Define the hook, we'll check on the first run if it's really needed. 5 | return { 6 | get: function() { 7 | if ( conditionFn() ) { 8 | // Hook not needed (or it's not possible to use it due to missing dependency), 9 | // remove it. 10 | // Since there are no other hooks for marginRight, remove the whole object. 11 | delete this.get; 12 | return; 13 | } 14 | 15 | // Hook needed; redefine it so that the support test is not executed again. 16 | 17 | return (this.get = hookFn).apply( this, arguments ); 18 | } 19 | }; 20 | } 21 | 22 | return addGetHookIf; 23 | 24 | }); 25 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | jQuery.expr.filters.hidden = function( elem ) { 7 | // Support: Opera <= 12.12 8 | // Opera reports offsetWidths and offsetHeights less than zero on some elements 9 | return elem.offsetWidth <= 0 && elem.offsetHeight <= 0; 10 | }; 11 | jQuery.expr.filters.visible = function( elem ) { 12 | return !jQuery.expr.filters.hidden( elem ); 13 | }; 14 | 15 | }); 16 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/swap.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // A method for quickly swapping in/out CSS properties to get correct calculations. 6 | jQuery.swap = function( elem, options, callback, args ) { 7 | var ret, name, 8 | old = {}; 9 | 10 | // Remember the old values, and insert the new ones 11 | for ( name in options ) { 12 | old[ name ] = elem.style[ name ]; 13 | elem.style[ name ] = options[ name ]; 14 | } 15 | 16 | ret = callback.apply( elem, args || [] ); 17 | 18 | // Revert the old values 19 | for ( name in options ) { 20 | elem.style[ name ] = old[ name ]; 21 | } 22 | 23 | return ret; 24 | }; 25 | 26 | return jQuery.swap; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return [ "Top", "Right", "Bottom", "Left" ]; 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return function( elem ) { 3 | return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); 4 | }; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/isHidden.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core", 3 | "../../selector" 4 | // css is assumed 5 | ], function( jQuery ) { 6 | 7 | return function( elem, el ) { 8 | // isHidden might be called from jQuery#filter function; 9 | // in that case, element will be second argument 10 | elem = el || elem; 11 | return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); 12 | }; 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/rmargin.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/^margin/); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/accepts.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | jQuery.acceptData = function( owner ) { 9 | // Accepts only: 10 | // - Node 11 | // - Node.ELEMENT_NODE 12 | // - Node.DOCUMENT_NODE 13 | // - Object 14 | // - Any 15 | /* jshint -W018 */ 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | return jQuery.acceptData; 20 | }); 21 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/data_priv.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/data/var/data_user.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./traversing" 4 | ], function( jQuery ) { 5 | 6 | // The number of elements contained in the matched element set 7 | jQuery.fn.size = function() { 8 | return this.length; 9 | }; 10 | 11 | jQuery.fn.andSelf = jQuery.fn.addBack; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | jQuery.expr.filters.animated = function( elem ) { 8 | return jQuery.grep(jQuery.timers, function( fn ) { 9 | return elem === fn.elem; 10 | }).length; 11 | }; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + 7 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 8 | "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { 9 | 10 | // Handle event binding 11 | jQuery.fn[ name ] = function( data, fn ) { 12 | return arguments.length > 0 ? 13 | this.on( name, null, data, fn ) : 14 | this.trigger( name ); 15 | }; 16 | }); 17 | 18 | jQuery.fn.extend({ 19 | hover: function( fnOver, fnOut ) { 20 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 21 | }, 22 | 23 | bind: function( types, data, fn ) { 24 | return this.on( types, null, data, fn ); 25 | }, 26 | unbind: function( types, fn ) { 27 | return this.off( types, null, fn ); 28 | }, 29 | 30 | delegate: function( selector, types, data, fn ) { 31 | return this.on( types, selector, data, fn ); 32 | }, 33 | undelegate: function( selector, types, fn ) { 34 | // ( namespace ) or ( selector, types [, fn] ) 35 | return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); 36 | } 37 | }); 38 | 39 | }); 40 | -------------------------------------------------------------------------------- /bower_components/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | support.focusinBubbles = "onfocusin" in window; 6 | 7 | return support; 8 | 9 | }); 10 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports/amd.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Register as a named AMD module, since jQuery can be concatenated with other 6 | // files that may use define, but not via a proper concatenation script that 7 | // understands anonymous AMD modules. A named AMD is safest and most robust 8 | // way to register. Lowercase jquery is used because AMD module names are 9 | // derived from file names, and jQuery is normally delivered in a lowercase 10 | // file name. Do this after creating the global so that if an AMD module wants 11 | // to call noConflict to hide this version of jQuery, it will work. 12 | 13 | // Note that for maximum portability, libraries that are not jQuery should 14 | // declare themselves as anonymous modules, and avoid setting a global if an 15 | // AMD loader is present. jQuery is a special case. For more information, see 16 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 17 | 18 | if ( typeof define === "function" && define.amd ) { 19 | define( "jquery", [], function() { 20 | return jQuery; 21 | }); 22 | } 23 | 24 | }); 25 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../var/strundefined" 4 | ], function( jQuery, strundefined ) { 5 | 6 | var 7 | // Map over jQuery in case of overwrite 8 | _jQuery = window.jQuery, 9 | 10 | // Map over the $ in case of overwrite 11 | _$ = window.$; 12 | 13 | jQuery.noConflict = function( deep ) { 14 | if ( window.$ === jQuery ) { 15 | window.$ = _$; 16 | } 17 | 18 | if ( deep && window.jQuery === jQuery ) { 19 | window.jQuery = _jQuery; 20 | } 21 | 22 | return jQuery; 23 | }; 24 | 25 | // Expose jQuery and $ identifiers, even in 26 | // AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 27 | // and CommonJS for browser emulators (#13566) 28 | if ( typeof noGlobal === strundefined ) { 29 | window.jQuery = window.$ = jQuery; 30 | } 31 | 32 | }); 33 | -------------------------------------------------------------------------------- /bower_components/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./core/ready", 8 | "./data", 9 | "./queue", 10 | "./queue/delay", 11 | "./attributes", 12 | "./event", 13 | "./event/alias", 14 | "./manipulation", 15 | "./manipulation/_evalUrl", 16 | "./wrap", 17 | "./css", 18 | "./css/hiddenVisibleSelectors", 19 | "./serialize", 20 | "./ajax", 21 | "./ajax/xhr", 22 | "./ajax/script", 23 | "./ajax/jsonp", 24 | "./ajax/load", 25 | "./effects", 26 | "./effects/animatedSelector", 27 | "./offset", 28 | "./dimensions", 29 | "./deprecated", 30 | "./exports/amd", 31 | "./exports/global" 32 | ], function( jQuery ) { 33 | 34 | return jQuery; 35 | 36 | }); 37 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | jQuery._evalUrl = function( url ) { 6 | return jQuery.ajax({ 7 | url: url, 8 | type: "GET", 9 | dataType: "script", 10 | async: false, 11 | global: false, 12 | "throws": true 13 | }); 14 | }; 15 | 16 | return jQuery._evalUrl; 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/support.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | (function() { 6 | var fragment = document.createDocumentFragment(), 7 | div = fragment.appendChild( document.createElement( "div" ) ), 8 | input = document.createElement( "input" ); 9 | 10 | // #11217 - WebKit loses check when the name is after the checked attribute 11 | // Support: Windows Web Apps (WWA) 12 | // `name` and `type` need .setAttribute for WWA 13 | input.setAttribute( "type", "radio" ); 14 | input.setAttribute( "checked", "checked" ); 15 | input.setAttribute( "name", "t" ); 16 | 17 | div.appendChild( input ); 18 | 19 | // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 20 | // old WebKit doesn't clone checked state correctly in fragments 21 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 22 | 23 | // Make sure textarea (and checkbox) defaultValue is properly cloned 24 | // Support: IE9-IE11+ 25 | div.innerHTML = ""; 26 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 27 | })(); 28 | 29 | return support; 30 | 31 | }); 32 | -------------------------------------------------------------------------------- /bower_components/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/^(?:checkbox|radio)$/i); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | })); 2 | -------------------------------------------------------------------------------- /bower_components/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | // Based off of the plugin by Clint Helfers, with permission. 8 | // http://blindsignals.com/index.php/2009/07/jquery-delay/ 9 | jQuery.fn.delay = function( time, type ) { 10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 11 | type = type || "fx"; 12 | 13 | return this.queue( type, function( next, hooks ) { 14 | var timeout = setTimeout( next, time ); 15 | hooks.stop = function() { 16 | clearTimeout( timeout ); 17 | }; 18 | }); 19 | }; 20 | 21 | return jQuery.fn.delay; 22 | }); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./core", 3 | "sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | jQuery.find = Sizzle; 7 | jQuery.expr = Sizzle.selectors; 8 | jQuery.expr[":"] = jQuery.expr.pseudos; 9 | jQuery.unique = Sizzle.uniqueSort; 10 | jQuery.text = Sizzle.getText; 11 | jQuery.isXMLDoc = Sizzle.isXML; 12 | jQuery.contains = Sizzle.contains; 13 | 14 | }); 15 | -------------------------------------------------------------------------------- /bower_components/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define([ "./selector-sizzle" ]); 2 | -------------------------------------------------------------------------------- /bower_components/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | return jQuery.expr.match.needsContext; 6 | }); 7 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return []; 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // [[Class]] -> type pairs 3 | return {}; 4 | }); 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.concat; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.hasOwnProperty; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.indexOf; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.push; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/rnotwhite.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return (/\S+/g); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.slice; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/strundefined.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | return typeof undefined; 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define(function() { 2 | // All support tests are defined in their respective modules. 3 | return {}; 4 | }); 5 | -------------------------------------------------------------------------------- /bower_components/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.toString; 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/leaflet-providers/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet-providers", 3 | "version": "1.0.10", 4 | "homepage": "https://github.com/leaflet-extras/leaflet-providers", 5 | "description": "An extension to Leaflet that contains configurations for various free tile providers.", 6 | "main": "leaflet-providers.js", 7 | "keywords": [ 8 | "leaflet", 9 | "stamen", 10 | "osm" 11 | ], 12 | "license": "BSD-2-Clause", 13 | "ignore": [ 14 | "**/.*", 15 | "node_modules", 16 | "bower_components", 17 | "test", 18 | "tests", 19 | "preview", 20 | "*.html" 21 | ], 22 | "_release": "1.0.10", 23 | "_resolution": { 24 | "type": "version", 25 | "tag": "1.0.10", 26 | "commit": "c9581898d21a61cff06fbd23a51fa1e163b511ee" 27 | }, 28 | "_source": "git://github.com/leaflet-extras/leaflet-providers.git", 29 | "_target": "~1.0.10", 30 | "_originalSource": "leaflet-providers", 31 | "_direct": true 32 | } -------------------------------------------------------------------------------- /bower_components/leaflet-providers/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | So you want to add a layer? 2 | ======= 3 | 4 | Yay! go add it to the leaflet-providers.js as long as it follows the following 5 | rules: 6 | 7 | - Don't violate a providers TOS (if it exists, include a link to it) 8 | - Don't pre-populate api keys with working keys. 9 | - It should be a basic tile source, no exteral libraries etc. 10 | - The owner hasn't asked us to remove it (hasn't happened yet) -------------------------------------------------------------------------------- /bower_components/leaflet-providers/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet-providers", 3 | "version": "1.0.10", 4 | "homepage": "https://github.com/leaflet-extras/leaflet-providers", 5 | "description": "An extension to Leaflet that contains configurations for various free tile providers.", 6 | "main": "leaflet-providers.js", 7 | "keywords": [ 8 | "leaflet", 9 | "stamen", 10 | "osm" 11 | ], 12 | "license": "BSD-2-Clause", 13 | "ignore": [ 14 | "**/.*", 15 | "node_modules", 16 | "bower_components", 17 | "test", 18 | "tests", 19 | "preview", 20 | "*.html" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /bower_components/leaflet-providers/license.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Leaflet Providers contributors 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 7 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | _THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE._ -------------------------------------------------------------------------------- /bower_components/leaflet-providers/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet-providers", 3 | "version": "1.0.10", 4 | "description": "An extension to Leaflet that contains configurations for various free tile providers.", 5 | "main": "leaflet-providers.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/leaflet-extras/leaflet-providers.git" 9 | }, 10 | "scripts": { 11 | "test": "jshint leaflet-providers.js preview/*.js", 12 | "min": "uglifyjs leaflet-providers.js -mc -o leaflet-providers.min.js", 13 | "release": "mversion patch -m" 14 | }, 15 | "license": "BSD-2-Clause", 16 | "bugs": { 17 | "url": "https://github.com/leaflet-extras/leaflet-providers/issues" 18 | }, 19 | "devDependencies": { 20 | "jshint": "~2.1.11", 21 | "mversion": "^1.3.0", 22 | "uglify-js": "^2.4.15" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/leaflet.heat/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet.heat", 3 | "homepage": "https://github.com/Leaflet/Leaflet.heat", 4 | "_release": "627ede7c11", 5 | "_resolution": { 6 | "type": "branch", 7 | "branch": "gh-pages", 8 | "commit": "627ede7c11bbe43a3a8b94a5be0d0745cac71e64" 9 | }, 10 | "_source": "git@github.com:Leaflet/Leaflet.heat.git", 11 | "_target": "gh-pages", 12 | "_originalSource": "git@github.com:Leaflet/Leaflet.heat.git" 13 | } -------------------------------------------------------------------------------- /bower_components/leaflet.heat/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet.heat", 3 | "version": "0.1.3", 4 | "description": "A tiny and fast Leaflet heatmap plugin.", 5 | "homepage": "https://github.com/Leaflet/Leaflet.heat", 6 | "keywords": [ 7 | "heatmap", 8 | "canvas", 9 | "visualization", 10 | "gis", 11 | "leaflet", 12 | "plugin" 13 | ], 14 | "author": "Vladimir Agafonkin", 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/Leaflet/Leaflet.heat.git" 18 | }, 19 | "main": "dist/leaflet-heat.js", 20 | "devDependencies": { 21 | "simpleheat": "~0.2.0", 22 | "uglify-js": "~2.4.15" 23 | }, 24 | "scripts": { 25 | "test": "jshint src", 26 | "prepublish": "uglifyjs node_modules/simpleheat/simpleheat.js src/HeatLayer.js -c -m --comments /Vladimir/ -o dist/leaflet-heat.js" 27 | }, 28 | "jshintConfig": { 29 | "quotmark": "single", 30 | "globals": { 31 | "L": true, 32 | "simpleheat": true 33 | }, 34 | "trailing": true, 35 | "camelcase": true, 36 | "curly": true, 37 | "eqeqeq": true, 38 | "noempty": true, 39 | "nonbsp": true, 40 | "undef": true, 41 | "unused": true, 42 | "browser": true, 43 | "trailing": true 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet.markercluster", 3 | "homepage": "https://github.com/Leaflet/Leaflet.markercluster", 4 | "version": "0.4.0", 5 | "_release": "0.4.0", 6 | "_resolution": { 7 | "type": "version", 8 | "tag": "v0.4.0", 9 | "commit": "20cf8edd0dfc51ace1db1eee0cf34cf0533a2fb9" 10 | }, 11 | "_source": "git://github.com/Leaflet/Leaflet.markercluster.git", 12 | "_target": "~0.4.0", 13 | "_originalSource": "leaflet.markercluster", 14 | "_direct": true 15 | } -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/.gitignore: -------------------------------------------------------------------------------- 1 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) 2 | bin 3 | obj 4 | 5 | # mstest test results 6 | TestResults 7 | node_modules 8 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/Jakefile.js: -------------------------------------------------------------------------------- 1 | /* 2 | Leaflet.markercluster building, testing and linting scripts. 3 | 4 | To use, install Node, then run the following commands in the project root: 5 | 6 | npm install -g jake 7 | npm install 8 | 9 | To check the code for errors and build Leaflet from source, run "jake". 10 | To run the tests, run "jake test". 11 | 12 | For a custom build, open build/build.html in the browser and follow the instructions. 13 | */ 14 | 15 | var build = require('./build/build.js'); 16 | 17 | desc('Check Leaflet.markercluster source for errors with JSHint'); 18 | task('lint', build.lint); 19 | 20 | desc('Combine and compress Leaflet.markercluster source files'); 21 | task('build', ['lint'], build.build); 22 | 23 | desc('Run PhantomJS tests'); 24 | task('test', ['lint'], build.test); 25 | 26 | task('default', ['build']); -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/MIT-LICENCE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2012 David Leaver 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/build/deps.js: -------------------------------------------------------------------------------- 1 | var deps = { 2 | 3 | Core: { 4 | src: ['MarkerClusterGroup.js', 5 | 'MarkerCluster.js', 6 | 'DistanceGrid.js'], 7 | desc: 'The core of the library.' 8 | }, 9 | 10 | QuickHull: { 11 | src: ['MarkerCluster.QuickHull.js'], 12 | desc: 'ConvexHull generation. Used to show the area outline of the markers within a cluster.', 13 | heading: 'QuickHull' 14 | }, 15 | 16 | Spiderfier: { 17 | src: ['MarkerCluster.Spiderfier.js'], 18 | desc: 'Provides the ability to show all of the child markers of a cluster.', 19 | heading: 'Spiderfier' 20 | } 21 | }; 22 | 23 | if (typeof exports !== 'undefined') { 24 | exports.deps = deps; 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/build/hintrc.js: -------------------------------------------------------------------------------- 1 | exports.config = { 2 | 3 | // environment 4 | "browser": true, 5 | "node": true, 6 | "predef": ['L', 'define'], 7 | "strict": false, 8 | 9 | // code style 10 | "bitwise": true, 11 | "camelcase": true, 12 | "curly": true, 13 | "eqeqeq": true, 14 | "forin": false, 15 | "immed": true, 16 | "latedef": true, 17 | "newcap": true, 18 | "noarg": true, 19 | "noempty": true, 20 | "nonew": true, 21 | "undef": true, 22 | "unused": true, 23 | //"quotmark": "single", 24 | 25 | // whitespace 26 | "indent": 4, 27 | "trailing": true, 28 | "white": true, 29 | "smarttabs": true, 30 | //"maxlen": 120 31 | 32 | // code simplicity - not enforced but nice to check from time to time 33 | // "maxstatements": 20, 34 | // "maxcomplexity": 5 35 | // "maxparams": 4, 36 | // "maxdepth": 4 37 | }; 38 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/dist/MarkerCluster.css: -------------------------------------------------------------------------------- 1 | .leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow { 2 | -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in; 3 | -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in; 4 | -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in; 5 | transition: transform 0.3s ease-out, opacity 0.3s ease-in; 6 | } 7 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/example/geojson-sample.js: -------------------------------------------------------------------------------- 1 | var geojsonSample = { 2 | "type": "FeatureCollection", 3 | "features": [ 4 | { 5 | "type": "Feature", 6 | "geometry": { 7 | "type": "Point", 8 | "coordinates": [102.0, 0.5] 9 | }, 10 | "properties": { 11 | "prop0": "value0", 12 | "color": "blue" 13 | } 14 | }, 15 | 16 | { 17 | "type": "Feature", 18 | "geometry": { 19 | "type": "LineString", 20 | "coordinates": [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]] 21 | }, 22 | "properties": { 23 | "color": "red", 24 | "prop1": 0.0 25 | } 26 | }, 27 | 28 | { 29 | "type": "Feature", 30 | "geometry": { 31 | "type": "Polygon", 32 | "coordinates": [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]] 33 | }, 34 | "properties": { 35 | "color": "green", 36 | "prop1": { 37 | "this": "that" 38 | } 39 | } 40 | }, 41 | 42 | { 43 | "type": "Feature", 44 | "geometry": { 45 | "type": "MultiPolygon", 46 | "coordinates": [[[[100.0, 1.5], [100.5, 1.5], [100.5, 2.0], [100.0, 2.0], [100.0, 1.5]]], [[[100.5, 2.0], [100.5, 2.5], [101.0, 2.5], [101.0, 2.0], [100.5, 2.0]]]] 47 | }, 48 | "properties": { 49 | "color": "purple" 50 | } 51 | } 52 | ] 53 | }; 54 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/example/mobile.css: -------------------------------------------------------------------------------- 1 | html, body, #map { 2 | margin: 0; 3 | padding: 0; 4 | width: 100%; 5 | height: 100%; 6 | } -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/example/screen.css: -------------------------------------------------------------------------------- 1 | #map { 2 | width: 800px; 3 | height: 600px; 4 | border: 1px solid #ccc; 5 | } -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet.markercluster", 3 | "version": "0.4.0", 4 | "description": "Provides Beautiful Animated Marker Clustering functionality for Leaflet", 5 | "dependencies": { 6 | "leaflet": "~0.7.1" 7 | }, 8 | "devDependencies": { 9 | "jshint": "~2.1.3", 10 | "mocha": "~1.10.0", 11 | "karma": "~0.8.5", 12 | "uglify-js": "~2.3.6", 13 | "jake": "~0.5.16" 14 | }, 15 | "main": "dist/leaflet.markercluster.js", 16 | "scripts": { 17 | "test": "jake test", 18 | "prepublish": "jake" 19 | }, 20 | "keywords": ["gis", "map"] 21 | } -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/spec/after.js: -------------------------------------------------------------------------------- 1 | // put after Leaflet files as imagePath can't be detected in a PhantomJS env 2 | L.Icon.Default.imagePath = "../dist/images"; 3 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/spec/suites/DistanceGridSpec.js: -------------------------------------------------------------------------------- 1 | describe('distance grid', function () { 2 | it('addObject', function () { 3 | var grid = new L.DistanceGrid(100), 4 | obj = {}; 5 | 6 | expect(grid.addObject(obj, { x: 0, y: 0 })).to.eql(undefined); 7 | expect(grid.removeObject(obj, { x: 0, y: 0 })).to.eql(true); 8 | }); 9 | 10 | it('eachObject', function (done) { 11 | var grid = new L.DistanceGrid(100), 12 | obj = {}; 13 | 14 | expect(grid.addObject(obj, { x: 0, y: 0 })).to.eql(undefined); 15 | 16 | grid.eachObject(function(o) { 17 | expect(o).to.eql(obj); 18 | done(); 19 | }); 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/spec/suites/LeafletSpec.js: -------------------------------------------------------------------------------- 1 | describe('L#noConflict', function() { 2 | it('restores the previous L value and returns Leaflet namespace', function(){ 3 | 4 | expect(L.version).to.be.ok(); 5 | }); 6 | }); 7 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/spec/suites/QuickHullSpec.js: -------------------------------------------------------------------------------- 1 | describe('quickhull', function () { 2 | describe('getDistant', function () { 3 | it('zero distance', function () { 4 | var bl = [ 5 | { lat: 0, lng: 0 }, 6 | { lat: 0, lng: 10 } 7 | ]; 8 | expect(L.QuickHull.getDistant({ lat: 0, lng: 0 }, bl)).to.eql(0); 9 | }); 10 | it('non-zero distance', function () { 11 | var bl = [ 12 | { lat: 0, lng: 0 }, 13 | { lat: 0, lng: 10 } 14 | ]; 15 | expect(L.QuickHull.getDistant({ lat: 5, lng: 5 }, bl)).to.eql(-50); 16 | }); 17 | }); 18 | 19 | describe('getConvexHull', function () { 20 | it('creates a hull', function () { 21 | expect(L.QuickHull.getConvexHull([ 22 | { lat: 0, lng: 0 }, 23 | { lat: 10, lng: 0 }, 24 | { lat: 10, lng: 10 }, 25 | { lat: 0, lng: 10 }, 26 | { lat: 5, lng: 5 }, 27 | ])).to.eql([ 28 | { lat: 0, lng: 10 }, 29 | { lat: 10, lng: 10 }, 30 | { lat: 10, lng: 0 }, 31 | { lat: 0, lng: 0 }, 32 | ]); 33 | }); 34 | }); 35 | }); 36 | -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/spec/suites/SpecHelper.js: -------------------------------------------------------------------------------- 1 | function noSpecs() { 2 | xit('has no specs'); 3 | } 4 | 5 | if (!Array.prototype.map) { 6 | Array.prototype.map = function(fun /*, thisp */) { 7 | "use strict"; 8 | 9 | if (this === void 0 || this === null) 10 | throw new TypeError(); 11 | 12 | var t = Object(this); 13 | var len = t.length >>> 0; 14 | if (typeof fun !== "function") 15 | throw new TypeError(); 16 | 17 | var res = new Array(len); 18 | var thisp = arguments[1]; 19 | for (var i = 0; i < len; i++) { 20 | if (i in t) 21 | res[i] = fun.call(thisp, t[i], i, t); 22 | } 23 | 24 | return res; 25 | }; 26 | } -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/spec/suites/onRemoveSpec.js: -------------------------------------------------------------------------------- 1 | describe('onRemove', function () { 2 | var map, div; 3 | beforeEach(function () { 4 | div = document.createElement('div'); 5 | div.style.width = '200px'; 6 | div.style.height = '200px'; 7 | document.body.appendChild(div); 8 | 9 | map = L.map(div, { maxZoom: 18 }); 10 | 11 | map.fitBounds(new L.LatLngBounds([ 12 | [1, 1], 13 | [2, 2] 14 | ])); 15 | }); 16 | afterEach(function () { 17 | document.body.removeChild(div); 18 | }); 19 | 20 | 21 | it('removes the shown coverage polygon', function () { 22 | 23 | var group = new L.MarkerClusterGroup(); 24 | var marker = new L.Marker([1.5, 1.5]); 25 | var marker2 = new L.Marker([1.5, 1.5]); 26 | var marker3 = new L.Marker([1.5, 1.5]); 27 | 28 | group.addLayer(marker); 29 | group.addLayer(marker2); 30 | group.addLayer(marker3); 31 | 32 | map.addLayer(group); 33 | 34 | group._showCoverage({ layer: group._topClusterLevel }); 35 | 36 | expect(group._shownPolygon).to.not.be(null); 37 | 38 | map.removeLayer(group); 39 | 40 | expect(group._shownPolygon).to.be(null); 41 | }); 42 | }); -------------------------------------------------------------------------------- /bower_components/leaflet.markercluster/src/copyright.js: -------------------------------------------------------------------------------- 1 | /* 2 | Leaflet.markercluster, Provides Beautiful Animated Marker Clustering functionality for Leaflet, a JS library for interactive maps. 3 | https://github.com/Leaflet/Leaflet.markercluster 4 | (c) 2012-2013, Dave Leaver, smartrak 5 | */ 6 | -------------------------------------------------------------------------------- /bower_components/leaflet/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet", 3 | "version": "0.7.3", 4 | "description": "JavaScript library for mobile-friendly interactive maps", 5 | "main": [ 6 | "dist/leaflet.js", 7 | "dist/leaflet.css", 8 | "dist/leaflet-src.js", 9 | "dist/images/layers-2x.png", 10 | "dist/images/layers.png", 11 | "dist/images/marker-icon-2x.png", 12 | "dist/images/marker-icon.png", 13 | "dist/images/marker-shadow.png" 14 | ], 15 | "ignore": [ 16 | ".*", 17 | "CHANGELOG.json", 18 | "FAQ.md", 19 | "debug", 20 | "spec", 21 | "src", 22 | "build" 23 | ], 24 | "homepage": "https://github.com/Leaflet/Leaflet", 25 | "_release": "0.7.3", 26 | "_resolution": { 27 | "type": "version", 28 | "tag": "v0.7.3", 29 | "commit": "8a5fdfc6e3db2807b8f0dd617474e4ab2949142b" 30 | }, 31 | "_source": "git://github.com/Leaflet/Leaflet.git", 32 | "_target": "~0.7.3", 33 | "_originalSource": "leaflet", 34 | "_direct": true 35 | } -------------------------------------------------------------------------------- /bower_components/leaflet/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet", 3 | "version": "0.7.3", 4 | "description": "JavaScript library for mobile-friendly interactive maps", 5 | "main": [ 6 | "dist/leaflet.js", 7 | "dist/leaflet.css", 8 | "dist/leaflet-src.js", 9 | "dist/images/layers-2x.png", 10 | "dist/images/layers.png", 11 | "dist/images/marker-icon-2x.png", 12 | "dist/images/marker-icon.png", 13 | "dist/images/marker-shadow.png" 14 | ], 15 | "ignore": [ 16 | ".*", 17 | "CHANGELOG.json", 18 | "FAQ.md", 19 | "debug", 20 | "spec", 21 | "src", 22 | "build" 23 | ] 24 | } -------------------------------------------------------------------------------- /bower_components/leaflet/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet", 3 | "version": "0.7.3", 4 | "description": "JavaScript library for mobile-friendly interactive maps", 5 | "scripts": [ 6 | "dist/leaflet.js", 7 | "dist/leaflet-src.js" 8 | ], 9 | "images": [ 10 | "dist/images/layers-2x.png", 11 | "dist/images/layers.png", 12 | "dist/images/marker-icon-2x.png", 13 | "dist/images/marker-icon.png", 14 | "dist/images/marker-shadow.png" 15 | ], 16 | "styles": [ 17 | "dist/leaflet.css" 18 | ], 19 | "main": "dist/leaflet-src.js" 20 | } -------------------------------------------------------------------------------- /bower_components/leaflet/dist/images/layers-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/leaflet/dist/images/layers-2x.png -------------------------------------------------------------------------------- /bower_components/leaflet/dist/images/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/leaflet/dist/images/layers.png -------------------------------------------------------------------------------- /bower_components/leaflet/dist/images/marker-icon-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/leaflet/dist/images/marker-icon-2x.png -------------------------------------------------------------------------------- /bower_components/leaflet/dist/images/marker-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/leaflet/dist/images/marker-icon.png -------------------------------------------------------------------------------- /bower_components/leaflet/dist/images/marker-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benjmyers/ratmap/d11d092c4fd735e06887457320f07a1451b2d062/bower_components/leaflet/dist/images/marker-shadow.png -------------------------------------------------------------------------------- /bower_components/leaflet/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet", 3 | "version": "0.7.3", 4 | "description": "JavaScript library for mobile-friendly interactive maps", 5 | "devDependencies": { 6 | "jake": "~0.7.4", 7 | "jshint": "~2.3.0", 8 | "uglify-js": "~2.4.3", 9 | "mocha": "~1.14.0", 10 | "happen": "~0.1.3", 11 | "karma": "~0.12.0", 12 | "karma-mocha": "~0.1.1", 13 | "karma-coverage": "~0.2.0", 14 | "karma-phantomjs-launcher": "^0.1.2", 15 | "karma-chrome-launcher": "^0.1.2", 16 | "tin": "^0.4.0", 17 | "copyfiles": "0.0.1" 18 | }, 19 | "main": "dist/leaflet-src.js", 20 | "scripts": { 21 | "test": "jake test", 22 | "prepublish": "jake build", 23 | "publish": "./build/publish.sh" 24 | }, 25 | "repository": { 26 | "type": "git", 27 | "url": "git://github.com/Leaflet/Leaflet.git" 28 | }, 29 | "keywords": [ 30 | "gis", 31 | "map" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /bower_components/modernizr/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "modernizr", 3 | "homepage": "https://github.com/Modernizr/Modernizr", 4 | "version": "2.8.3", 5 | "_release": "2.8.3", 6 | "_resolution": { 7 | "type": "version", 8 | "tag": "v2.8.3", 9 | "commit": "d6bb30c0f12ebb3ddd01e90b0bf435e1c34e6f11" 10 | }, 11 | "_source": "git://github.com/Modernizr/Modernizr.git", 12 | "_target": "2.8.x", 13 | "_originalSource": "modernizr" 14 | } -------------------------------------------------------------------------------- /bower_components/modernizr/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | -------------------------------------------------------------------------------- /bower_components/modernizr/.gitignore: -------------------------------------------------------------------------------- 1 | modernizr.min.js 2 | .DS_Store -------------------------------------------------------------------------------- /bower_components/modernizr/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | before_script: 5 | - npm install grunt 6 | script: grunt travis --verbose -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/a-download.js: -------------------------------------------------------------------------------- 1 | 2 | // a[download] attribute 3 | // When used on an , this attribute signifies that the resource it 4 | // points to should be downloaded by the browser rather than navigating to it. 5 | // http://developers.whatwg.org/links.html#downloading-resources 6 | // By Addy Osmani 7 | 8 | Modernizr.addTest('adownload', 'download' in document.createElement('a')); 9 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/audio-audiodata-api.js: -------------------------------------------------------------------------------- 1 | // Mozilla Audio Data API 2 | // https://wiki.mozilla.org/Audio_Data_API 3 | // by Addy Osmani 4 | Modernizr.addTest('audiodata', !!(window.Audio)); 5 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/audio-webaudio-api.js: -------------------------------------------------------------------------------- 1 | // Web Audio API 2 | // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html 3 | // By Addy Osmani 4 | Modernizr.addTest('webaudio', !!(window.webkitAudioContext || window.AudioContext)); 5 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/battery-api.js: -------------------------------------------------------------------------------- 1 | 2 | // Battery API 3 | // https://developer.mozilla.org/en/DOM/window.navigator.mozBattery 4 | // By: Paul Sayre 5 | 6 | Modernizr.addTest('battery', 7 | !!Modernizr.prefixed('battery', navigator) 8 | ); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/battery-level.js: -------------------------------------------------------------------------------- 1 | 2 | // Low Battery Level 3 | // Enable a developer to remove CPU intensive CSS/JS when battery is low 4 | // developer.mozilla.org/en/DOM/window.navigator.mozBattery 5 | // By: Paul Sayre 6 | 7 | Modernizr.addTest('lowbattery', function () { 8 | var minLevel = 0.20, 9 | battery = Modernizr.prefixed('battery', navigator); 10 | return !!(battery && !battery.charging && battery.level <= minLevel); 11 | }); 12 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/blob-constructor.js: -------------------------------------------------------------------------------- 1 | // Blob constructor 2 | // http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob 3 | 4 | Modernizr.addTest('blobconstructor', function () { 5 | try { 6 | return !!new Blob(); 7 | } catch (e) { 8 | return false; 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/canvas-todataurl-type.js: -------------------------------------------------------------------------------- 1 | // canvas.toDataURL type support 2 | // http://www.w3.org/TR/html5/the-canvas-element.html#dom-canvas-todataurl 3 | 4 | // This test is asynchronous. Watch out. 5 | 6 | (function () { 7 | 8 | if (!Modernizr.canvas) { 9 | return false; 10 | } 11 | 12 | var image = new Image(), 13 | canvas = document.createElement('canvas'), 14 | ctx = canvas.getContext('2d'); 15 | 16 | image.onload = function() { 17 | ctx.drawImage(image, 0, 0); 18 | 19 | Modernizr.addTest('todataurljpeg', function() { 20 | return canvas.toDataURL('image/jpeg').indexOf('data:image/jpeg') === 0; 21 | }); 22 | Modernizr.addTest('todataurlwebp', function() { 23 | return canvas.toDataURL('image/webp').indexOf('data:image/webp') === 0; 24 | }); 25 | }; 26 | 27 | image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg=='; 28 | }()); 29 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/contenteditable.js: -------------------------------------------------------------------------------- 1 | // contentEditable 2 | // http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#contenteditable 3 | 4 | // this is known to false positive in some mobile browsers 5 | // here is a whitelist of verified working browsers: 6 | // https://github.com/NielsLeenheer/html5test/blob/549f6eac866aa861d9649a0707ff2c0157895706/scripts/engine.js#L2083 7 | 8 | Modernizr.addTest('contenteditable', 9 | 'contentEditable' in document.documentElement); 10 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/contentsecuritypolicy.js: -------------------------------------------------------------------------------- 1 | // Test for (experimental) Content Security Policy 1.1 support. 2 | // 3 | // This feature is still quite experimental, but is available now in Chrome 22. 4 | // If the `SecurityPolicy` property is available, you can be sure the browser 5 | // supports CSP. If it's not available, the browser still might support an 6 | // earlier version of the CSP spec. 7 | // 8 | // Editor's Draft: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html 9 | 10 | Modernizr.addTest('contentsecuritypolicy', ('securityPolicy' in document || 'SecurityPolicy' in document)); 11 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/contextmenu.js: -------------------------------------------------------------------------------- 1 | // http://www.w3.org/TR/html5/interactive-elements.html#context-menus 2 | // Demo at http://thewebrocks.com/demos/context-menu/ 3 | Modernizr.addTest( 4 | 'contextmenu', 5 | ('contextMenu' in document.documentElement && 'HTMLMenuItemElement' in window) 6 | ); 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/cookies.js: -------------------------------------------------------------------------------- 1 | 2 | // by tauren 3 | // https://github.com/Modernizr/Modernizr/issues/191 4 | 5 | Modernizr.addTest('cookies', function () { 6 | // Quick test if browser has cookieEnabled host property 7 | if (navigator.cookieEnabled) return true; 8 | // Create cookie 9 | document.cookie = "cookietest=1"; 10 | var ret = document.cookie.indexOf("cookietest=") != -1; 11 | // Delete cookie 12 | document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"; 13 | return ret; 14 | }); 15 | 16 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/cors.js: -------------------------------------------------------------------------------- 1 | // cors 2 | // By Theodoor van Donge 3 | Modernizr.addTest('cors', !!(window.XMLHttpRequest && 'withCredentials' in new XMLHttpRequest())); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js: -------------------------------------------------------------------------------- 1 | /* 2 | https://developer.mozilla.org/en/CSS/background-position 3 | http://www.w3.org/TR/css3-background/#background-position 4 | 5 | Example: http://jsfiddle.net/Blink/bBXvt/ 6 | */ 7 | 8 | (function() { 9 | 10 | var elem = document.createElement('a'), 11 | eStyle = elem.style, 12 | val = "right 10px bottom 10px"; 13 | 14 | Modernizr.addTest('bgpositionshorthand', function(){ 15 | eStyle.cssText = "background-position: " + val + ";"; 16 | return (eStyle.backgroundPosition === val); 17 | }); 18 | 19 | }()); 20 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-backgroundposition-xy.js: -------------------------------------------------------------------------------- 1 | /* 2 | Allan Lei https://github.com/allanlei 3 | 4 | Check adapted from https://github.com/brandonaaron/jquery-cssHooks/blob/master/bgpos.js 5 | 6 | Test: http://jsfiddle.net/allanlei/R8AYS/ 7 | */ 8 | Modernizr.addTest('bgpositionxy', function() { 9 | return Modernizr.testStyles('#modernizr {background-position: 3px 5px;}', function(elem) { 10 | var cssStyleDeclaration = window.getComputedStyle ? getComputedStyle(elem, null) : elem.currentStyle; 11 | var xSupport = (cssStyleDeclaration.backgroundPositionX == '3px') || (cssStyleDeclaration['background-position-x'] == '3px'); 12 | var ySupport = (cssStyleDeclaration.backgroundPositionY == '5px') || (cssStyleDeclaration['background-position-y'] == '5px'); 13 | return xSupport && ySupport; 14 | }); 15 | }); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-backgroundrepeat.js: -------------------------------------------------------------------------------- 1 | // developer.mozilla.org/en/CSS/background-repeat 2 | 3 | // test page: jsbin.com/uzesun/ 4 | // http://jsfiddle.net/ryanseddon/yMLTQ/6/ 5 | 6 | (function(){ 7 | 8 | 9 | function getBgRepeatValue(elem){ 10 | return (window.getComputedStyle ? 11 | getComputedStyle(elem, null).getPropertyValue('background') : 12 | elem.currentStyle['background']); 13 | } 14 | 15 | 16 | Modernizr.testStyles(' #modernizr { background-repeat: round; } ', function(elem, rule){ 17 | 18 | Modernizr.addTest('bgrepeatround', getBgRepeatValue(elem) == 'round'); 19 | 20 | }); 21 | 22 | 23 | 24 | Modernizr.testStyles(' #modernizr { background-repeat: space; } ', function(elem, rule){ 25 | 26 | Modernizr.addTest('bgrepeatspace', getBgRepeatValue(elem) == 'space'); 27 | 28 | }); 29 | 30 | 31 | })(); 32 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-backgroundsizecover.js: -------------------------------------------------------------------------------- 1 | 2 | // developer.mozilla.org/en/CSS/background-size 3 | 4 | Modernizr.testStyles( '#modernizr{background-size:cover}', function( elem ) { 5 | var style = window.getComputedStyle ? 6 | window.getComputedStyle( elem, null ) 7 | : elem.currentStyle; 8 | 9 | Modernizr.addTest( 'bgsizecover', style.backgroundSize == 'cover' ); 10 | }); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-boxsizing.js: -------------------------------------------------------------------------------- 1 | 2 | // developer.mozilla.org/en/CSS/box-sizing 3 | // github.com/Modernizr/Modernizr/issues/248 4 | 5 | Modernizr.addTest("boxsizing",function(){ 6 | return Modernizr.testAllProps("boxSizing") && (document.documentMode === undefined || document.documentMode > 7); 7 | }); 8 | 9 | 10 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-calc.js: -------------------------------------------------------------------------------- 1 | // Method of allowing calculated values for length units, i.e. width: calc(100%-3em) http://caniuse.com/#search=calc 2 | // By @calvein 3 | 4 | Modernizr.addTest('csscalc', function() { 5 | var prop = 'width:'; 6 | var value = 'calc(10px);'; 7 | var el = document.createElement('div'); 8 | 9 | el.style.cssText = prop + Modernizr._prefixes.join(value + prop); 10 | 11 | return !!el.style.length; 12 | }); 13 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-cubicbezierrange.js: -------------------------------------------------------------------------------- 1 | // cubic-bezier values can't be > 1 for Webkit until bug #45761 (https://bugs.webkit.org/show_bug.cgi?id=45761) is fixed 2 | // By @calvein 3 | 4 | Modernizr.addTest('cubicbezierrange', function() { 5 | var el = document.createElement('div'); 6 | el.style.cssText = Modernizr._prefixes.join('transition-timing-function' + ':cubic-bezier(1,0,0,1.1); '); 7 | return !!el.style.length; 8 | }); 9 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-displayrunin.js: -------------------------------------------------------------------------------- 1 | 2 | // by alanhogan 3 | 4 | // https://github.com/Modernizr/Modernizr/issues/198 5 | // http://css-tricks.com/596-run-in/ 6 | 7 | 8 | 9 | Modernizr.testStyles(' #modernizr { display: run-in; } ', function(elem, rule){ 10 | 11 | var ret = (window.getComputedStyle ? 12 | getComputedStyle(elem, null).getPropertyValue('display') : 13 | elem.currentStyle['display']); 14 | 15 | Modernizr.addTest('display-runin', ret == 'run-in'); 16 | 17 | }); 18 | 19 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-displaytable.js: -------------------------------------------------------------------------------- 1 | // display: table and table-cell test. (both are tested under one name "table-cell" ) 2 | // By @scottjehl 3 | 4 | // all additional table display values are here: http://pastebin.com/Gk9PeVaQ though Scott has seen some IE false positives with that sort of weak detection. 5 | // more testing neccessary perhaps. 6 | 7 | Modernizr.addTest( "display-table",function(){ 8 | 9 | var doc = window.document, 10 | docElem = doc.documentElement, 11 | parent = doc.createElement( "div" ), 12 | child = doc.createElement( "div" ), 13 | childb = doc.createElement( "div" ), 14 | ret; 15 | 16 | parent.style.cssText = "display: table"; 17 | child.style.cssText = childb.style.cssText = "display: table-cell; padding: 10px"; 18 | 19 | parent.appendChild( child ); 20 | parent.appendChild( childb ); 21 | docElem.insertBefore( parent, docElem.firstChild ); 22 | 23 | ret = child.offsetLeft < childb.offsetLeft; 24 | docElem.removeChild(parent); 25 | return ret; 26 | }); 27 | 28 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-filters.js: -------------------------------------------------------------------------------- 1 | // https://github.com/Modernizr/Modernizr/issues/615 2 | // documentMode is needed for false positives in oldIE, please see issue above 3 | Modernizr.addTest('cssfilters', function() { 4 | var el = document.createElement('div'); 5 | el.style.cssText = Modernizr._prefixes.join('filter' + ':blur(2px); '); 6 | return !!el.style.length && ((document.documentMode === undefined || document.documentMode > 9)); 7 | }); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-lastchild.js: -------------------------------------------------------------------------------- 1 | // last-child pseudo selector 2 | // https://github.com/Modernizr/Modernizr/pull/304 3 | 4 | 5 | Modernizr.addTest('lastchild', function(){ 6 | 7 | return Modernizr.testStyles("#modernizr div {width:100px} #modernizr :last-child{width:200px;display:block}", function (elem) { 8 | return elem.lastChild.offsetWidth > elem.firstChild.offsetWidth; 9 | }, 2); 10 | 11 | }); 12 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-mask.js: -------------------------------------------------------------------------------- 1 | // this tests passes for webkit's proprietary `-webkit-mask` feature 2 | // www.webkit.org/blog/181/css-masks/ 3 | // developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Masks/Masks.html 4 | 5 | // it does not pass mozilla's implementation of `mask` for SVG 6 | 7 | // developer.mozilla.org/en/CSS/mask 8 | // developer.mozilla.org/En/Applying_SVG_effects_to_HTML_content 9 | 10 | // Can combine with clippaths for awesomeness: http://generic.cx/for/webkit/test.html 11 | 12 | Modernizr.addTest('cssmask', Modernizr.testAllProps('maskRepeat')); 13 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-mediaqueries.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | Modernizr.addTest('mediaqueries', Modernizr.mq('only all')); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-objectfit.js: -------------------------------------------------------------------------------- 1 | 2 | // dev.opera.com/articles/view/css3-object-fit-object-position/ 3 | 4 | Modernizr.addTest('object-fit', 5 | !!Modernizr.prefixed('objectFit') 6 | ); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-overflow-scrolling.js: -------------------------------------------------------------------------------- 1 | 2 | // johanbrook.com/browsers/native-momentum-scrolling-ios-5/ 3 | // introduced in iOS5b2. Possible API may change... 4 | 5 | Modernizr.addTest("overflowscrolling",function(){ 6 | return Modernizr.testAllProps("overflowScrolling"); 7 | }); 8 | 9 | 10 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-pointerevents.js: -------------------------------------------------------------------------------- 1 | 2 | // developer.mozilla.org/en/CSS/pointer-events 3 | 4 | // Test and project pages: 5 | // ausi.github.com/Feature-detection-technique-for-pointer-events/ 6 | // github.com/ausi/Feature-detection-technique-for-pointer-events/wiki 7 | // github.com/Modernizr/Modernizr/issues/80 8 | 9 | 10 | Modernizr.addTest('pointerevents', function(){ 11 | var element = document.createElement('x'), 12 | documentElement = document.documentElement, 13 | getComputedStyle = window.getComputedStyle, 14 | supports; 15 | if(!('pointerEvents' in element.style)){ 16 | return false; 17 | } 18 | element.style.pointerEvents = 'auto'; 19 | element.style.pointerEvents = 'x'; 20 | documentElement.appendChild(element); 21 | supports = getComputedStyle && 22 | getComputedStyle(element, '').pointerEvents === 'auto'; 23 | documentElement.removeChild(element); 24 | return !!supports; 25 | }); 26 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-positionsticky.js: -------------------------------------------------------------------------------- 1 | // Sticky positioning - constrains an element to be positioned inside the 2 | // intersection of its container box, and the viewport. 3 | Modernizr.addTest('csspositionsticky', function () { 4 | 5 | var prop = 'position:'; 6 | var value = 'sticky'; 7 | var el = document.createElement('modernizr'); 8 | var mStyle = el.style; 9 | 10 | mStyle.cssText = prop + Modernizr._prefixes.join(value + ';' + prop).slice(0, -prop.length); 11 | 12 | return mStyle.position.indexOf(value) !== -1; 13 | }); 14 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-remunit.js: -------------------------------------------------------------------------------- 1 | 2 | // test by github.com/nsfmc 3 | 4 | // "The 'rem' unit ('root em') is relative to the computed 5 | // value of the 'font-size' value of the root element." 6 | // http://www.w3.org/TR/css3-values/#relative0 7 | // you can test by checking if the prop was ditched 8 | 9 | // http://snook.ca/archives/html_and_css/font-size-with-rem 10 | 11 | Modernizr.addTest('cssremunit', function(){ 12 | 13 | var div = document.createElement('div'); 14 | try { 15 | div.style.fontSize = '3rem'; 16 | } catch(er){} 17 | return (/rem/).test(div.style.fontSize); 18 | 19 | }); 20 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-resize.js: -------------------------------------------------------------------------------- 1 | 2 | // Test for CSS 3 UI "resize" property 3 | // http://www.w3.org/TR/css3-ui/#resize 4 | // https://developer.mozilla.org/en/CSS/resize 5 | 6 | Modernizr.addTest('cssresize', Modernizr.testAllProps('resize')); 7 | 8 | 9 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-scrollbars.js: -------------------------------------------------------------------------------- 1 | // Stylable scrollbars detection 2 | Modernizr.addTest('cssscrollbar', function() { 3 | 4 | var bool, 5 | 6 | styles = "#modernizr{overflow: scroll; width: 40px }#" + 7 | Modernizr._prefixes 8 | .join("scrollbar{width:0px}"+' #modernizr::') 9 | .split('#') 10 | .slice(1) 11 | .join('#') + "scrollbar{width:0px}"; 12 | 13 | Modernizr.testStyles(styles, function(node) { 14 | bool = 'scrollWidth' in node && node.scrollWidth == 40; 15 | }); 16 | 17 | return bool; 18 | 19 | }); 20 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-shapes.js: -------------------------------------------------------------------------------- 1 | 2 | // http://html.adobe.com/webplatform/layout/shapes 3 | 4 | Modernizr.addTest('shapes', Modernizr.testAllProps('shapeOutside', 'content-box', true)); 5 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-subpixelfont.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Test for SubPixel Font Rendering 3 | * (to infer if GDI or DirectWrite is used on Windows) 4 | * Authors: @derSchepp, @gerritvanaaken, @rodneyrehm, @yatil, @ryanseddon 5 | * Web: https://github.com/gerritvanaaken/subpixeldetect 6 | */ 7 | Modernizr.addTest('subpixelfont', function() { 8 | var bool, 9 | styles = "#modernizr{position: absolute; top: -10em; visibility:hidden; font: normal 10px arial;}#subpixel{float: left; font-size: 33.3333%;}"; 10 | 11 | // see https://github.com/Modernizr/Modernizr/blob/master/modernizr.js#L97 12 | Modernizr.testStyles(styles, function(elem) { 13 | var subpixel = elem.firstChild; 14 | 15 | subpixel.innerHTML = 'This is a text written in Arial'; 16 | 17 | bool = window.getComputedStyle ? 18 | window.getComputedStyle(subpixel, null).getPropertyValue("width") !== '44px' 19 | : false; 20 | }, 1, ['subpixel']); 21 | 22 | return bool; 23 | }); 24 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-supports.js: -------------------------------------------------------------------------------- 1 | // http://dev.w3.org/csswg/css3-conditional/#at-supports 2 | // github.com/Modernizr/Modernizr/issues/648 3 | // Relies on the fact that a browser vendor should expose the CSSSupportsRule interface 4 | // http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface 5 | 6 | Modernizr.addTest("supports","CSSSupportsRule" in window); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-userselect.js: -------------------------------------------------------------------------------- 1 | // -moz-user-select:none test. 2 | 3 | // by ryan seddon 4 | //https://github.com/Modernizr/Modernizr/issues/250 5 | 6 | 7 | Modernizr.addTest("userselect",function(){ 8 | return Modernizr.testAllProps("user-select"); 9 | }); 10 | 11 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-vhunit.js: -------------------------------------------------------------------------------- 1 | // https://github.com/Modernizr/Modernizr/issues/572 2 | // Similar to http://jsfiddle.net/FWeinb/etnYC/ 3 | Modernizr.addTest('cssvhunit', function() { 4 | var bool; 5 | Modernizr.testStyles("#modernizr { height: 50vh; }", function(elem, rule) { 6 | var height = parseInt(window.innerHeight/2,10), 7 | compStyle = parseInt((window.getComputedStyle ? 8 | getComputedStyle(elem, null) : 9 | elem.currentStyle)["height"],10); 10 | 11 | bool= (compStyle == height); 12 | }); 13 | return bool; 14 | }); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-vmaxunit.js: -------------------------------------------------------------------------------- 1 | // https://github.com/Modernizr/Modernizr/issues/572 2 | // http://jsfiddle.net/glsee/JDsWQ/4/ 3 | Modernizr.addTest('cssvmaxunit', function(){ 4 | var bool; 5 | Modernizr.testStyles("#modernizr { width: 50vmax; }", function(elem, rule) { 6 | var one_vw = window.innerWidth/100, 7 | one_vh = window.innerHeight/100, 8 | compWidth = parseInt((window.getComputedStyle ? 9 | getComputedStyle(elem, null) : 10 | elem.currentStyle)['width'],10); 11 | bool = ( parseInt(Math.max(one_vw, one_vh)*50,10) == compWidth ); 12 | }); 13 | return bool; 14 | }); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-vminunit.js: -------------------------------------------------------------------------------- 1 | // https://github.com/Modernizr/Modernizr/issues/572 2 | // http://jsfiddle.net/glsee/JRmdq/8/ 3 | Modernizr.addTest('cssvminunit', function(){ 4 | var bool; 5 | Modernizr.testStyles("#modernizr { width: 50vmin; }", function(elem, rule) { 6 | var one_vw = window.innerWidth/100, 7 | one_vh = window.innerHeight/100, 8 | compWidth = parseInt((window.getComputedStyle ? 9 | getComputedStyle(elem, null) : 10 | elem.currentStyle)['width'],10); 11 | bool = ( parseInt(Math.min(one_vw, one_vh)*50,10) == compWidth ); 12 | }); 13 | return bool; 14 | }); 15 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/css-vwunit.js: -------------------------------------------------------------------------------- 1 | // https://github.com/Modernizr/Modernizr/issues/572 2 | // http://jsfiddle.net/FWeinb/etnYC/ 3 | Modernizr.addTest('cssvwunit', function(){ 4 | var bool; 5 | Modernizr.testStyles("#modernizr { width: 50vw; }", function(elem, rule) { 6 | var width = parseInt(window.innerWidth/2,10), 7 | compStyle = parseInt((window.getComputedStyle ? 8 | getComputedStyle(elem, null) : 9 | elem.currentStyle)["width"],10); 10 | 11 | bool= (compStyle == width); 12 | }); 13 | return bool; 14 | }); 15 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/custom-protocol-handler.js: -------------------------------------------------------------------------------- 1 | /* 2 | Custom protocol handler support 3 | http://developers.whatwg.org/timers.html#custom-handlers 4 | 5 | Added by @benschwarz 6 | */ 7 | 8 | Modernizr.addTest('customprotocolhandler', function () { 9 | return !!navigator.registerProtocolHandler; 10 | }); 11 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/dart.js: -------------------------------------------------------------------------------- 1 | // Dart 2 | // By Theodoor van Donge 3 | 4 | // https://chromiumcodereview.appspot.com/9232049/ 5 | 6 | Modernizr.addTest('dart', !!Modernizr.prefixed('startDart', navigator)); 7 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/dataview-api.js: -------------------------------------------------------------------------------- 1 | // DataView 2 | // https://developer.mozilla.org/en/JavaScript_typed_arrays/DataView 3 | // By Addy Osmani 4 | Modernizr.addTest('dataview', (typeof DataView !== 'undefined' && 'getFloat64' in DataView.prototype)); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/dom-classlist.js: -------------------------------------------------------------------------------- 1 | // classList 2 | // https://developer.mozilla.org/en/DOM/element.classList 3 | // By Addy Osmani 4 | Modernizr.addTest('classlist', 'classList' in document.documentElement); 5 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/dom-createElement-attrs.js: -------------------------------------------------------------------------------- 1 | // by james a rosen. 2 | // https://github.com/Modernizr/Modernizr/issues/258 3 | 4 | Modernizr.addTest('createelement-attrs', function() { 5 | try { 6 | return document.createElement("").getAttribute('name') == 'test'; 7 | } catch(e) { 8 | return false; 9 | } 10 | }); 11 | 12 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/dom-dataset.js: -------------------------------------------------------------------------------- 1 | 2 | // dataset API for data-* attributes 3 | // test by @phiggins42 4 | 5 | Modernizr.addTest('dataset', function(){ 6 | var n = document.createElement("div"); 7 | n.setAttribute("data-a-b", "c"); 8 | return !!(n.dataset && n.dataset.aB === "c"); 9 | }); 10 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/dom-microdata.js: -------------------------------------------------------------------------------- 1 | // Microdata support 2 | // http://www.w3.org/TR/html5/microdata.html 3 | // By Addy Osmani 4 | Modernizr.addTest('microdata', !!(document['getItems'])); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/elem-datalist.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | // lol. we already have a test for datalist built in! silly you. 4 | 5 | 6 | // Helpful links while you're here, though.. 7 | 8 | // http://css-tricks.com/15346-relevant-dropdowns-polyfill-for-datalist/ 9 | // http://miketaylr.com/test/datalist.html 10 | // http://miketaylr.com/code/datalist.html 11 | 12 | Modernizr.addTest('datalistelem', Modernizr.input.list ); 13 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/elem-details.js: -------------------------------------------------------------------------------- 1 | // By @mathias, based on http://mths.be/axh 2 | Modernizr.addTest('details', function() { 3 | var doc = document, 4 | el = doc.createElement('details'), 5 | fake, 6 | root, 7 | diff; 8 | if (!('open' in el)) { // return early if possible; thanks @aFarkas! 9 | return false; 10 | } 11 | root = doc.body || (function() { 12 | var de = doc.documentElement; 13 | fake = true; 14 | return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild); 15 | }()); 16 | el.innerHTML = 'ab'; 17 | el.style.display = 'block'; 18 | root.appendChild(el); 19 | diff = el.offsetHeight; 20 | el.open = true; 21 | diff = diff != el.offsetHeight; 22 | root.removeChild(el); 23 | fake && root.parentNode.removeChild(root); 24 | return diff; 25 | }); -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/elem-output.js: -------------------------------------------------------------------------------- 1 | // 2 | // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-output-element 3 | // by Addy Osmani 4 | Modernizr.addTest('outputelem', 'value' in document.createElement('output')); 5 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/elem-progress-meter.js: -------------------------------------------------------------------------------- 1 | //By Stefan Wallin 2 | 3 | //tests for progressbar-support. All browsers that don't support progressbar returns undefined =) 4 | Modernizr.addTest("progressbar",function(){ 5 | return document.createElement('progress').max !== undefined; 6 | }); 7 | 8 | //tests for meter-support. All browsers that don't support meters returns undefined =) 9 | Modernizr.addTest("meter",function(){ 10 | return document.createElement('meter').max !== undefined; 11 | }); 12 | -------------------------------------------------------------------------------- /bower_components/modernizr/feature-detects/elem-time.js: -------------------------------------------------------------------------------- 1 | //