"use strict";angular.module("ui.alias",[]).config(["$compileProvider","uiAliasConfig",function(n,t){t=t||{},angular.forEach(t,function(t,i){angular.isString(t)&&(t={replace:!0,template:t}),n.directive(i,function(){return t})})}]),angular.module("ui.event",[]).directive("uiEvent",["$parse",function(n){return function(t,i,r){var u=t.$eval(r.uiEvent);angular.forEach(u,function(r,u){var f=n(r);i.bind(u,function(n){var i=Array.prototype.slice.call(arguments);i=i.splice(1),f(t,{$event:n,$params:i}),t.$$phase||t.$apply()})})}}]),angular.module("ui.format",[]).filter("format",function(){return function(n,t){var i=n,r,u;return angular.isString(i)&&t!==undefined&&(angular.isArray(t)||angular.isObject(t)||(t=[t]),angular.isArray(t)?(r=t.length,u=function(n,i){return i=parseInt(i,10),i>=0&&i<r?t[i]:n},i=i.replace(/\$([0-9]+)/g,u)):angular.forEach(t,function(n,t){i=i.split(":"+t).join(n)})),i}}),angular.module("ui.highlight",[]).filter("highlight",function(){return function(n,t,i){return t||angular.isNumber(t)?(n=n.toString(),t=t.toString(),i?n.split(t).join('<span class="ui-match">'+t+"<\/span>"):n.replace(new RegExp(t,"gi"),'<span class="ui-match">$&<\/span>')):n}}),angular.module("ui.include",[]).directive("uiInclude",["$http","$templateCache","$anchorScroll","$compile",function(n,t,i,r){return{restrict:"ECA",terminal:!0,compile:function(u,f){var o=f.uiInclude||f.src,s=f.fragment||"",h=f.onload||"",e=f.autoscroll;return function(u,f){function v(){var v=++l,y=u.$eval(o),p=u.$eval(s);y?n.get(y,{cache:t}).success(function(n){if(v===l){c&&c.$destroy(),c=u.$new();var t;t=p?angular.element("<div/>").html(n).find(p):angular.element("<div/>").html(n).contents(),f.html(t),r(t)(c),angular.isDefined(e)&&(!e||u.$eval(e))&&i(),c.$emit("$includeContentLoaded"),u.$eval(h)}}).error(function(){v===l&&a()}):a()}var l=0,c,a=function(){c&&(c.$destroy(),c=null),f.html("")};u.$watch(s,v),u.$watch(o,v)}}}}]),angular.module("ui.indeterminate",[]).directive("uiIndeterminate",[function(){return{compile:function(n,t){return!t.type||t.type.toLowerCase()!=="checkbox"?angular.noop:function(n,t,i){n.$watch(i.uiIndeterminate,function(n){t[0].indeterminate=!!n})}}}}]),angular.module("ui.inflector",[]).filter("inflector",function(){function n(n){return n.replace(/^([a-z])|\s+([a-z])/g,function(n){return n.toUpperCase()})}function t(n,t){return n.replace(/[A-Z]/g,function(n){return t+n})}var i={humanize:function(i){return n(t(i," ").split("_").join(" "))},underscore:function(n){return n.substr(0,1).toLowerCase()+t(n.substr(1),"_").toLowerCase().split(" ").join("_")},variable:function(t){return t=t.substr(0,1).toLowerCase()+n(t.split("_").join(" ")).substr(1).split(" ").join("")}};return function(n,t){return t!==!1&&angular.isString(n)?(t=t||"humanize",i[t](n)):n}}),angular.module("ui.jq",[]).value("uiJqConfig",{}).directive("uiJq",["uiJqConfig","$timeout",function(n,t){return{restrict:"A",compile:function(i,r){if(!angular.isFunction(i[r.uiJq]))throw new Error('ui-jq: The "'+r.uiJq+'" function does not exist');var u=n&&n[r.uiJq];return function(n,i,r){function e(){t(function(){i[r.uiJq].apply(i,f)},0,!1)}var f=[];r.uiOptions?(f=n.$eval("["+r.uiOptions+"]"),angular.isObject(u)&&angular.isObject(f[0])&&(f[0]=angular.extend({},u,f[0]))):u&&(f=[u]),r.ngModel&&i.is("select,input,textarea")&&i.bind("change",function(){i.trigger("input")}),r.uiRefresh&&n.$watch(r.uiRefresh,function(){e()}),e()}}}}]),angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(n){var t={8:"backspace",9:"tab",13:"enter",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete"},i=function(n){return n.charAt(0).toUpperCase()+n.slice(1)};return function(r,u,f,e){var o,s=[];o=u.$eval(e["ui"+i(r)]),angular.forEach(o,function(t,i){var r,u;u=n(t),angular.forEach(i.split(" "),function(n){r={expression:u,keys:{}},angular.forEach(n.split("-"),function(n){r.keys[n]=!0}),s.push(r)})}),f.bind(r,function(n){var e=!!(n.metaKey&&!n.ctrlKey),o=!!n.altKey,h=!!n.ctrlKey,f=!!n.shiftKey,i=n.keyCode;r==="keypress"&&!f&&i>=97&&i<=122&&(i=i-32),angular.forEach(s,function(r){var s=r.keys[t[i]]||r.keys[i.toString()],c=!!r.keys.meta,l=!!r.keys.alt,a=!!r.keys.ctrl,v=!!r.keys.shift;s&&c===e&&l===o&&a===h&&v===f&&u.$apply(function(){r.expression(u,{$event:n})})})})}}]),angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(n){return{link:function(t,i,r){n("keydown",t,i,r)}}}]),angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(n){return{link:function(t,i,r){n("keypress",t,i,r)}}}]),angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(n){return{link:function(t,i,r){n("keyup",t,i,r)}}}]),angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{"9":/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}}).directive("uiMask",["uiMaskConfig",function(n){return{priority:100,require:"ngModel",restrict:"A",compile:function(){var t=n;return function(n,i,r,u){function lt(n){return angular.isDefined(n)?(gt(n),!c)?ht():(pt(),wt(),!0):ht()}function at(n){angular.isDefined(n)&&(s=n,c&&l())}function vt(n){return c?(f=y(n||""),o=it(f),u.$setValidity("mask",o),o&&f.length?p(f):undefined):n}function yt(n){return c?(f=y(n||""),o=it(f),u.$viewValue=f.length?p(f):"",u.$setValidity("mask",o),f===""&&u.$error.required!==undefined&&u.$setValidity("required",!1),o?f:undefined):n}function ht(){return c=!1,bt(),angular.isDefined(ot)?i.attr("placeholder",ot):i.removeAttr("placeholder"),angular.isDefined(st)?i.attr("maxlength",st):i.removeAttr("maxlength"),i.val(u.$modelValue),u.$viewValue=u.$modelValue,!1}function pt(){f=nt=y(u.$modelValue||""),d=g=p(f),o=it(f);var n=o&&f.length?d:"";r.maxlength&&i.attr("maxlength",e[e.length-1]*2),i.attr("placeholder",s),i.val(n),u.$viewValue=n}function wt(){a||(i.bind("blur",ct),i.bind("mousedown mouseup",w),i.bind("input keyup click focus",l),a=!0)}function bt(){a&&(i.unbind("blur",ct),i.unbind("mousedown",w),i.unbind("mouseup",w),i.unbind("input",l),i.unbind("keyup",l),i.unbind("click",l),i.unbind("focus",l),a=!1)}function it(n){return n.length?n.length>=k:!0}function y(n){var i="",t=b.slice();return n=n.toString(),angular.forEach(et,function(t){n=n.replace(t,"")}),angular.forEach(n.split(""),function(n){t.length&&t[0].test(n)&&(i+=n,t.shift())}),i}function p(n){var t="",i=e.slice();return angular.forEach(s.split(""),function(r,u){n.length&&u===i[0]?(t+=n.charAt(0)||"_",n=n.substr(1),i.shift()):t+=r}),t}function kt(n){var t=r.placeholder;return typeof t!="undefined"&&t[n]?t[n]:"_"}function dt(){return s.replace(/[_]+/g,"_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g,"$1$2_$3").split("_")}function gt(n){var t=0,i,r;e=[],b=[],s="",typeof n=="string"&&(k=0,i=!1,r=n.split(""),angular.forEach(r,function(n,r){h.maskDefinitions[n]?(e.push(t),s+=kt(r),b.push(h.maskDefinitions[n]),t++,i||k++):n==="?"?i=!0:(s+=n,t++)})),e.push(e.slice().pop()+1),et=dt(),c=e.length>1?!0:!1}function ct(){tt=0,v=0,o&&f.length!==0||(d="",i.val(""),n.$apply(function(){u.$setViewValue("")}))}function w(n){n.type==="mousedown"?i.bind("mouseout",rt):i.unbind("mouseout",rt)}function rt(){v=ft(this),i.unbind("mouseout",rt)}function l(t){var f,s,it;if(t=t||{},f=t.which,s=t.type,f!==16&&f!==91){var c=i.val(),w=g,b,o=y(c),lt=nt,rt=!1,r=ni(this)||0,et=tt||0,ot=r-et,h=e[0],l=e[o.length]||e.slice().shift(),a=v||0,at=ft(this)>0,st=a>0,ht=c.length>w.length||a&&c.length>w.length-a,k=c.length<w.length||a&&c.length===w.length-a,vt=f>=37&&f<=40&&t.shiftKey,yt=f===37,ct=f===8||s!=="keyup"&&k&&ot===-1,pt=f===46||s!=="keyup"&&k&&ot===0&&!st,d=(yt||ct||s==="click")&&r>h;if(v=ft(this),!vt&&(!at||s!=="click"&&s!=="keyup")){if(s==="input"&&k&&!st&&o===lt){while(ct&&r>h&&!ut(r))r--;while(pt&&r<l&&e.indexOf(r)===-1)r++;it=e.indexOf(r),o=o.substring(0,it)+o.substring(it+1),rt=!0}for(b=p(o),g=b,nt=o,i.val(b),rt&&n.$apply(function(){u.$setViewValue(o)}),ht&&r<=h&&(r=h+1),d&&r--,r=r>l?l:r<h?h:r;!ut(r)&&r>h&&r<l;)r+=d?-1:1;(d&&r<l||ht&&!ut(et))&&r++,tt=r,ti(this,r)}}}function ut(n){return e.indexOf(n)>-1}function ni(n){if(!n)return 0;if(n.selectionStart!==undefined)return n.selectionStart;if(document.selection){n.focus();var t=document.selection.createRange();return t.moveStart("character",-n.value.length),t.text.length}return 0}function ti(n,t){if(!n)return 0;if(n.offsetWidth!==0&&n.offsetHeight!==0)if(n.setSelectionRange)n.focus(),n.setSelectionRange(t,t);else if(n.createTextRange){var i=n.createTextRange();i.collapse(!0),i.moveEnd("character",t),i.moveStart("character",t),i.select()}}function ft(n){return n?n.selectionStart!==undefined?n.selectionEnd-n.selectionStart:document.selection?document.selection.createRange().text.length:0:0}var c=!1,a=!1,e,b,s,et,k,f,d,o,ot=r.placeholder,st=r.maxlength,g,nt,tt,v,h={};r.uiOptions?(h=n.$eval("["+r.uiOptions+"]"),angular.isObject(h[0])&&(h=function(n,t){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]?angular.extend(t[i],n[i]):t[i]=angular.copy(n[i]));return t}(t,h[0]))):h=t,r.$observe("uiMask",lt),r.$observe("placeholder",at),u.$formatters.push(vt),u.$parsers.push(yt),i.bind("mousedown mouseup",w),Array.prototype.indexOf||(Array.prototype.indexOf=function(n){var u,r,t,i;if(this===null)throw new TypeError;if((u=Object(this),r=u.length>>>0,r===0)||(t=0,arguments.length>1&&(t=Number(arguments[1]),t!==t?t=0:t!==0&&t!==Infinity&&t!==-Infinity&&(t=(t>0||-1)*Math.floor(Math.abs(t)))),t>=r))return-1;for(i=t>=0?t:Math.max(r-Math.abs(t),0);i<r;i++)if(i in u&&u[i]===n)return i;return-1})}}}}]),angular.module("ui.reset",[]).value("uiResetConfig",null).directive("uiReset",["uiResetConfig",function(n){var t=null;return n!==undefined&&(t=n),{require:"ngModel",link:function(n,i,r,u){var f;f=angular.element('<a class="ui-reset" />'),i.wrap('<span class="ui-resetwrap" />').after(f),f.bind("click",function(i){i.preventDefault(),n.$apply(function(){r.uiReset?u.$setViewValue(n.$eval(r.uiReset)):u.$setViewValue(t),u.$render()})})}}}]),angular.module("ui.route",[]).directive("uiRoute",["$location","$parse",function(n,t){return{restrict:"AC",scope:!0,compile:function(i,r){var u;if(r.uiRoute)u="uiRoute";else if(r.ngHref)u="ngHref";else if(r.href)u="href";else throw new Error("uiRoute missing a route or href property on "+i[0]);return function(i,r,f){function o(t){var r=t.indexOf("#");r>-1&&(t=t.substr(r+1)),e=function(){s(i,n.path().indexOf(t)>-1)},e()}function h(t){var r=t.indexOf("#");r>-1&&(t=t.substr(r+1)),e=function(){var r=new RegExp("^"+t+"$",["i"]);s(i,r.test(n.path()))},e()}var s=t(f.ngModel||f.routeModel||"$uiRoute").assign,e=angular.noop;switch(u){case"uiRoute":f.uiRoute?h(f.uiRoute):f.$observe("uiRoute",h);break;case"ngHref":f.ngHref?o(f.ngHref):f.$observe("ngHref",o);break;case"href":o(f.href)}i.$on("$routeChangeSuccess",function(){e()}),i.$on("$stateChangeSuccess",function(){e()})}}}}]),angular.module("ui.scroll.jqlite",["ui.scroll"]).service("jqLiteExtras",["$log","$window",function(n,t){return{registerFor:function(n){var i,u,s,r,f,e,o;return u=angular.element.prototype.css,n.prototype.css=function(n,t){var i,r;return r=this,i=r[0],!i||i.nodeType===3||i.nodeType===8||!i.style?void 0:u.call(r,n,t)},e=function(n){return n&&n.document&&n.location&&n.alert&&n.setInterval},o=function(n,t,i){var r,u,s,o,f;return r=n[0],f={top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[t],u=f[0],o=f[1],s=f[2],e(r)?angular.isDefined(i)?r.scrollTo(n[s].call(n),i):o in r?r[o]:r.document.documentElement[u]:angular.isDefined(i)?r[u]=i:r[u]},t.getComputedStyle?(r=function(n){return t.getComputedStyle(n,null)},i=function(n,t){return parseFloat(t)}):(r=function(n){return n.currentStyle},i=function(n,t){var f,e,o,s,i,u,r;return f=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,s=new RegExp("^("+f+")(?!px)[a-z%]+$","i"),s.test(t)?(r=n.style,e=r.left,i=n.runtimeStyle,u=i&&i.left,i&&(i.left=r.left),r.left=t,o=r.pixelLeft,r.left=e,u&&(i.left=u),o):parseFloat(t)}),s=function(n,t){var f,c,l,a,v,u,o,s,y,p,w,b,h;return e(n)?(f=document.documentElement[{height:"clientHeight",width:"clientWidth"}[t]],{base:f,padding:0,border:0,margin:0}):(h={width:[n.offsetWidth,"Left","Right"],height:[n.offsetHeight,"Top","Bottom"]}[t],f=h[0],o=h[1],s=h[2],u=r(n),w=i(n,u["padding"+o])||0,b=i(n,u["padding"+s])||0,c=i(n,u["border"+o+"Width"])||0,l=i(n,u["border"+s+"Width"])||0,a=u["margin"+o],v=u["margin"+s],y=i(n,a)||0,p=i(n,v)||0,{base:f,padding:w+b,border:c+l,margin:y+p})},f=function(n,t,i){var e,u,f;return u=s(n,t),u.base>0?{base:u.base-u.padding-u.border,outer:u.base,outerfull:u.base+u.margin}[i]:(e=r(n),f=e[t],(f<0||f===null)&&(f=n.style[t]||0),f=parseFloat(f)||0,{base:f-u.padding-u.border,outer:f,outerfull:f+u.padding+u.border+u.margin}[i])},angular.forEach({before:function(n){var t,u,f,e,o,i,r;if(o=this,u=o[0],e=o.parent(),t=e.contents(),t[0]===u)return e.prepend(n);for(f=i=1,r=t.length-1;1<=r?i<=r:i>=r;f=1<=r?++i:--i)if(t[f]===u){angular.element(t[f-1]).after(n);return}throw new Error("invalid DOM structure "+u.outerHTML);},height:function(n){var t;return t=this,angular.isDefined(n)?(angular.isNumber(n)&&(n=n+"px"),u.call(t,"height",n)):f(this[0],"height","base")},outerHeight:function(n){return f(this[0],"height",n?"outerfull":"outer")},offset:function(n){var u,t,i,r,f,e;return(f=this,arguments.length)?n===void 0?f:n:(u={top:0,left:0},r=f[0],t=r&&r.ownerDocument,!t)?void 0:(i=t.documentElement,r.getBoundingClientRect&&(u=r.getBoundingClientRect()),e=t.defaultView||t.parentWindow,{top:u.top+(e.pageYOffset||i.scrollTop)-(i.clientTop||0),left:u.left+(e.pageXOffset||i.scrollLeft)-(i.clientLeft||0)})},scrollTop:function(n){return o(this,"top",n)},scrollLeft:function(n){return o(this,"left",n)}},function(t,i){if(!n.prototype[i])return n.prototype[i]=t})}}}]).run(["$log","$window","jqLiteExtras",function(n,t,i){if(!t.jQuery)return i.registerFor(angular.element)}]),angular.module("ui.scroll",[]).directive("ngScrollViewport",["$log",function(){return{controller:["$scope","$element",function(n,t){return t}]}}]).directive("ngScroll",["$log","$injector","$rootScope","$timeout",function(n,t,i,r){return{require:["?^ngScrollViewport"],transclude:"element",priority:1e3,terminal:!0,compile:function(u,f,e){return function(f,o,s,h){var l,k,dt,it,et,c,rt,w,gt,ni,p,ot,ct,ut,d,lt,ft,a,b,at,g,vt,yt,st,v,nt,ti,tt,pt,wt,ii,bt,kt,ri,ht,y;if(st=s.ngScroll.match(/^\s*(\w+)\s+in\s+(\w+)\s*$/),!st)throw new Error('Expected ngScroll in form of "item_ in _datasource_" but got "'+s.ngScroll+'"');if(vt=st[1],ot=st[2],at=function(n){return angular.isObject(n)&&n.get&&angular.isFunction(n.get)},p=f[ot],!at(p)&&(p=t.get(ot),!at(p)))throw new Error(ot+" is not a valid datasource");return w=Math.max(3,+s.bufferSize||10),rt=function(){return y.height()*Math.max(.1,+s.padding||.1)},ii=function(n){return n[0].scrollHeight||n[0].document.documentElement.scrollHeight},l=null,e(ri=f.$new(),function(n){var i,e,o,t,r,f;if(t=n[0].localName,t==="dl")throw new Error("ng-scroll directive does not support <"+n[0].localName+"> as a repeating tag: "+n[0].outerHTML);return t!=="li"&&t!=="tr"&&(t="div"),f=h[0]||angular.element(window),f.css({"overflow-y":"auto",display:"block"}),o=function(n){var i,t,r;switch(n){case"tr":return r=angular.element("<table><tr><td><div><\/div><\/td><\/tr><\/table>"),i=r.find("div"),t=r.find("tr"),t.paddingHeight=function(){return i.height.apply(i,arguments)},t;default:return t=angular.element("<"+n+"><\/"+n+">"),t.paddingHeight=t.height,t}},e=function(n,t,i){return t[{top:"before",bottom:"after"}[i]](n),{paddingHeight:function(){return n.paddingHeight.apply(n,arguments)},insert:function(t){return n[{top:"after",bottom:"before"}[i]](t)}}},r=e(o(t),u,"top"),i=e(o(t),u,"bottom"),ri.$destroy(),l={viewport:f,topPadding:r.paddingHeight,bottomPadding:i.paddingHeight,append:i.insert,prepend:r.insert,bottomDataPos:function(){return ii(f)-i.paddingHeight()},topDataPos:function(){return r.paddingHeight()}}}),y=l.viewport,a=1,v=1,c=[],nt=[],ut=!1,it=!1,yt=p.loading||function(){},g=!1,tt=function(n,t){for(var i,r=i=n;n<=t?i<t:i>t;r=n<=t?++i:--i)c[r].scope.$destroy(),c[r].element.remove();return c.splice(n,t-n)},ti=function(){return a=1,v=1,tt(0,c.length),l.topPadding(0),l.bottomPadding(0),nt=[],ut=!1,it=!1,k(!1)},et=function(){return y.scrollTop()+y.height()},ht=function(){return y.scrollTop()},bt=function(){return!ut&&l.bottomDataPos()<et()+rt()},gt=function(){var r,u,f,t,i,e;for(r=0,t=0,u=i=e=c.length-1;e<=0?i<=0:i>=0;u=e<=0?++i:--i)if(f=c[u].element.outerHeight(!0),l.bottomDataPos()-r-f>et()+rt())r+=f,t++,ut=!1;else break;if(t>0)return l.bottomPadding(l.bottomPadding()+r),tt(c.length-t,c.length),v-=t,n.log("clipped off bottom "+t+" bottom padding "+l.bottomPadding())},kt=function(){return!it&&l.topDataPos()>ht()-rt()},ni=function(){var f,u,t,i,r,e;for(i=0,t=0,r=0,e=c.length;r<e;r++)if(f=c[r],u=f.element.outerHeight(!0),l.topDataPos()+i+u<ht()-rt())i+=u,t++,it=!1;else break;if(t>0)return l.topPadding(l.topPadding()+i),tt(0,t),a+=t,n.log("clipped off top "+t+" top padding "+l.topPadding())},ct=function(n,t){return g||(g=!0,yt(!0)),nt.push(n)===1?lt(t):void 0},b=function(n,t){var i,u,r;return i=f.$new(),i[vt]=t,u=n>a,i.$index=n,u&&i.$index--,r={scope:i},e(i,function(t){return r.element=t,u?n===v?(l.append(t),c.push(r)):(c[n-a].element.after(t),c.splice(n-a+1,0,r)):(l.prepend(t),c.unshift(r))}),{appended:u,wrapper:r}},dt=function(n,t){var i;return n?l.bottomPadding(Math.max(0,l.bottomPadding()-t.element.outerHeight(!0))):(i=l.topPadding()-t.element.outerHeight(!0),i>=0?l.topPadding(i):y.scrollTop(y.scrollTop()+t.element.outerHeight(!0)))},k=function(t,i,u){var f;return f=function(){return n.log("top {actual="+l.topDataPos()+" visible from="+ht()+" bottom {visible through="+et()+" actual="+l.bottomDataPos()+"}"),bt()?ct(!0,t):kt()&&ct(!1,t),u?u():void 0},i?r(function(){for(var t,n=0,r=i.length;n<r;n++)t=i[n],dt(t.appended,t.wrapper);return f()}):f()},ft=function(n,t){return k(n,t,function(){return nt.shift(),nt.length===0?(g=!1,yt(!1)):lt(n)})},lt=function(t){var i;return i=nt[0],i?c.length&&!bt()?ft(t):p.get(v,w,function(i){var f,u,r,e;if(u=[],i.length===0)ut=!0,l.bottomPadding(0),n.log("appended: requested "+w+" records starting from "+v+" recieved: eof");else{for(ni(),r=0,e=i.length;r<e;r++)f=i[r],u.push(b(++v,f));n.log("appended: requested "+w+" received "+i.length+" buffer size "+c.length+" first "+a+" next "+v)}return ft(t,u)}):c.length&&!kt()?ft(t):p.get(a-w,w,function(i){var u,f,r,e;if(f=[],i.length===0)it=!0,l.topPadding(0),n.log("prepended: requested "+w+" records starting from "+(a-w)+" recieved: bof");else{for(gt(),u=r=e=i.length-1;e<=0?r<=0:r>=0;u=e<=0?++r:--r)f.unshift(b(--a,i[u]));n.log("prepended: requested "+w+" received "+i.length+" buffer size "+c.length+" first "+a+" next "+v)}return ft(t,f)})},pt=function(){if(!i.$$phase&&!g)return k(!1),f.$apply()},y.bind("resize",pt),wt=function(){if(!i.$$phase&&!g)return k(!0),f.$apply()},y.bind("scroll",wt),f.$watch(p.revision,function(){return ti()}),d=p.scope?p.scope.$new():f.$new(),f.$on("$destroy",function(){return d.$destroy(),y.unbind("resize",pt),y.unbind("scroll",wt)}),d.$on("update.items",function(n,t,i){var u,f,r,e,o;if(angular.isFunction(t))for(f=function(n){return t(n.scope)},r=0,e=c.length;r<e;r++)u=c[r],f(u);else 0<=(o=t-a-1)&&o<c.length&&(c[t-a-1].scope[vt]=i);return null}),d.$on("delete.items",function(n,t){var i,u,r,s,h,f,e,o,l,y,p,w;if(angular.isFunction(t)){for(r=[],f=0,l=c.length;f<l;f++)u=c[f],r.unshift(u);for(h=function(n){if(t(n.scope))return tt(r.length-1-i,r.length-i),v--},i=e=0,y=r.length;e<y;i=++e)s=r[i],h(s)}else 0<=(w=t-a-1)&&w<c.length&&(tt(t-a-1,t-a),v--);for(i=o=0,p=c.length;o<p;i=++o)u=c[i],u.scope.$index=a+i;return k(!1)}),d.$on("insert.item",function(n,t,i){var r,u,f,h,l,e,o,s,y,p,w,d;if(u=[],angular.isFunction(t)){for(f=[],e=0,y=c.length;e<y;e++)i=c[e],f.unshift(i);for(l=function(n){var e,f,o,h,s;if(f=t(n.scope)){if(b=function(n,t){return b(n,t),v++},angular.isArray(f)){for(s=[],e=o=0,h=f.length;o<h;e=++o)i=f[e],s.push(u.push(b(r+e,i)));return s}return u.push(b(r,f))}},r=o=0,p=f.length;o<p;r=++o)h=f[r],l(h)}else 0<=(d=t-a-1)&&d<c.length&&(u.push(b(t,i)),v++);for(r=s=0,w=c.length;s<w;r=++s)i=c[r],i.scope.$index=a+r;return k(!1,u)})}}}}]),angular.module("ui.scrollfix",[]).directive("uiScrollfix",["$window",function(n){return{require:"^?uiScrollfixTarget",link:function(t,i,r,u){function o(){var t,u;angular.isDefined(n.pageYOffset)?t=n.pageYOffset:(u=document.compatMode&&document.compatMode!=="BackCompat"?document.documentElement:document.body,t=u.scrollTop),!i.hasClass("ui-scrollfix")&&t>r.uiScrollfix?i.addClass("ui-scrollfix"):i.hasClass("ui-scrollfix")&&t<r.uiScrollfix&&i.removeClass("ui-scrollfix")}var f=i[0].offsetTop,e=u&&u.$element||angular.element(n);r.uiScrollfix?typeof r.uiScrollfix=="string"&&(r.uiScrollfix.charAt(0)==="-"?r.uiScrollfix=f-parseFloat(r.uiScrollfix.substr(1)):r.uiScrollfix.charAt(0)==="+"&&(r.uiScrollfix=f+parseFloat(r.uiScrollfix.substr(1)))):r.uiScrollfix=f;e.on("scroll",o);t.$on("$destroy",function(){e.off("scroll",o)})}}}]).directive("uiScrollfixTarget",[function(){return{controller:["$element",function(n){this.$element=n}]}}]),angular.module("ui.showhide",[]).directive("uiShow",[function(){return function(n,t,i){n.$watch(i.uiShow,function(n){n?t.addClass("ui-show"):t.removeClass("ui-show")})}}]).directive("uiHide",[function(){return function(n,t,i){n.$watch(i.uiHide,function(n){n?t.addClass("ui-hide"):t.removeClass("ui-hide")})}}]).directive("uiToggle",[function(){return function(n,t,i){n.$watch(i.uiToggle,function(n){n?t.removeClass("ui-hide").addClass("ui-show"):t.removeClass("ui-show").addClass("ui-hide")})}}]),angular.module("ui.unique",[]).filter("unique",["$parse",function(n){return function(t,i){if(i===!1)return t;if((i||angular.isUndefined(i))&&angular.isArray(t)){var r=[],f=angular.isString(i)?n(i):function(n){return n},u=function(n){return angular.isObject(n)?f(n):n};angular.forEach(t,function(n){for(var i=!1,t=0;t<r.length;t++)if(angular.equals(u(r[t]),u(n))){i=!0;break}i||r.push(n)}),t=r}return t}}]),angular.module("ui.validate",[]).directive("uiValidate",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function o(t){if(angular.isString(t)){n.$watch(t,function(){angular.forEach(u,function(n){n(r.$modelValue)})});return}if(angular.isArray(t)){angular.forEach(t,function(t){n.$watch(t,function(){angular.forEach(u,function(n){n(r.$modelValue)})})});return}angular.isObject(t)&&angular.forEach(t,function(t,i){angular.isString(t)&&n.$watch(t,function(){u[i](r.$modelValue)}),angular.isArray(t)&&angular.forEach(t,function(t){n.$watch(t,function(){u[i](r.$modelValue)})})})}var e,u={},f=n.$eval(i.uiValidate);f&&(angular.isString(f)&&(f={validator:f}),angular.forEach(f,function(t,i){e=function(u){var f=n.$eval(t,{$value:u});return angular.isObject(f)&&angular.isFunction(f.then)?(f.then(function(){r.$setValidity(i,!0)},function(){r.$setValidity(i,!1)}),u):f?(r.$setValidity(i,!0),u):(r.$setValidity(i,!1),u)},u[i]=e,r.$formatters.push(e),r.$parsers.push(e)}),i.uiValidateWatch&&o(n.$eval(i.uiValidateWatch)))}}}),angular.module("ui.utils",["ui.event","ui.format","ui.highlight","ui.include","ui.indeterminate","ui.inflector","ui.jq","ui.keypress","ui.mask","ui.reset","ui.route","ui.scrollfix","ui.scroll","ui.scroll.jqlite","ui.showhide","ui.unique","ui.validate"])