You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/03/31 19:22:02 UTC

[50/53] [partial] adding bower

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 7d613c8..2bd4952 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,7 +14,7 @@ Icon
 .Trashes
 /portal/performance/
 /portal/node_modules/
-/portal/dist/appsvc-ui*/**
+/portal/dist/appsvc-ui.*.zip
 /portal/dist-cov/
 /portal/bower_components
 /portal/.idea

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/bower.json
----------------------------------------------------------------------
diff --git a/bower.json b/bower.json
new file mode 100644
index 0000000..c34480f
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,39 @@
+{
+  "name": "usergrid-portal",
+  "version": "2.0.2",
+  "main":"portal/dist/",
+  "ignore": [
+    "sdks/",
+    "stack/",
+    "ugc/",
+    "portal/.jshintrc",
+    "**/*.txt",
+    "**/*.md",
+    "portal/js/",
+    "portal/css/",
+    "portal/img/",
+    "portal/archive/",
+    "portal/bower_components/",
+    "portal/scripts/",
+    "portal/sdk/",
+    "portal/tests/",
+    "portal/test/",
+    "portal/*.*",
+    "portal/LICENSE",
+    "bower.json",
+    "LICENSE",
+    "NOTICE",
+    "**/.gitignore"
+  ],
+  "dependencies": {
+    "angularitics": "~0.8.7",
+    "apigee-sdk": "~2.0.8",
+    "angular-intro.js": "*",
+    "sizzle":"1.10.16"
+  },
+  "devDependencies": {},
+  "keywords": [
+    "apigee",
+    "usergrid"
+  ]
+}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/config.js
----------------------------------------------------------------------
diff --git a/portal/config.js b/portal/config.js
index a92690a..12f1fe5 100644
--- a/portal/config.js
+++ b/portal/config.js
@@ -2,7 +2,7 @@ var Usergrid = Usergrid || {};
 
 //Google Analytics
 var _gaq = _gaq || [];
