!function(a,b,c,d,e){function f(a,b){return b.apply(e,a)}function g(a){var b=a.length-1;return function(){var d=arguments.length-b,e=c.prototype.slice.call(arguments);return e.push(e.splice(b,d)),a.apply(this,e)}}function h(a){return function(b,c){return a(c,b)}}function i(a,b){return function(c){return a(c)&&b(c)}}function j(){}function k(a){return function(){return a}}function l(a,b){return b&&b.constructor===a}function m(a,b){return b[a]}function n(a){return a!==e}function o(){return!0}function p(a,c){return c instanceof b&&w(function(a){return a in c},a)}function q(a,c){return b.freeze([a,c])}function r(a){return y(a.reduce(h(q),R))}function s(a){return u(function(a,b){return a.unshift(b),a},[],a)}function t(a,b){return b?q(a(S(b)),t(a,T(b))):R}function u(a,b,c){return c?a(u(a,b,T(c)),S(c)):b}function v(a,b){return a?S(a)==b?T(a):q(S(a),v(T(a),b)):R}function w(a,b){return!b||a(S(b))&&w(a,T(b))}function x(a,b){b&&(a(S(b)),x(a,T(b)))}function y(a){function b(a,c){return a?b(T(a),q(S(a),c)):c}return b(a,R)}function z(a,b){var c;clarinet.EVENTS.forEach(function(d){var e=b[d];a["on"+d]=e&&function(a){c=e(c,a)}})}function A(a){var b={};return a&&a.split("\r\n").forEach(function(a){var c=a.indexOf(": ");b[a.substring(0,c)]=a.substring(c+2)}),b}function B(){return new XMLHttpRequest}function C(b,c,d,f,g,h,i){function j(a){return a?Q(a)?a:JSON.stringify(a):null}function k(){var a=d.responseText,c=a.substr(l);c&&b(eb,c),l=P(a)}var l=0;c(gb,function(){d.onreadystatechange=null,d.abort()}),"onprogress"in d&&(d.onprogress=k),d.onreadystatechange=function(){switch(d.readyState){case 2:return b(db,d.status,A(d.getAllResponseHeaders())),void 0;case 4:var a=2==String(d.status)[0];a?(k(),b(fb)):b(bb,G(d.status,d.responseText))}};try{d.open(f,g,!0);for(var m in i)d.setRequestHeader(m,i[m]);d.send(j(h))}catch(n){a.setTimeout(L(b,bb,G(e,e,n)),0)}}function D(a,b){return{key:a,node:b}}function E(a){function b(a,b){var d=X(S(a));return l(c,d)?f(a,P(d),b):a}function d(c,d){if(!c)return a(cb,d),f(c,Y,d);var g=b(c,d),h=T(g),i=W(S(g));return e(h,i,d),q(D(i,d),h)}function e(a,b,c){X(S(a))[b]=c}function f(b,c,d){b&&e(b,c,d);var f=q(D(c,d),b);return a(ab,f),f}function g(b){return a(_,b),T(b)}return{openobject:function(a,b){var c=d(a,{});return n(b)?f(c,b):c},openarray:function(a){return d(a,[])},key:f,value:M(g,d),closeobject:g,closearray:g}}function F(){var a={};return{on:function(b,c){return a[b]=q(c,a[b]),this},emit:g(function(b,c){x(L(f,c),a[b])}),un:function(b,c){a[b]=v(a[b],c)}}}function G(a,b,c){try{var d=JSON.parse(b)}catch(e){}return{statusCode:a,body:b,jsonBody:d,thrown:c}}function H(a,b,c,d){function h(a,e,f){var g=d(e),h={node:_,path:ab}[a],j=l(f);b(h,function k(a){var b=g(a);b!==!1&&(i(j,X(b),a)||c(h,k))})}function i(a,b,c){var d=y(c),e=s(T(t(W,d))),f=s(t(X,d)),g=!0;return p.forget=function(){g=!1},a(b,e,f),delete p.forget,g}function l(b){return function(){try{b.apply(p,arguments)}catch(c){a(bb,G(e,e,c))}}}function m(a,c){return b(a,l(c)),p}function n(a,b){for(var c in b)h(a,c,b[c])}function o(a,b,c){return Q(b)?h(a,b,c):n(a,b),p}var p,q=L(o,"node","!"),r=g(function(a,c){if(p[a])f(c,p[a]);else{var d=c[0];b(a,d)}return p});return b(cb,function(a){p.root=k(a)}),b(db,function(a,b){p.header=function(a){return a?b[a]:b}}),p={on:r,done:q,node:L(o,"node"),path:L(o,"path"),start:L(m,db),fail:L(b,bb),abort:L(a,gb),header:j,root:j}}function I(a,b,c,d,f){return b(eb,function(a){try{d.write(a)}catch(b){}}),b(fb,d.close.bind(d)),b(gb,function(){z(d,{})}),z(d,f),d.onerror=function(b){a(bb,G(e,e,b))},new H(a,b,c,Z)}function J(a,b,c,d){var e=F();return C(e.emit,e.on,B(),a,b,c,d),I(e.emit,e.on,e.un,clarinet.parser(),E(e.emit))}function K(a,b,c){return b.url?J(b.method||a,b.url,b.body,b.headers):J(a,b,c)}var L=g(function(a,b){return g(function(c){return a.apply(this,b.concat(c))})}),M=g(function(a){function b(a,b){return[f(a,b)]}var c=r(a);return g(function(a){return u(b,a,c)[0]})}),N=g(function(a){return g(function(b){for(var c,d=0;d
d;d++){var g=a[s[d]].length;if(g>b)switch(s[d]){case"text":closeText(a);break;default:n(a,"Max buffer length exceeded: "+s[d])}c=Math.max(c,g)}a.bufferCheckPosition=e.MAX_BUFFER_LENGTH-c+a.position}function g(a){for(var b=0,c=s.length;c>b;b++)a[s[b]]=""}function h(a){if(!(this instanceof h))return new h(a);var b=this;g(b),b.bufferCheckPosition=e.MAX_BUFFER_LENGTH,b.q=b.c=b.p="",b.opt=a||{},b.closed=b.closedRoot=b.sawRoot=!1,b.tag=b.error=null,b.state=t.BEGIN,b.stack=new r,b.position=b.column=0,b.line=1,b.slashed=!1,b.unicodeI=0,b.unicodeS=null,i(b,"onready")}function i(a,b,c){e.INFO&&console.log("-- emit",b,c),a[b]&&a[b](c)}function j(a,b,c){k(a),i(a,b,c)}function k(a,b){a.textNode=m(a.opt,a.textNode),a.textNode&&i(a,b?b:"onvalue",a.textNode),a.textNode=""}function l(a){a.numberNode&&i(a,"onvalue",parseFloat(a.numberNode)),a.numberNode=""}function m(a,b){return a.trim&&(b=b.trim()),a.normalize&&(b=b.replace(/\s+/g," ")),b}function n(a,b){return k(a),b+="\nLine: "+a.line+"\nColumn: "+a.column+"\nChar: "+a.c,b=new d(b),a.error=b,i(a,"onerror",b),a}function o(a){return a.state!==t.VALUE&&n(a,"Unexpected end"),k(a),a.c="",a.closed=!0,i(a,"onend"),h.call(a,a.opt),a}function p(a){var b=this;if(this.error)throw this.error;if(b.closed)return n(b,"Cannot write after close. Assign an onready handler.");if(null===a)return o(b);var c=0,d=a[0],g=b.p;for(e.DEBUG&&console.log("write -> ["+a+"]");d&&(g=d,b.c=d=a.charAt(c++),g!==d?b.p=g:g=b.p,d);)switch(e.DEBUG&&console.log(c,d,e.STATE[b.state]),b.position++,"\n"===d?(b.line++,b.column=0):b.column++,b.state){case t.BEGIN:"{"===d?b.state=t.OPEN_OBJECT:"["===d?b.state=t.OPEN_ARRAY:"\r"!==d&&"\n"!==d&&" "!==d&&" "!==d&&n(b,"Non-whitespace before {[.");continue;case t.OPEN_KEY:case t.OPEN_OBJECT:if("\r"===d||"\n"===d||" "===d||" "===d)continue;if(b.state===t.OPEN_KEY)b.stack.push(t.CLOSE_KEY);else{if("}"===d){i(b,"onopenobject"),i(b,"oncloseobject"),b.state=b.stack.pop()||t.VALUE;continue}b.stack.push(t.CLOSE_OBJECT)}'"'===d?b.state=t.STRING:n(b,'Malformed object key should start with "');continue;case t.CLOSE_KEY:case t.CLOSE_OBJECT:if("\r"===d||"\n"===d||" "===d||" "===d)continue;b.state===t.CLOSE_KEY?"key":"object",":"===d?(b.state===t.CLOSE_OBJECT?(b.stack.push(t.CLOSE_OBJECT),k(b,"onopenobject")):k(b,"onkey"),b.state=t.VALUE):"}"===d?(j(b,"oncloseobject"),b.state=b.stack.pop()||t.VALUE):","===d?(b.state===t.CLOSE_OBJECT&&b.stack.push(t.CLOSE_OBJECT),k(b),b.state=t.OPEN_KEY):n(b,"Bad object");continue;case t.OPEN_ARRAY:case t.VALUE:if("\r"===d||"\n"===d||" "===d||" "===d)continue;if(b.state===t.OPEN_ARRAY){if(i(b,"onopenarray"),b.state=t.VALUE,"]"===d){i(b,"onclosearray"),b.state=b.stack.pop()||t.VALUE;continue}b.stack.push(t.CLOSE_ARRAY)}'"'===d?b.state=t.STRING:"{"===d?b.state=t.OPEN_OBJECT:"["===d?b.state=t.OPEN_ARRAY:"t"===d?b.state=t.TRUE:"f"===d?b.state=t.FALSE:"n"===d?b.state=t.NULL:"-"===d?b.numberNode+=d:"0"===d?(b.numberNode+=d,b.state=t.NUMBER_DIGIT):-1!=="123456789".indexOf(d)?(b.numberNode+=d,b.state=t.NUMBER_DIGIT):n(b,"Bad value");continue;case t.CLOSE_ARRAY:if(","===d)b.stack.push(t.CLOSE_ARRAY),k(b,"onvalue"),b.state=t.VALUE;else if("]"===d)j(b,"onclosearray"),b.state=b.stack.pop()||t.VALUE;else{if("\r"===d||"\n"===d||" "===d||" "===d)continue;n(b,"Bad array")}continue;case t.STRING:var h=c-1,m=b.slashed,p=b.unicodeI;a:for(;;){for(e.DEBUG&&console.log(c,d,e.STATE[b.state],m);p>0;)if(b.unicodeS+=d,d=a.charAt(c++),4===p?(b.textNode+=String.fromCharCode(parseInt(b.unicodeS,16)),p=0,h=c-1):p++,!d)break a;if('"'===d&&!m){b.state=b.stack.pop()||t.VALUE,b.textNode+=a.substring(h,c-1),b.textNode||i(b,"onvalue","");break}if("\\"===d&&!m&&(m=!0,b.textNode+=a.substring(h,c-1),d=a.charAt(c++),!d))break;if(m){if(m=!1,"n"===d?b.textNode+="\n":"r"===d?b.textNode+="\r":"t"===d?b.textNode+=" ":"f"===d?b.textNode+="\f":"b"===d?b.textNode+="\b":"u"===d?(p=1,b.unicodeS=""):b.textNode+=d,d=a.charAt(c++),h=c-1,d)continue;break}v.lastIndex=c;var q=v.exec(a);if(null===q){c=a.length+1,b.textNode+=a.substring(h,c-1);break}if(c=q.index+1,d=a.charAt(q.index),!d){b.textNode+=a.substring(h,c-1);break}}b.slashed=m,b.unicodeI=p;continue;case t.TRUE:if(""===d)continue;"r"===d?b.state=t.TRUE2:n(b,"Invalid true started with t"+d);continue;case t.TRUE2:if(""===d)continue;"u"===d?b.state=t.TRUE3:n(b,"Invalid true started with tr"+d);continue;case t.TRUE3:if(""===d)continue;"e"===d?(i(b,"onvalue",!0),b.state=b.stack.pop()||t.VALUE):n(b,"Invalid true started with tru"+d);continue;case t.FALSE:if(""===d)continue;"a"===d?b.state=t.FALSE2:n(b,"Invalid false started with f"+d);continue;case t.FALSE2:if(""===d)continue;"l"===d?b.state=t.FALSE3:n(b,"Invalid false started with fa"+d);continue;case t.FALSE3:if(""===d)continue;"s"===d?b.state=t.FALSE4:n(b,"Invalid false started with fal"+d);continue;case t.FALSE4:if(""===d)continue;"e"===d?(i(b,"onvalue",!1),b.state=b.stack.pop()||t.VALUE):n(b,"Invalid false started with fals"+d);continue;case t.NULL:if(""===d)continue;"u"===d?b.state=t.NULL2:n(b,"Invalid null started with n"+d);continue;case t.NULL2:if(""===d)continue;"l"===d?b.state=t.NULL3:n(b,"Invalid null started with nu"+d);continue;case t.NULL3:if(""===d)continue;"l"===d?(i(b,"onvalue",null),b.state=b.stack.pop()||t.VALUE):n(b,"Invalid null started with nul"+d);continue;case t.NUMBER_DECIMAL_POINT:"."===d?(b.numberNode+=d,b.state=t.NUMBER_DIGIT):n(b,"Leading zero not followed by .");continue;case t.NUMBER_DIGIT:-1!=="0123456789".indexOf(d)?b.numberNode+=d:"."===d?(-1!==b.numberNode.indexOf(".")&&n(b,"Invalid number has two dots"),b.numberNode+=d):"e"===d||"E"===d?((-1!==b.numberNode.indexOf("e")||-1!==b.numberNode.indexOf("E"))&&n(b,"Invalid number has two exponential"),b.numberNode+=d):"+"===d||"-"===d?("e"!==g&&"E"!==g&&n(b,"Invalid symbol in number"),b.numberNode+=d):(l(b),c--,b.state=b.stack.pop()||t.VALUE);continue;default:n(b,"Unknown state: "+b.state)}return b.position>=b.bufferCheckPosition&&f(b),b}var q,r=c;q="object"==typeof process&&process.env?process.env:a,e.parser=function(a){return new h(a)},e.CParser=h,e.MAX_BUFFER_LENGTH=65536,e.DEBUG="debug"===q.CDEBUG,e.INFO="debug"===q.CDEBUG||"info"===q.CDEBUG,e.EVENTS=["value","string","key","openobject","closeobject","openarray","closearray","error","end","ready"];var s=["textNode","numberNode"],t=0;e.STATE={BEGIN:t++,VALUE:t++,OPEN_OBJECT:t++,CLOSE_OBJECT:t++,OPEN_ARRAY:t++,CLOSE_ARRAY:t++,TEXT_ESCAPE:t++,STRING:t++,BACKSLASH:t++,END:t++,OPEN_KEY:t++,CLOSE_KEY:t++,TRUE:t++,TRUE2:t++,TRUE3:t++,FALSE:t++,FALSE2:t++,FALSE3:t++,FALSE4:t++,NULL:t++,NULL2:t++,NULL3:t++,NUMBER_DECIMAL_POINT:t++,NUMBER_DIGIT:t++};for(var u in e.STATE)e.STATE[e.STATE[u]]=u;t=e.STATE,b.create||(b.create=function(a){function b(){this.__proto__=a}return b.prototype=a,new b}),b.getPrototypeOf||(b.getPrototypeOf=function(a){return a.__proto__}),b.keys||(b.keys=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b});var v=/[\\"\n]/g;h.prototype={end:function(){o(this)},write:p,resume:function(){return this.error=null,this},close:function(){return this.write(null)}}}("undefined"==typeof exports?clarinet={}:exports);var V=function(){var a=function(a){return a.exec.bind(a)},b=g(function(b){return b.unshift(/^/),a(RegExp(b.map(O("source")).join("")))}),c=/(\$?)/,d=/([\w-_]+|\*)/,e=/()/,f=/\["([^"]+)"\]/,h=/\[(\d+|\*)\]/,i=/{([\w ]*?)}/,j=/(?:{([\w ]*?)})?/,k=b(c,d,j),l=b(c,f,j),m=b(c,h,j),n=b(c,e,i),o=b(/\.\./),p=b(/\./),q=b(c,/!/),r=b(/$/);return function(a){return a(N(k,l,m,n),o,p,q,r)}}(),W=O("key"),X=O("node"),Y={},Z=V(function(a,b,c,e,f){function g(a,b){var c=b[y],d=c&&"*"!=c?function(a){return A(a)==c}:o;return i(d,a)}function h(a,b){var c=b[z];if(!c)return a;var d=L(p,r(c.split(/\W+/))),e=M(d,X,S);return i(e,a)}function j(a,b){var c=!!b[x];return c?i(a,S):a}function k(a){function b(a){return A(a)!=Y}return a==o?o:i(b,M(a,T))}function l(a){function b(a){return a?f(a):!1}if(a==o)return o;var c=m(),d=a,e=k(b),f=N(c,d,e);return b}function m(){return function(a){return A(a)==Y}}function n(a){return function(b){var c=a(b);return c===!0?S(b):c}}function q(a,b,c){return u(function(a,b){return b(a,c)},b,a)}function s(a,b,c,d,e){var f=a(c);if(f){var g=q(b,d,f),h=c.substr(P(f[0]));return e(h,g)}}function t(a,b){return L(s,a,b)}function v(a,b){return b}function w(a,b){var c=a?w:v;return B(a,b,c)}var x=1,y=2,z=3,A=M(W,S),B=N(t(a,U(j,h,g,k)),t(b,U(l)),t(c,U()),t(e,U(j,m)),t(f,U(n)),function(a){throw d('"'+a+'" could not be tokenised')});return function(a){try{return w(a,o)}catch(b){throw d('Could not compile "'+a+'" because '+b.message)}}}),$=0,_=$++,ab=$++,bb="fail",cb=$++,db="start",eb=$++,fb=$++,gb=$++,hb=L(K,"GET");hb.doGet=hb,hb.doDelete=L(K,"DELETE"),hb.doPost=L(K,"POST"),hb.doPut=L(K,"PUT"),hb.doPatch=L(K,"PATCH"),"function"==typeof define&&define.amd?define("oboe",[],function(){return hb}):a.oboe=hb}(window,Object,Array,Error);