-_gaq.push(['_setAccount', 'UA-4084158-4']);
+_gaq.push(['_setAccount', 'yours']);
 try{
     (function(document) {
         if(!document){

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui.2.0.1.zip
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui.2.0.1.zip b/portal/dist/appsvc-ui.2.0.1.zip
deleted file mode 100644
index c983bb8..0000000
Binary files a/portal/dist/appsvc-ui.2.0.1.zip and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/LICENSE
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/LICENSE b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/LICENSE
new file mode 100644
index 0000000..b99ad76
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2013 mendhak
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/angular-intro.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/angular-intro.js b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/angular-intro.js
new file mode 100644
index 0000000..258f3f1
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/angular-intro.js
@@ -0,0 +1,60 @@
+var ngIntroDirective = angular.module('angular-intro',[]);
+
+// TODO: Use isolate scope, but requires angular 1.2: http://plnkr.co/edit/a2c14O?p=preview
+// See: http://stackoverflow.com/questions/18796023/in-a-directive-handle-calls-to-a-user-defined-method-name
+
+ngIntroDirective.directive('ngIntroOptions', ['$timeout', function ($timeout) {
+
+   return {
+       restrict: 'A',
+
+       link: function(scope, element, attrs){
+
+           scope[attrs.ngIntroMethod] = function(step) {
+                           
+               if(typeof(step)=="string"){
+                   var intro = introJs(step);
+               }
+               else{
+                   var intro = introJs();
+               }
+
+               intro.setOptions(scope.$eval(attrs.ngIntroOptions));
+
+               if(attrs.ngIntroOncomplete){
+                   intro.oncomplete(scope.$eval(attrs.ngIntroOncomplete));
+               }
+
+               if(attrs.ngIntroOnexit){
+                   intro.onexit(scope.$eval(attrs.ngIntroOnexit));
+               }
+
+               if(attrs.ngIntroOnchange){
+                   intro.onchange(scope.$eval(attrs.ngIntroOnchange));
+               }
+
+               if(attrs.ngIntroOnbeforechange){
+                   intro.onbeforechange(scope.$eval(attrs.ngIntroOnbeforechange));
+               }
+
+               if(attrs.ngIntroOnafterchange){
+                   intro.onafterchange(scope.$eval(attrs.ngIntroOnafterchange));
+               }
+
+               if(typeof(step)=="number"){
+                   intro.goToStep(step).start();
+               }
+               else{
+                   intro.start();
+               }
+
+           };
+
+
+           if(attrs.ngIntroAutostart == "true"){
+               //Only runs when DOM is ready
+               $timeout(function() {scope[attrs.ngIntroMethod]();}, 0);
+           }
+       }
+   }
+}]);

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/bower.json
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/bower.json b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/bower.json
new file mode 100644
index 0000000..b6e1f9f
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/bower.json
@@ -0,0 +1,20 @@
+{
+  "name": "mendhak/angular-intro.js",
+  "version": "1.0.2",
+  "main": "angular-intro.js",
+  "description": "Angular directive to wrap intro.js",
+  "license": "MIT",
+  "ignore": [
+    ".jshintrc",
+    "**/*.txt",
+    "**/*.html",
+    "README.md",
+    "assets"
+  ],
+  "dependencies": {
+    "intro.js": "0.7.1"
+  },
+  "devDependencies": {
+
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/build/angular-intro.min.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/build/angular-intro.min.js b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/build/angular-intro.min.js
new file mode 100644
index 0000000..01eae0e
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/build/angular-intro.min.js
@@ -0,0 +1 @@
+var ngIntroDirective=angular.module("angular-intro",[]);ngIntroDirective.directive("ngIntroOptions",["$timeout",function(e){return{restrict:"A",link:function(t,n,r){t[r.ngIntroMethod]=function(e){if(typeof e=="string"){var n=introJs(e)}else{var n=introJs()}n.setOptions(t.$eval(r.ngIntroOptions));if(r.ngIntroOncomplete){n.oncomplete(t[r.ngIntroOncomplete])}if(r.ngIntroOnexit){n.onexit(t[r.ngIntroOnexit])}if(r.ngIntroOnchange){n.onchange(t[r.ngIntroOnchange])}if(r.ngIntroOnbeforechange){n.onbeforechange(t[r.ngIntroOnbeforechange])}if(r.ngIntroOnafterchange){n.onafterchange(t[r.ngIntroOnafterchange])}if(typeof e=="number"){n.goToStep(e).start()}else{n.start()}};if(r.ngIntroAutostart=="true"){e(function(){t[r.ngIntroMethod]()},0)}}}}])

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/example/app.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/example/app.js b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/example/app.js
new file mode 100644
index 0000000..a93d878
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/example/app.js
@@ -0,0 +1,51 @@
+var app = angular.module('myApp', ['angular-intro']);
+
+app.controller('MyController', function ($scope) {
+
+    $scope.CompletedEvent = function () { console.log("Completed Event called"); };
+
+    $scope.ExitEvent = function () { console.log("Exit Event called");};
+
+    $scope.ChangeEvent = function () { console.log("Change Event called"); };
+
+    $scope.BeforeChangeEvent = function () { console.log("Before Change Event called"); };
+
+    $scope.AfterChangeEvent = function () { console.log("After Change Event called"); };
+
+    $scope.IntroOptions = {
+                   steps:[
+                       {
+                           element: document.querySelector('#step1'),
+                           intro: "This is the first tooltip."
+                       },
+                       {
+                           element: document.querySelectorAll('#step2')[0],
+                           intro: "<strong>You</strong> can also <em>include</em> HTML",
+                           position: 'right'
+                       },
+                       {
+                           element: '#step3',
+                           intro: 'More features, more fun.',
+                           position: 'left'
+                       },
+                       {
+                           element: '#step4',
+                           intro: "Another step.",
+                           position: 'bottom'
+                       },
+                       {
+                           element: '#step5',
+                           intro: 'Get it, use it.'
+                       }
+                   ],
+                    showStepNumbers: false,
+                    exitOnOverlayClick: true,
+                    exitOnEsc:true,
+                    nextLabel: '<strong>NEXT!</strong>',
+                    prevLabel: '<span style="color:green">Previous</span>',
+                    skipLabel: 'Exit',
+                    doneLabel: 'Thanks'
+               };
+
+});
+

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/app.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/app.js b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/app.js
new file mode 100644
index 0000000..60262bd
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/app.js
@@ -0,0 +1,49 @@
+var app = angular.module('myApp', ['angular-intro']);
+
+app.controller('MyController', function ($scope) {
+
+    $scope.CompletedEvent = function () { console.log("Completed Event called"); };
+
+    $scope.ExitEvent = function () { console.log("Exit Event called");};
+
+    $scope.ChangeEvent = function () { console.log("Change Event called"); };
+
+    $scope.BeforeChangeEvent = function () { console.log("Before Change Event called"); };
+
+    $scope.IntroOptions = {
+                   steps:[
+                       {
+                           element: document.querySelector('#step1'),
+                           intro: "This is the first tooltip."
+                       },
+                       {
+                           element: document.querySelectorAll('#step2')[0],
+                           intro: "<strong>You</strong> can also <em>include</em> HTML",
+                           position: 'right'
+                       },
+                       {
+                           element: '#step3',
+                           intro: 'More features, more fun.',
+                           position: 'left'
+                       },
+                       {
+                           element: '#step4',
+                           intro: "Another step.",
+                           position: 'bottom'
+                       },
+                       {
+                           element: '#step5',
+                           intro: 'Get it, use it.'
+                       }
+                   ],
+                    showStepNumbers: false,
+                    exitOnOverlayClick: true,
+                    exitOnEsc:true,
+                    nextLabel: '<strong>NEXT!</strong>',
+                    prevLabel: '<span style="color:green">Previous</span>',
+                    skipLabel: 'Exit',
+                    doneLabel: 'Thanks'
+               };
+
+});
+

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/intro.min.js
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/intro.min.js b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/intro.min.js
new file mode 100644
index 0000000..196ec89
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/intro.min.js
@@ -0,0 +1,20 @@
+(function(h,f){"object"===typeof exports?f(exports):"function"===typeof define&&define.amd?define(["exports"],f):f(h)})(this,function(h){function f(a){this._targetElement=a;this._options={nextLabel:"Next &rarr;",prevLabel:"&larr; Back",skipLabel:"Skip",doneLabel:"Done",tooltipPosition:"bottom",tooltipClass:"",exitOnEsc:!0,exitOnOverlayClick:!0,showStepNumbers:!0}}function n(){"undefined"!==typeof this._introBeforeChangeCallback&&this._introBeforeChangeCallback.call(this,this._targetElement.element);
+"undefined"===typeof this._currentStep?this._currentStep=0:++this._currentStep;this._introItems.length<=this._currentStep?("function"===typeof this._introCompleteCallback&&this._introCompleteCallback.call(this),m.call(this,this._targetElement)):s.call(this,this._introItems[this._currentStep])}function t(){if(0===this._currentStep)return!1;"undefined"!==typeof this._introBeforeChangeCallback&&this._introBeforeChangeCallback.call(this,this._targetElement.element);s.call(this,this._introItems[--this._currentStep])}
+function m(a){var b=a.querySelector(".introjs-overlay");b.style.opacity=0;setTimeout(function(){b.parentNode&&b.parentNode.removeChild(b)},500);(a=a.querySelector(".introjs-helperLayer"))&&a.parentNode.removeChild(a);if(a=document.querySelector(".introjs-showElement"))a.className=a.className.replace(/introjs-[a-zA-Z]+/g,"").replace(/^\s+|\s+$/g,"");if((a=document.querySelectorAll(".introjs-fixParent"))&&0<a.length)for(var c=a.length-1;0<=c;c--)a[c].className=a[c].className.replace(/introjs-fixParent/g,
+"").replace(/^\s+|\s+$/g,"");window.removeEventListener?window.removeEventListener("keydown",this._onKeyDown,!0):document.detachEvent&&document.detachEvent("onkeydown",this._onKeyDown);this._currentStep=void 0}function u(a,b,c){b.style.top=null;b.style.right=null;b.style.bottom=null;b.style.left=null;if(this._introItems[this._currentStep]){var d="",d=this._introItems[this._currentStep],d="string"===typeof d.tooltipClass?d.tooltipClass:this._options.tooltipClass;b.className=("introjs-tooltip "+d).replace(/^\s+|\s+$/g,
+"");switch(this._introItems[this._currentStep].position){case "top":b.style.left="15px";b.style.top="-"+(l(b).height+10)+"px";c.className="introjs-arrow bottom";break;case "right":b.style.left=l(a).width+20+"px";c.className="introjs-arrow left";break;case "left":b.style.top="15px";b.style.right=l(a).width+20+"px";c.className="introjs-arrow right";break;default:b.style.bottom="-"+(l(b).height+10)+"px",c.className="introjs-arrow top"}}}function p(a){if(a&&this._introItems[this._currentStep]){var b=
+l(this._introItems[this._currentStep].element);a.setAttribute("style","width: "+(b.width+10)+"px; height:"+(b.height+10)+"px; top:"+(b.top-5)+"px;left: "+(b.left-5)+"px;")}}function s(a){var b;"undefined"!==typeof this._introChangeCallback&&this._introChangeCallback.call(this,a.element);var c=this,d=document.querySelector(".introjs-helperLayer");l(a.element);if(null!=d){var g=d.querySelector(".introjs-helperNumberLayer"),f=d.querySelector(".introjs-tooltiptext"),w=d.querySelector(".introjs-arrow"),
+q=d.querySelector(".introjs-tooltip"),e=d.querySelector(".introjs-skipbutton");b=d.querySelector(".introjs-prevbutton");var j=d.querySelector(".introjs-nextbutton");q.style.opacity=0;p.call(c,d);if((d=document.querySelectorAll(".introjs-fixParent"))&&0<d.length)for(var k=d.length-1;0<=k;k--)d[k].className=d[k].className.replace(/introjs-fixParent/g,"").replace(/^\s+|\s+$/g,"");d=document.querySelector(".introjs-showElement");d.className=d.className.replace(/introjs-[a-zA-Z]+/g,"").replace(/^\s+|\s+$/g,
+"");c._lastShowElementTimer&&clearTimeout(c._lastShowElementTimer);c._lastShowElementTimer=setTimeout(function(){null!=g&&(g.innerHTML=a.step);f.innerHTML=a.intro;u.call(c,a.element,q,w);q.style.opacity=1},350)}else{e=document.createElement("div");d=document.createElement("div");k=document.createElement("div");e.className="introjs-helperLayer";p.call(c,e);this._targetElement.appendChild(e);d.className="introjs-arrow";k.innerHTML='<div class="introjs-tooltiptext">'+a.intro+'</div><div class="introjs-tooltipbuttons"></div>';
+this._options.showStepNumbers&&(b=document.createElement("span"),b.className="introjs-helperNumberLayer",b.innerHTML=a.step,e.appendChild(b));k.appendChild(d);e.appendChild(k);j=document.createElement("a");j.onclick=function(){c._introItems.length-1!=c._currentStep&&n.call(c)};j.href="javascript:void(0);";j.innerHTML=this._options.nextLabel;b=document.createElement("a");b.onclick=function(){0!=c._currentStep&&t.call(c)};b.href="javascript:void(0);";b.innerHTML=this._options.prevLabel;e=document.createElement("a");
+e.className="introjs-button introjs-skipbutton";e.href="javascript:void(0);";e.innerHTML=this._options.skipLabel;e.onclick=function(){c._introItems.length-1==c._currentStep&&"function"===typeof c._introCompleteCallback&&c._introCompleteCallback.call(c);c._introItems.length-1!=c._currentStep&&"function"===typeof c._introExitCallback&&c._introExitCallback.call(c);m.call(c,c._targetElement)};var h=k.querySelector(".introjs-tooltipbuttons");h.appendChild(e);1<this._introItems.length&&(h.appendChild(b),
+h.appendChild(j));u.call(c,a.element,k,d)}0==this._currentStep?(b.className="introjs-button introjs-prevbutton introjs-disabled",j.className="introjs-button introjs-nextbutton",e.innerHTML=this._options.skipLabel):this._introItems.length-1==this._currentStep?(e.innerHTML=this._options.doneLabel,b.className="introjs-button introjs-prevbutton",j.className="introjs-button introjs-nextbutton introjs-disabled"):(b.className="introjs-button introjs-prevbutton",j.className="introjs-button introjs-nextbutton",
+e.innerHTML=this._options.skipLabel);j.focus();a.element.className+=" introjs-showElement";e=v(a.element,"position");"absolute"!==e&&"relative"!==e&&(a.element.className+=" introjs-relativePosition");for(e=a.element.parentNode;null!=e&&"body"!==e.tagName.toLowerCase();)b=v(e,"z-index"),/[0-9]+/.test(b)&&(e.className+=" introjs-fixParent"),e=e.parentNode;e=a.element.getBoundingClientRect();0<=e.top&&0<=e.left&&e.bottom+80<=window.innerHeight&&e.right<=window.innerWidth||(b=a.element.getBoundingClientRect(),
+e=b.bottom-(b.bottom-b.top),j=b.bottom,b=void 0!=window.innerWidth?window.innerHeight:document.documentElement.clientHeight,b=j-b,0>e?window.scrollBy(0,e-30):window.scrollBy(0,b+100))}function v(a,b){var c="";a.currentStyle?c=a.currentStyle[b]:document.defaultView&&document.defaultView.getComputedStyle&&(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b));return c&&c.toLowerCase?c.toLowerCase():c}function x(a){var b=document.createElement("div"),c="",d=this;b.className="introjs-overlay";
+if("body"===a.tagName.toLowerCase())c+="top: 0;bottom: 0; left: 0;right: 0;position: fixed;",b.setAttribute("style",c);else{var g=l(a);g&&(c+="width: "+g.width+"px; height:"+g.height+"px; top:"+g.top+"px;left: "+g.left+"px;",b.setAttribute("style",c))}a.appendChild(b);b.onclick=function(){!0==d._options.exitOnOverlayClick&&m.call(d,a);void 0!=d._introExitCallback&&d._introExitCallback.call(d)};setTimeout(function(){c+="opacity: .6;";b.setAttribute("style",c)},10);return!0}function l(a){var b={};b.width=
+a.offsetWidth;b.height=a.offsetHeight;for(var c=0,d=0;a&&!isNaN(a.offsetLeft)&&!isNaN(a.offsetTop);)c+=a.offsetLeft,d+=a.offsetTop,a=a.offsetParent;b.top=d;b.left=c;return b}var r=function(a){if("object"===typeof a)return new f(a);if("string"===typeof a){if(a=document.querySelector(a))return new f(a);throw Error("There is no element with given selector.");}return new f(document.body)};r.version="0.5.0";r.fn=f.prototype={clone:function(){return new f(this)},setOption:function(a,b){this._options[a]=
+b;return this},setOptions:function(a){var b=this._options,c={},d;for(d in b)c[d]=b[d];for(d in a)c[d]=a[d];this._options=c;return this},start:function(){a:{var a=this._targetElement,b=[],c=this;if(this._options.steps)for(var d=[],g=0,d=this._options.steps.length;g<d;g++){var f=this._options.steps[g];f.step=g+1;"string"===typeof f.element&&(f.element=document.querySelector(f.element));b.push(f)}else{d=a.querySelectorAll("*[data-intro]");if(1>d.length)break a;g=0;for(f=d.length;g<f;g++){var h=d[g];
+b.push({element:h,intro:h.getAttribute("data-intro"),step:parseInt(h.getAttribute("data-step"),10),tooltipClass:h.getAttribute("data-tooltipClass"),position:h.getAttribute("data-position")||this._options.tooltipPosition})}}b.sort(function(a,c){return a.step-c.step});c._introItems=b;x.call(c,a)&&(n.call(c),a.querySelector(".introjs-skipbutton"),a.querySelector(".introjs-nextbutton"),c._onKeyDown=function(b){if(27===b.keyCode&&!0==c._options.exitOnEsc)m.call(c,a),void 0!=c._introExitCallback&&c._introExitCallback.call(c);
+else if(37===b.keyCode)t.call(c);else if(39===b.keyCode||13===b.keyCode)n.call(c),b.preventDefault?b.preventDefault():b.returnValue=!1},c._onResize=function(){p.call(c,document.querySelector(".introjs-helperLayer"))},window.addEventListener?(window.addEventListener("keydown",c._onKeyDown,!0),window.addEventListener("resize",c._onResize,!0)):document.attachEvent&&(document.attachEvent("onkeydown",c._onKeyDown),document.attachEvent("onresize",c._onResize)))}return this},goToStep:function(a){this._currentStep=
+a-2;"undefined"!==typeof this._introItems&&n.call(this);return this},exit:function(){m.call(this,this._targetElement)},refresh:function(){p.call(this,document.querySelector(".introjs-helperLayer"));return this},onbeforechange:function(a){if("function"===typeof a)this._introBeforeChangeCallback=a;else throw Error("Provided callback for onbeforechange was not a function");return this},onchange:function(a){if("function"===typeof a)this._introChangeCallback=a;else throw Error("Provided callback for onchange was not a function.");
+return this},oncomplete:function(a){if("function"===typeof a)this._introCompleteCallback=a;else throw Error("Provided callback for oncomplete was not a function.");return this},onexit:function(a){if("function"===typeof a)this._introExitCallback=a;else throw Error("Provided callback for onexit was not a function.");return this}};return h.introJs=r});

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/introjs.css
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/introjs.css b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/introjs.css
new file mode 100644
index 0000000..ba3e641
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular-intro.js/lib/introjs.css
@@ -0,0 +1,216 @@
+.introjs-overlay {
+  position: absolute;
+  z-index: 999999;
+  background-color: #000;
+  opacity: 0;
+  background: -moz-radial-gradient(center,ellipse cover,rgba(0,0,0,0.1) 0,rgba(0,0,0,0.5) 100%);
+  background: -webkit-gradient(radial,center center,0px,center center,100%,color-stop(0%,rgba(0,0,0,0.1)),color-stop(100%,rgba(0,0,0,0.5)));
+  background: -webkit-radial-gradient(center,ellipse cover,rgba(0,0,0,0.1) 0,rgba(0,0,0,0.5) 100%);
+  background: -o-radial-gradient(center,ellipse cover,rgba(0,0,0,0.1) 0,rgba(0,0,0,0.5) 100%);
+  background: -ms-radial-gradient(center,ellipse cover,rgba(0,0,0,0.1) 0,rgba(0,0,0,0.5) 100%);
+  background: radial-gradient(center,ellipse cover,rgba(0,0,0,0.1) 0,rgba(0,0,0,0.5) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#66000000',endColorstr='#e6000000',GradientType=1);
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+  filter: alpha(opacity=50);
+  -webkit-transition: all 0.3s ease-out;
+     -moz-transition: all 0.3s ease-out;
+      -ms-transition: all 0.3s ease-out;
+       -o-transition: all 0.3s ease-out;
+          transition: all 0.3s ease-out;
+}
+
+.introjs-fixParent {
+  z-index: auto !important;
+}
+
+.introjs-showElement {
+  z-index: 9999999 !important;
+}
+
+.introjs-relativePosition {
+  position: relative;
+}
+
+.introjs-helperLayer {
+  position: absolute;
+  z-index: 9999998;
+  background-color: #FFF;
+  background-color: rgba(255,255,255,.9);
+  border: 1px solid #777;
+  border: 1px solid rgba(0,0,0,.5);
+  border-radius: 4px;
+  box-shadow: 0 2px 15px rgba(0,0,0,.4);
+  -webkit-transition: all 0.3s ease-out;
+     -moz-transition: all 0.3s ease-out;
+      -ms-transition: all 0.3s ease-out;
+       -o-transition: all 0.3s ease-out;
+          transition: all 0.3s ease-out;
+}
+
+.introjs-helperNumberLayer {
+  position: absolute;
+  top: -16px;
+  left: -16px;
+  z-index: 9999999999 !important;
+  padding: 2px;
+  font-family: Arial, verdana, tahoma;
+  font-size: 13px;
+  font-weight: bold;
+  color: white;
+  text-align: center;
+  text-shadow: 1px 1px 1px rgba(0,0,0,.3);
+  background: #ff3019; /* Old browsers */
+  background: -webkit-linear-gradient(top, #ff3019 0%, #cf0404 100%); /* Chrome10+,Safari5.1+ */
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff3019), color-stop(100%, #cf0404)); /* Chrome,Safari4+ */
+  background:    -moz-linear-gradient(top, #ff3019 0%, #cf0404 100%); /* FF3.6+ */
+  background:     -ms-linear-gradient(top, #ff3019 0%, #cf0404 100%); /* IE10+ */
+  background:      -o-linear-gradient(top, #ff3019 0%, #cf0404 100%); /* Opera 11.10+ */
+  background:         linear-gradient(to bottom, #ff3019 0%, #cf0404 100%);  /* W3C */
+  width: 20px;
+  height:20px;
+  line-height: 20px;
+  border: 3px solid white;
+  border-radius: 50%;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3019', endColorstr='#cf0404', GradientType=0); /* IE6-9 */ 
+  filter: progid:DXImageTransform.Microsoft.Shadow(direction=135, strength=2, color=ff0000); /* IE10 text shadows */
+  box-shadow: 0 2px 5px rgba(0,0,0,.4);
+}
+
+.introjs-arrow {
+  border: 5px solid white;
+  content:'';
+  position: absolute;
+}
+.introjs-arrow.top {
+  top: -10px;
+  border-top-color:transparent;
+  border-right-color:transparent;
+  border-bottom-color:white;
+  border-left-color:transparent;
+}
+.introjs-arrow.right {
+  right: -10px;
+  top: 10px;
+  border-top-color:transparent;
+  border-right-color:transparent;
+  border-bottom-color:transparent;
+  border-left-color:white;
+}
+.introjs-arrow.bottom {
+  bottom: -10px;
+  border-top-color:white;
+  border-right-color:transparent;
+  border-bottom-color:transparent;
+  border-left-color:transparent;
+}
+.introjs-arrow.left {
+  left: -10px;
+  top: 10px;
+  border-top-color:transparent;
+  border-right-color:white;
+  border-bottom-color:transparent;
+  border-left-color:transparent;
+}
+
+.introjs-tooltip {
+  position: absolute;
+  padding: 10px;
+  background-color: white;
+  min-width: 200px;
+  max-width: 300px;
+  border-radius: 3px;
+  box-shadow: 0 1px 10px rgba(0,0,0,.4);
+  -webkit-transition: opacity 0.1s ease-out;
+     -moz-transition: opacity 0.1s ease-out;
+      -ms-transition: opacity 0.1s ease-out;
+       -o-transition: opacity 0.1s ease-out;
+          transition: opacity 0.1s ease-out;
+}
+
+.introjs-tooltipbuttons {
+  text-align: right;
+}
+
+/* 
+ Buttons style by http://nicolasgallagher.com/lab/css3-github-buttons/ 
+ Changed by Afshin Mehrabani
+*/
+.introjs-button {
+  position: relative;
+  overflow: visible;
+  display: inline-block;
+  padding: 0.3em 0.8em;
+  border: 1px solid #d4d4d4;
+  margin: 0;
+  text-decoration: none;
+  text-shadow: 1px 1px 0 #fff;
+  font: 11px/normal sans-serif;
+  color: #333;
+  white-space: nowrap;
+  cursor: pointer;
+  outline: none;
+  background-color: #ececec;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f4f4f4), to(#ececec));
+  background-image: -moz-linear-gradient(#f4f4f4, #ececec);
+  background-image: -o-linear-gradient(#f4f4f4, #ececec);
+  background-image: linear-gradient(#f4f4f4, #ececec);
+  -webkit-background-clip: padding;
+  -moz-background-clip: padding;
+  -o-background-clip: padding-box;
+  /*background-clip: padding-box;*/ /* commented out due to Opera 11.10 bug */
+  -webkit-border-radius: 0.2em;
+  -moz-border-radius: 0.2em;
+  border-radius: 0.2em;
+  /* IE hacks */
+  zoom: 1;
+  *display: inline;
+  margin-top: 10px;
+}
+
+.introjs-button:hover {
+  border-color: #bcbcbc;
+  text-decoration: none; 
+  box-shadow: 0px 1px 1px #e3e3e3;
+}
+
+.introjs-button:focus,
+.introjs-button:active {
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ececec), to(#f4f4f4));
+  background-image: -moz-linear-gradient(#ececec, #f4f4f4);
+  background-image: -o-linear-gradient(#ececec, #f4f4f4);
+  background-image: linear-gradient(#ececec, #f4f4f4);
+}
+
+/* overrides extra padding on button elements in Firefox */
+.introjs-button::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+
+.introjs-skipbutton {
+  margin-right: 5px;
+  color: #7a7a7a;
+}
+
+.introjs-prevbutton {
+  -webkit-border-radius: 0.2em 0 0 0.2em;
+  -moz-border-radius: 0.2em 0 0 0.2em;
+  border-radius: 0.2em 0 0 0.2em;
+  border-right: none;
+}
+
+.introjs-nextbutton {
+  -webkit-border-radius: 0 0.2em 0.2em 0;
+  -moz-border-radius: 0 0.2em 0.2em 0;
+  border-radius: 0 0.2em 0.2em 0;
+}
+
+.introjs-disabled, .introjs-disabled:hover, .introjs-disabled:focus {
+  color: #9a9a9a;
+  border-color: #d4d4d4;
+  box-shadow: none;
+  cursor: default;
+  background-color: #f4f4f4;
+  background-image: none;
+  text-decoration: none;
+}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular/README.md
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular/README.md b/portal/dist/appsvc-ui/2.0.2/bower_components/angular/README.md
new file mode 100644
index 0000000..fc0c099
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular/README.md
@@ -0,0 +1,48 @@
+# bower-angular
+
+This repo is for distribution on `bower`. The source for this module is in the
+[main AngularJS repo](https://github.com/angular/angular.js).
+Please file issues and pull requests against that repo.
+
+## Install
+
+Install with `bower`:
+
+```shell
+bower install angular
+```
+
+Add a `<script>` to your `index.html`:
+
+```html
+<script src="/bower_components/angular/angular.js"></script>
+```
+
+## Documentation
+
+Documentation is available on the
+[AngularJS docs site](http://docs.angularjs.org/).
+
+## License
+
+The MIT License
+
+Copyright (c) 2010-2012 Google, Inc. http://angularjs.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a704d594/portal/dist/appsvc-ui/2.0.2/bower_components/angular/angular-csp.css
----------------------------------------------------------------------
diff --git a/portal/dist/appsvc-ui/2.0.2/bower_components/angular/angular-csp.css b/portal/dist/appsvc-ui/2.0.2/bower_components/angular/angular-csp.css
new file mode 100644
index 0000000..0d3d3a9
--- /dev/null
+++ b/portal/dist/appsvc-ui/2.0.2/bower_components/angular/angular-csp.css
@@ -0,0 +1,18 @@
+/* Include this file in your html if you are using the CSP mode. */
+
+@charset "UTF-8";
+
+[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
+.ng-cloak, .x-ng-cloak,
+.ng-hide {
+  display: none !important;
+}
+
+ng\:form {
+  display: block;
+}
+
+.ng-animate-block-transitions {
+  transition:0s all!important;
+  -webkit-transition:0s all!important;
+}