From 8d1cdb43d26b27d72b1d7314b5c697f4d9bc044d Mon Sep 17 00:00:00 2001 From: Victor Perron Date: Wed, 6 Aug 2014 20:55:14 +0200 Subject: [PATCH 1/2] Make Tracekit report correctly angularJS errors --- dist/raven.js | 4 ++-- dist/raven.min.js | 4 ++-- dist/raven.min.map | 2 +- test/raven.test.js | 19 +++++++++++++++++++ vendor/TraceKit/tracekit.js | 2 +- 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/dist/raven.js b/dist/raven.js index 37896c4018a2..a91c4f28b249 100644 --- a/dist/raven.js +++ b/dist/raven.js @@ -1,4 +1,4 @@ -/*! Raven.js 1.1.16 (463f68f) | github.com/getsentry/raven-js */ +/*! Raven.js 1.1.16 (2cf8531) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -645,7 +645,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() { return null; } - var chrome = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, + var chrome = /^\s*at (.+?) ?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, gecko = /^\s*(\S*)(?:\((.*?)\))?@((?:file|https?|chrome).*?):(\d+)(?::(\d+))?\s*$/i, lines = ex.stack.split('\n'), stack = [], diff --git a/dist/raven.min.js b/dist/raven.min.js index ae6c0d0b7ca0..9cd9a4f6132c 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 1.1.16 (463f68f) | github.com/getsentry/raven-js */ -!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)j(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=Q.exec(a),c={},e=7;try{for(;e--;)c[P[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){for(var b in a)return!1;return!0}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){var c,d;if(f(a.length))for(c in a)j(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function l(){J="?sentry_version=4&sentry_client=raven-js/"+O.VERSION+"&sentry_key="+H}function m(a,b){var d=[];a.stack&&a.stack.length&&k(a.stack,function(a,b){var c=n(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),p(a.name,a.message,a.url,a.lineno,d,b)}function n(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=o(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!M.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c["function"])||/raven\.(min\.)?js$/.test(c.filename)),c}}function o(a){if(a.context&&M.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function p(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(M.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=r(b,100),M.ignoreUrls&&M.ignoreUrls.test(c)||(!M.whitelistUrls||M.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,t(q({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function q(a,b){return b?(k(b,function(b,c){a[b]=c}),a):a}function r(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function s(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function t(a){v()&&(a=q({project:I,logger:M.logger,site:M.site,platform:"javascript",request:s()},a),a.tags=q(M.tags,a.tags),a.extra=q(M.extra,a.extra),i(a.tags)&&delete a.tags,i(a.extra)&&delete a.extra,G&&(a.user=G),g(M.dataCallback)&&(a=M.dataCallback(a)),(!g(M.shouldSendCallback)||M.shouldSendCallback(a))&&(E=a.event_id||(a.event_id=x()),u(a)))}function u(a){var b=new Image,d=F+J+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function v(){return L?F?!0:(y("error","Error: Raven has not been configured."),!1):!1}function w(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function x(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function y(b,c){a.console&&console[b]&&O.debug&&console[b](c)}function z(){var b=a.RavenConfig;b&&O.config(b.dsn,b.config).install()}var A={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},B=[].slice,C="?";A.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw A.report(b),b}}return b},A.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||A.collectWindowErrors){for(var d in o)if(j(o,d))try{o[d].apply(null,[a].concat(B.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)A.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),k();else if(e)g=A.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=A.computeStackTrace.guessFunctionName(h.url,h.line),h.context=A.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function k(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function l(b,c){var d=B.call(arguments,1);if(r){if(q===b)return;k()}var e=A.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&k()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return l.subscribe=c,l.unsubscribe=d,l.uninstall=e,l}(),A.computeStackTrace=function(){function b(b){if(!A.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!j(v,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),v[a]=c?c.split("\n"):[]}return v[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return C;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return C}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(A.linesOfContext/2),h=g+A.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function k(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function l(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],j=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||C,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||C,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&k?j[0].column=l(k[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,l,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)j(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,l=f.length;l>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=k(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=l(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,k=r.caller;k&&!j;k=k.caller)if(k!==s&&k!==A.report){if(e={url:null,func:C,line:null,column:null},k.name?e.func=k.name:(c=g.exec(k.toString()))&&(e.func=c[1]),f=m(k)){e.url=f.url,e.line=f.line,e.func===C&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=l(n[1],f.url,f.line))}i[""+k]?j=!0:i[""+k]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(u)throw d}try{if(c=n(a))return c}catch(d){if(u)throw d}try{if(c=p(a))return c}catch(d){if(u)throw d}try{if(c=r(a,b+1))return c}catch(d){if(u)throw d}return{}}function t(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return s(b,a+1)}}var u=!1,v={};return s.augmentStackTraceWithInitialElement=q,s.guessFunctionName=d,s.gatherContext=e,s.ofCaller=t,s}();var D,E,F,G,H,I,J,K=a.Raven,L=!(!a.JSON||!a.JSON.stringify),M={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},extra:{}},N=!1,O={VERSION:"1.1.16",debug:!0,noConflict:function(){return a.Raven=K,O},config:function(a,b){if(F)return y("error","Error: Raven has already been configured"),O;if(!a)return O;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&k(b,function(a,b){M[a]=b}),M.ignoreErrors.push("Script error."),M.ignoreErrors.push("Script error"),M.ignoreErrors.push("Javascript error: Script error on line 0"),M.ignoreErrors.push("Javascript error: Script error. on line 0"),M.ignoreErrors=w(M.ignoreErrors),M.ignoreUrls=M.ignoreUrls.length?w(M.ignoreUrls):!1,M.whitelistUrls=M.whitelistUrls.length?w(M.whitelistUrls):!1,M.includePaths=w(M.includePaths),H=c.user,I=c.path.substr(d+1),F="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+I+"/store/",c.protocol&&(F=c.protocol+":"+F),M.fetchContext&&(A.remoteFetching=!0),M.linesOfContext&&(A.linesOfContext=M.linesOfContext),A.collectWindowErrors=!!M.collectWindowErrors,l(),O},install:function(){return v()&&!N&&(A.report.subscribe(m),N=!0),O},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),O.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?O.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw O.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)j(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return A.report.uninstall(),N=!1,O},captureException:function(a,b){if(!(a instanceof Error))return O.captureMessage(a,b);D=a;try{A.report(a,b)}catch(c){if(a!==c)throw c}return O},captureMessage:function(a,b){return t(q({message:a+""},b)),O},setUserContext:function(a){return G=a,O},setExtraContext:function(a){return M.extra=a||{},O},setTagsContext:function(a){return M.tags=a||{},O},lastException:function(){return D},lastEventId:function(){return E}};O.setUser=O.setUserContext;var P="source protocol user pass host port path".split(" "),Q=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,z(),a.Raven=O,"function"==typeof define&&define.amd&&define("raven",[],function(){return O})}(this); +/*! Raven.js 1.1.16 (2cf8531) | github.com/getsentry/raven-js */ +!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)j(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=Q.exec(a),c={},e=7;try{for(;e--;)c[P[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){for(var b in a)return!1;return!0}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){var c,d;if(f(a.length))for(c in a)j(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function l(){J="?sentry_version=4&sentry_client=raven-js/"+O.VERSION+"&sentry_key="+H}function m(a,b){var d=[];a.stack&&a.stack.length&&k(a.stack,function(a,b){var c=n(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),p(a.name,a.message,a.url,a.lineno,d,b)}function n(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=o(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!M.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c["function"])||/raven\.(min\.)?js$/.test(c.filename)),c}}function o(a){if(a.context&&M.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function p(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(M.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=r(b,100),M.ignoreUrls&&M.ignoreUrls.test(c)||(!M.whitelistUrls||M.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,t(q({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function q(a,b){return b?(k(b,function(b,c){a[b]=c}),a):a}function r(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function s(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function t(a){v()&&(a=q({project:I,logger:M.logger,site:M.site,platform:"javascript",request:s()},a),a.tags=q(M.tags,a.tags),a.extra=q(M.extra,a.extra),i(a.tags)&&delete a.tags,i(a.extra)&&delete a.extra,G&&(a.user=G),g(M.dataCallback)&&(a=M.dataCallback(a)),(!g(M.shouldSendCallback)||M.shouldSendCallback(a))&&(E=a.event_id||(a.event_id=x()),u(a)))}function u(a){var b=new Image,d=F+J+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function v(){return L?F?!0:(y("error","Error: Raven has not been configured."),!1):!1}function w(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function x(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function y(b,c){a.console&&console[b]&&O.debug&&console[b](c)}function z(){var b=a.RavenConfig;b&&O.config(b.dsn,b.config).install()}var A={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},B=[].slice,C="?";A.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw A.report(b),b}}return b},A.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||A.collectWindowErrors){for(var d in o)if(j(o,d))try{o[d].apply(null,[a].concat(B.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)A.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),k();else if(e)g=A.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=A.computeStackTrace.guessFunctionName(h.url,h.line),h.context=A.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function k(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function l(b,c){var d=B.call(arguments,1);if(r){if(q===b)return;k()}var e=A.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&k()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return l.subscribe=c,l.unsubscribe=d,l.uninstall=e,l}(),A.computeStackTrace=function(){function b(b){if(!A.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!j(v,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),v[a]=c?c.split("\n"):[]}return v[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return C;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return C}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(A.linesOfContext/2),h=g+A.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function k(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function l(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],j=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||C,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||C,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&k?j[0].column=l(k[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,l,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)j(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,l=f.length;l>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=k(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=l(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,k=r.caller;k&&!j;k=k.caller)if(k!==s&&k!==A.report){if(e={url:null,func:C,line:null,column:null},k.name?e.func=k.name:(c=g.exec(k.toString()))&&(e.func=c[1]),f=m(k)){e.url=f.url,e.line=f.line,e.func===C&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=l(n[1],f.url,f.line))}i[""+k]?j=!0:i[""+k]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(u)throw d}try{if(c=n(a))return c}catch(d){if(u)throw d}try{if(c=p(a))return c}catch(d){if(u)throw d}try{if(c=r(a,b+1))return c}catch(d){if(u)throw d}return{}}function t(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return s(b,a+1)}}var u=!1,v={};return s.augmentStackTraceWithInitialElement=q,s.guessFunctionName=d,s.gatherContext=e,s.ofCaller=t,s}();var D,E,F,G,H,I,J,K=a.Raven,L=!(!a.JSON||!a.JSON.stringify),M={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},extra:{}},N=!1,O={VERSION:"1.1.16",debug:!0,noConflict:function(){return a.Raven=K,O},config:function(a,b){if(F)return y("error","Error: Raven has already been configured"),O;if(!a)return O;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&k(b,function(a,b){M[a]=b}),M.ignoreErrors.push("Script error."),M.ignoreErrors.push("Script error"),M.ignoreErrors.push("Javascript error: Script error on line 0"),M.ignoreErrors.push("Javascript error: Script error. on line 0"),M.ignoreErrors=w(M.ignoreErrors),M.ignoreUrls=M.ignoreUrls.length?w(M.ignoreUrls):!1,M.whitelistUrls=M.whitelistUrls.length?w(M.whitelistUrls):!1,M.includePaths=w(M.includePaths),H=c.user,I=c.path.substr(d+1),F="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+I+"/store/",c.protocol&&(F=c.protocol+":"+F),M.fetchContext&&(A.remoteFetching=!0),M.linesOfContext&&(A.linesOfContext=M.linesOfContext),A.collectWindowErrors=!!M.collectWindowErrors,l(),O},install:function(){return v()&&!N&&(A.report.subscribe(m),N=!0),O},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),O.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?O.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw O.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)j(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return A.report.uninstall(),N=!1,O},captureException:function(a,b){if(!(a instanceof Error))return O.captureMessage(a,b);D=a;try{A.report(a,b)}catch(c){if(a!==c)throw c}return O},captureMessage:function(a,b){return t(q({message:a+""},b)),O},setUserContext:function(a){return G=a,O},setExtraContext:function(a){return M.extra=a||{},O},setTagsContext:function(a){return M.tags=a||{},O},lastException:function(){return D},lastEventId:function(){return E}};O.setUser=O.setUserContext;var P="source protocol user pass host port path".split(" "),Q=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,z(),a.Raven=O,"function"==typeof define&&define.amd&&define("raven",[],function(){return O})}(this); //# sourceMappingURL=raven.min.map \ No newline at end of file diff --git a/dist/raven.min.map b/dist/raven.min.map index 02f8a9c9c8b5..4955ef0762aa 100644 --- a/dist/raven.min.map +++ b/dist/raven.min.map @@ -1 +1 @@ -{"version":3,"file":"raven.min.js","sources":["raven.js"],"names":["window","undefined","triggerEvent","eventType","options","event","key","substr","toUpperCase","document","createEvent","initEvent","createEventObject","hasKey","dispatchEvent","fireEvent","toLowerCase","e","RavenConfigError","message","this","name","parseDSN","str","m","dsnPattern","exec","dsn","i","dsnKeys","pass","isUndefined","what","isFunction","isString","isEmptyObject","k","object","Object","prototype","hasOwnProperty","call","each","obj","callback","j","length","setAuthQueryString","authQueryString","Raven","VERSION","globalKey","handleStackInfo","stackInfo","frames","stack","frame","normalizeFrame","push","processException","url","lineno","normalized","filename","line","colno","column","function","func","context","extractContextFromFrame","keys","in_app","globalOptions","includePaths","test","fetchContext","pivot","isMinified","slice","type","fileurl","stacktrace","label","ignoreErrors","reverse","truncate","ignoreUrls","whitelistUrls","send","objectMerge","exception","value","culprit","obj1","obj2","max","getHttpData","http","location","href","headers","User-Agent","navigator","userAgent","referrer","Referer","data","isSetup","project","globalProject","logger","site","platform","request","tags","extra","globalUser","user","dataCallback","shouldSendCallback","lastEventId","event_id","uuid4","makeRequest","img","Image","src","globalServer","encodeURIComponent","JSON","stringify","onload","onerror","onabort","hasJSON","logDebug","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","join","c","r","Math","random","v","toString","level","console","debug","afterLoad","RavenConfig","config","install","TraceKit","remoteFetching","collectWindowErrors","linesOfContext","_slice","UNKNOWN_FUNCTION","wrap","wrapped","apply","arguments","report","subscribe","handler","installGlobalHandler","handlers","unsubscribe","splice","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","concat","inner","traceKitWindowOnError","lineNo","colNo","ex","lastExceptionStack","computeStackTrace","augmentStackTraceWithInitialElement","processLastException","guessFunctionName","gatherContext","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","lastArgs","lastException","rethrow","args","setTimeout","incomplete","uninstall","loadSource","getXHR","XMLHttpRequest","ActiveXObject","open","responseText","getSource","sourceCache","indexOf","domain","split","reFunctionArgNames","reGuessFunction","maxLines","linesBefore","floor","linesAfter","start","end","min","escapeRegExp","text","escapeCodeAsRegExpForMatchingInsideHTML","body","findSourceInUrls","re","urls","substring","index","lastIndexOf","findSourceInLine","fragment","findSourceByFunctionBody","parts","result","scripts","getElementsByTagName","code","codeRE","eventRE","script","computeStackTraceFromStackProp","element","chrome","gecko","lines","reference","columnNumber","computeStackTraceFromStacktraceProp","testRE","exc","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","inlineScriptBlocks","item","relativeLine","pos","innerText","midline","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","description","sourceURL","fileName","lineNumber","computeStackTraceOfCaller","Error","ofCaller","lastCapturedException","_Raven","isRavenInstalled","noConflict","uri","lastSlash","path","host","port","protocol","deep","captureException","__raven__","property","__inner__","captureMessage","ex1","msg","setUserContext","setExtraContext","setTagsContext","setUser","constructor","define","amd"],"mappings":";CAWC,SAAUA,EAAQC,GACnB,YA63CA,SAASC,GAAaC,EAAWC,GAC7B,GAAIC,GAAOC,CAEXF,GAAUA,MAEVD,EAAY,QAAUA,EAAUI,OAAO,EAAE,GAAGC,cAAgBL,EAAUI,OAAO,GAEzEE,SAASC,aACTL,EAAQI,SAASC,YAAY,cAC7BL,EAAMM,UAAUR,GAAW,GAAM,KAEjCE,EAAQI,SAASG,oBACjBP,EAAMF,UAAYA,EAGtB,KAAKG,IAAOF,GAAaS,EAAOT,EAASE,KACrCD,EAAMC,GAAOF,EAAQE,GAGzB,IAAIG,SAASC,YAETD,SAASK,cAAcT,OAIvB,KACII,SAASM,UAAU,KAAOV,EAAMF,UAAUa,cAAeX,GAC3D,MAAMY,KAOhB,QAASC,GAAiBC,GACtBC,KAAKC,KAAO,mBACZD,KAAKD,QAAUA,EAMnB,QAASG,GAASC,GACd,GAAIC,GAAIC,EAAWC,KAAKH,GACpBI,KACAC,EAAI,CAER,KACI,KAAOA,KAAKD,EAAIE,EAAQD,IAAMJ,EAAEI,IAAM,GACxC,MAAMX,GACJ,KAAM,IAAIC,GAAiB,gBAAkBK,GAGjD,GAAII,EAAIG,KACJ,KAAM,IAAIZ,GAAiB,8CAE/B,OAAOS,GAGX,QAASI,GAAYC,GACjB,MAAuB,mBAATA,GAGlB,QAASC,GAAWD,GAChB,MAAuB,kBAATA,GAGlB,QAASE,GAASF,GACd,MAAuB,gBAATA,GAGlB,QAASG,GAAcH,GACnB,IAAK,GAAII,KAAKJ,GAAM,OAAO,CAC3B,QAAO,EAUX,QAASnB,GAAOwB,EAAQ/B,GACpB,MAAOgC,QAAOC,UAAUC,eAAeC,KAAKJ,EAAQ/B,GAGxD,QAASoC,GAAKC,EAAKC,GACf,GAAIhB,GAAGiB,CAEP,IAAId,EAAYY,EAAIG,QAChB,IAAKlB,IAAKe,GACF9B,EAAO8B,EAAKf,IACZgB,EAASH,KAAK,KAAMb,EAAGe,EAAIf,QAKnC,IADAiB,EAAIF,EAAIG,OAEJ,IAAKlB,EAAI,EAAOiB,EAAJjB,EAAOA,IACfgB,EAASH,KAAK,KAAMb,EAAGe,EAAIf,IAO3C,QAASmB,KACLC,EACI,4CAC6BC,EAAMC,QACnC,eAAiBC,EAIzB,QAASC,GAAgBC,EAAWjD,GAChC,GAAIkD,KAEAD,GAAUE,OAASF,EAAUE,MAAMT,QACnCJ,EAAKW,EAAUE,MAAO,SAAS3B,EAAG2B,GAC9B,GAAIC,GAAQC,EAAeF,EACvBC,IACAF,EAAOI,KAAKF,KAKxBtD,EAAa,UACTmD,UAAWA,EACXjD,QAASA,IAGbuD,EACIN,EAAUhC,KACVgC,EAAUlC,QACVkC,EAAUO,IACVP,EAAUQ,OACVP,EACAlD,GAIR,QAASqD,GAAeD,GACpB,GAAKA,EAAMI,IAAX,CAGA,GAK6ChC,GALzCkC,GACAC,SAAYP,EAAMI,IAClBC,OAAYL,EAAMQ,KAClBC,MAAYT,EAAMU,OAClBC,WAAYX,EAAMY,MAAQ,KAC3BC,EAAUC,EAAwBd,EAErC,IAAIa,EAAS,CACT,GAAIE,IAAQ,cAAe,eAAgB,eAE3C,KADA3C,EAAI,EACGA,KAAKkC,EAAWS,EAAK3C,IAAMyC,EAAQzC,GAY9C,MATAkC,GAAWU,UAENC,EAAcC,aAAaC,KAAKb,EAAWC,WAE5C,qBAAqBY,KAAKb,EAAW,cAErC,qBAAqBa,KAAKb,EAAWC,WAGlCD,GAGX,QAASQ,GAAwBd,GAE7B,GAAKA,EAAMa,SAAYI,EAAcG,aAArC,CAMA,IAJA,GAAIP,GAAUb,EAAMa,QAChBQ,KAAWR,EAAQvB,OAAS,GAC5BlB,EAAIyC,EAAQvB,OAAQgC,GAAa,EAE9BlD,KAKH,GAAIyC,EAAQzC,GAAGkB,OAAS,IAAK,CACzBgC,GAAa,CACb,OAIR,GAAIA,EAAY,CAEZ,GAAI/C,EAAYyB,EAAMU,QAAS,MAI/B,WAEIG,EAAQQ,GAAOtE,OAAOiD,EAAMU,OAAQ,QAK5C,OACIG,EAAQU,MAAM,EAAGF,GACjBR,EAAQQ,GACRR,EAAQU,MAAMF,EAAQ,KAI9B,QAASlB,GAAiBqB,EAAM7D,EAAS8D,EAASpB,EAAQP,EAAQlD,GAC9D,GAAI8E,GAAYC,CAIhBhE,IAAW,IAOE,UAAT6D,GAAqB7D,KAErBsD,EAAcW,aAAaT,KAAKxD,KAEhCmC,GAAUA,EAAOR,QACjBmC,EAAU3B,EAAO,GAAGS,UAAYkB,EAGhC3B,EAAO+B,UACPH,GAAc5B,OAAQA,IACf2B,IACPC,GACI5B,SACIS,SAAUkB,EACVpB,OAAQA,EACRW,QAAQ,MAMpBrD,EAAUmE,EAASnE,EAAS,KAExBsD,EAAcc,YAAcd,EAAcc,WAAWZ,KAAKM,MAC1DR,EAAce,eAAkBf,EAAce,cAAcb,KAAKM,MAErEE,EAAQtB,EAAS1C,EAAU,OAAS0C,EAAS1C,EAG7CsE,EACIC,GAEIC,WACIX,KAAMA,EACNY,MAAOzE,GAGX+D,WAAYA,EACZW,QAASZ,EACT9D,QAASgE,GACV/E,OAIX,QAASsF,GAAYI,EAAMC,GACvB,MAAKA,IAGLrD,EAAKqD,EAAM,SAASzF,EAAKsF,GACrBE,EAAKxF,GAAOsF,IAETE,GALIA,EAQf,QAASR,GAAS/D,EAAKyE,GACnB,MAAOzE,GAAIuB,QAAUkD,EAAMzE,EAAMA,EAAIhB,OAAO,EAAGyF,GAAO,IAG1D,QAASC,KACL,GAAIC,IACAtC,IAAKnD,SAAS0F,SAASC,KACvBC,SACIC,aAAcC,UAAUC,WAQhC,OAJI/F,UAASgG,WACTP,EAAKG,QAAQK,QAAUjG,SAASgG,UAG7BP,EAGX,QAAST,GAAKkB,GACLC,MAELD,EAAOjB,GACHmB,QAASC,EACTC,OAAQtC,EAAcsC,OACtBC,KAAMvC,EAAcuC,KACpBC,SAAU,aAEVC,QAASjB,KACVU,GAGHA,EAAKQ,KAAOzB,EAAYjB,EAAc0C,KAAMR,EAAKQ,MACjDR,EAAKS,MAAQ1B,EAAYjB,EAAc2C,MAAOT,EAAKS,OAG/CjF,EAAcwE,EAAKQ,aAAcR,GAAKQ,KACtChF,EAAcwE,EAAKS,cAAeT,GAAKS,MAEvCC,IAEAV,EAAKW,KAAOD,GAGZpF,EAAWwC,EAAc8C,gBACzBZ,EAAOlC,EAAc8C,aAAaZ,MAIlC1E,EAAWwC,EAAc+C,qBAAwB/C,EAAc+C,mBAAmBb,MAOtFc,EAAcd,EAAKe,WAAaf,EAAKe,SAAWC,KAEhDC,EAAYjB,KAIhB,QAASiB,GAAYjB,GACjB,GAAIkB,GAAM,GAAIC,OACVC,EAAMC,EAAehF,EAAkB,gBAAkBiF,mBAAmBC,KAAKC,UAAUxB,GAE/FkB,GAAIO,OAAS,WACTlI,EAAa,WACTyG,KAAMA,EACNoB,IAAKA,KAGbF,EAAIQ,QAAUR,EAAIS,QAAU,WACxBpI,EAAa,WACTyG,KAAMA,EACNoB,IAAKA,KAGbF,EAAIE,IAAMA,EAGd,QAASnB,KACL,MAAK2B,GACAP,GAIE,GAHHQ,EAAS,QAAS,0CACX,IAHU,EAQzB,QAASC,GAAWC,GAOhB,IAJA,GAEIC,GAFAC,KACAhH,EAAI,EAAGiH,EAAMH,EAAS5F,OAGf+F,EAAJjH,EAASA,IACZ+G,EAAUD,EAAS9G,GACfM,EAASyG,GAGTC,EAAQlF,KAAKiF,EAAQG,QAAQ,8BAA+B,SACrDH,GAAWA,EAAQI,QAE1BH,EAAQlF,KAAKiF,EAAQI,OAI7B,OAAO,IAAIC,QAAOJ,EAAQK,KAAK,KAAM,KAIzC,QAAStB,KACL,MAAO,mCAAmCmB,QAAQ,QAAS,SAASI,GAChE,GAAIC,GAAkB,GAAdC,KAAKC,SAAY,EACrBC,EAAS,KAALJ,EAAWC,EAAO,EAAFA,EAAM,CAC9B,OAAOG,GAAEC,SAAS,MAI1B,QAASf,GAASgB,EAAOrI,GACjBnB,EAAOyJ,SAAWA,QAAQD,IAAUvG,EAAMyG,OAC1CD,QAAQD,GAAOrI,GAIvB,QAASwI,KAEL,GAAIC,GAAc5J,EAAO4J,WACrBA,IACA3G,EAAM4G,OAAOD,EAAYjI,IAAKiI,EAAYC,QAAQC,UA7wD1D,GAAIC,IACAC,gBAAgB,EAChBC,qBAAqB,EAErBC,eAAgB,GAIhBC,KAAYpF,MACZqF,EAAmB,GAUvBL,GAASM,KAAO,SAAyBjG,GACrC,QAASkG,KACL,IACI,MAAOlG,GAAKmG,MAAMnJ,KAAMoJ,WAC1B,MAAOvJ,GAEL,KADA8I,GAASU,OAAOxJ,GACVA,GAGd,MAAOqJ,IA0CXP,EAASU,OAAU,WAUf,QAASC,GAAUC,GACfC,IACAC,EAASnH,KAAKiH,GAOlB,QAASG,GAAYH,GACjB,IAAK,GAAI/I,GAAIiJ,EAAS/H,OAAS,EAAGlB,GAAK,IAAKA,EACpCiJ,EAASjJ,KAAO+I,GAChBE,EAASE,OAAOnJ,EAAG,GAQ/B,QAASoJ,KACLC,IACAJ,KAOJ,QAASK,GAAe3H,EAAO4H,GAC3B,GAAIxF,GAAY,IAChB,KAAIwF,GAAkBpB,EAASE,oBAA/B,CAGA,IAAK,GAAIrI,KAAKiJ,GACV,GAAIhK,EAAOgK,EAAUjJ,GACjB,IACIiJ,EAASjJ,GAAG2I,MAAM,MAAOhH,GAAO6H,OAAOjB,EAAO1H,KAAK+H,UAAW,KAChE,MAAOa,GACL1F,EAAY0F,EAKxB,GAAI1F,EACA,KAAMA,IAiBd,QAAS2F,GAAsBnK,EAASyC,EAAK2H,EAAQC,EAAOC,GACxD,GAAIlI,GAAQ,IAEZ,IAAImI,EACA3B,EAAS4B,kBAAkBC,oCAAoCF,EAAoB9H,EAAK2H,EAAQpK,GAChG0K,QACG,IAAIJ,EAIPlI,EAAQwG,EAAS4B,kBAAkBF,GACnCP,EAAe3H,GAAO,OACnB,CACH,GAAI4C,IACAvC,IAAOA,EACPI,KAAQuH,EACRrH,OAAUsH,EAEdrF,GAAS/B,KAAO2F,EAAS4B,kBAAkBG,kBAAkB3F,EAASvC,IAAKuC,EAASnC,MACpFmC,EAAS9B,QAAU0F,EAAS4B,kBAAkBI,cAAc5F,EAASvC,IAAKuC,EAASnC,MACnFT,GACIpC,QAAWA,EACXyC,IAAOnD,SAAS0F,SAASC,KACzB7C,OAAU4C,IAEd+E,EAAe3H,GAAO,GAG1B,MAAIyI,GACOA,EAAmBzB,MAAMnJ,KAAMoJ,YAGnC,EAGX,QAASI,KAEDqB,IAGJD,EAAqBhM,EAAOqI,QAC5BrI,EAAOqI,QAAUiD,EACjBW,GAA2B,GAG/B,QAAShB,KAEAgB,IAGLjM,EAAOqI,QAAU2D,EACjBC,GAA2B,EAC3BD,EAAqB/L,GAGzB,QAAS4L,KACL,GAAIK,GAAsBR,EACtBS,EAAYC,CAChBA,GAAW,KACXV,EAAqB,KACrBW,EAAgB,KAChBnB,EAAeX,MAAM,MAAO2B,GAAqB,GAAOd,OAAOe,IAUnE,QAAS1B,GAAOgB,EAAIa,GAChB,GAAIC,GAAOpC,EAAO1H,KAAK+H,UAAW,EAClC,IAAIkB,EAAoB,CACpB,GAAIW,IAAkBZ,EAClB,MAEFI,KAIN,GAAItI,GAAQwG,EAAS4B,kBAAkBF,EAevC,IAdAC,EAAqBnI,EACrB8I,EAAgBZ,EAChBW,EAAWG,EAMXvM,EAAOwM,WAAW,WACVH,IAAkBZ,GAClBI,KAEJtI,EAAMkJ,WAAa,IAAO,GAE1BH,KAAY,EACZ,KAAMb,GAxKd,GA0DIO,GAAoBC,EA1DpBpB,KACAuB,EAAW,KACXC,EAAgB,KAChBX,EAAqB,IA4KzB,OAHAjB,GAAOC,UAAYA,EACnBD,EAAOK,YAAcA,EACrBL,EAAOiC,UAAY1B,EACZP,KAqEXV,EAAS4B,kBAAqB,WAU1B,QAASgB,GAAW/I,GAChB,IAAKmG,EAASC,eACV,MAAO,EAEX,KACI,GAAI4C,GAAS,WACT,IACI,MAAO,IAAI5M,GAAO6M,eACpB,MAAO5L,GAEL,MAAO,IAAIjB,GAAO8M,cAAc,uBAIpC5F,EAAU0F,GAGd,OAFA1F,GAAQ6F,KAAK,MAAOnJ,GAAK,GACzBsD,EAAQzB,KAAK,IACNyB,EAAQ8F,aACjB,MAAO/L,GACL,MAAO,IASf,QAASgM,GAAUrJ,GACf,IAAK1B,EAAS0B,GAAM,QACpB,KAAK/C,EAAOqM,EAAatJ,GAAM,CAG3B,GAAImF,GAAS,EACwB,MAAjCnF,EAAIuJ,QAAQ1M,SAAS2M,UACrBrE,EAAS4D,EAAW/I,IAExBsJ,EAAYtJ,GAAOmF,EAASA,EAAOsE,MAAM,SAG7C,MAAOH,GAAYtJ,GAWvB,QAASkI,GAAkBlI,EAAK2H,GAC5B,GAKI/J,GALA8L,EAAqB,8BACrBC,EAAkB,mEAClBvJ,EAAO,GACPwJ,EAAW,GACXzE,EAASkE,EAAUrJ,EAGvB,KAAKmF,EAAOjG,OACR,MAAOsH,EAKX,KAAK,GAAIxI,GAAI,EAAO4L,EAAJ5L,IAAgBA,EAG5B,GAFAoC,EAAO+E,EAAOwC,EAAS3J,GAAKoC,GAEvBjC,EAAYiC,GAAO,CACpB,GAAKxC,EAAI+L,EAAgB7L,KAAKsC,GAC1B,MAAOxC,GAAE,EACN,IAAKA,EAAI8L,EAAmB5L,KAAKsC,GACpC,MAAOxC,GAAE,GAKrB,MAAO4I,GAUX,QAAS2B,GAAcnI,EAAKI,GACxB,GAAI+E,GAASkE,EAAUrJ,EAEvB,KAAKmF,EAAOjG,OACR,MAAO,KAGX,IAAIuB,MAIAoJ,EAAcrE,KAAKsE,MAAM3D,EAASG,eAAiB,GAEnDyD,EAAaF,EAAe1D,EAASG,eAAiB,EACtD0D,EAAQxE,KAAKpD,IAAI,EAAGhC,EAAOyJ,EAAc,GACzCI,EAAMzE,KAAK0E,IAAI/E,EAAOjG,OAAQkB,EAAO2J,EAAa,EAEtD3J,IAAQ,CAER,KAAK,GAAIpC,GAAIgM,EAAWC,EAAJjM,IAAWA,EACtBG,EAAYgH,EAAOnH,KACpByC,EAAQX,KAAKqF,EAAOnH,GAI5B,OAAOyC,GAAQvB,OAAS,EAAIuB,EAAU,KAS1C,QAAS0J,GAAaC,GAClB,MAAOA,GAAKlF,QAAQ,4BAA6B,QAUrD,QAASmF,GAAwCC,GAC7C,MAAOH,GAAaG,GAAMpF,QAAQ,IAAK,cAAcA,QAAQ,IAAK,cAAcA,QAAQ,IAAK,eAAeA,QAAQ,IAAK,gBAAgBA,QAAQ,OAAQ,QAU7J,QAASqF,GAAiBC,EAAIC,GAE1B,IAAK,GADDtF,GAAQvH,EACHI,EAAI,EAAGiB,EAAIwL,EAAKvL,OAAYD,EAAJjB,IAASA,EAEtC,IAAKmH,EAASkE,EAAUoB,EAAKzM,KAAKkB,SAC9BiG,EAASA,EAAOE,KAAK,MAChBzH,EAAI4M,EAAG1M,KAAKqH,IAGb,OACInF,IAAOyK,EAAKzM,GACZoC,KAAQ+E,EAAOuF,UAAU,EAAG9M,EAAE+M,OAAOlB,MAAM,MAAMvK,OACjDoB,OAAU1C,EAAE+M,MAAQxF,EAAOyF,YAAY,KAAMhN,EAAE+M,OAAS,EAQxE,OAAO,MAWX,QAASE,GAAiBC,EAAU9K,EAAKI,GACrC,GAEIxC,GAFAuH,EAASkE,EAAUrJ,GACnBwK,EAAK,GAAIpF,QAAO,MAAQ+E,EAAaW,GAAY,MAKrD,OAFA1K,IAAQ,EAEJ+E,GAAUA,EAAOjG,OAASkB,IAASxC,EAAI4M,EAAG1M,KAAKqH,EAAO/E,KAC/CxC,EAAE+M,MAGN,KAUX,QAASI,GAAyBvK,GAW9B,IAAK,GARD8J,GAIAE,EACAQ,EACAC,EARAR,GAAQrO,EAAOmG,SAASC,MACxB0I,EAAUrO,SAASsO,qBAAqB,UAExCC,EAAO,GAAK5K,EACZ6K,EAAS,2EACTC,EAAU,iEAKLtN,EAAI,EAAGA,EAAIkN,EAAQhM,SAAUlB,EAAG,CACrC,GAAIuN,GAASL,EAAQlN,EACjBuN,GAAOpH,KACPsG,EAAK3K,KAAKyL,EAAOpH,KAIzB,GAAM6G,EAAQK,EAAOvN,KAAKsN,GAMrB,CACD,GAAI3N,GAAOuN,EAAM,GAAK,OAASA,EAAM,GAAK,GACtCrC,EAAOqC,EAAM,GAAGvB,MAAM,KAAKpE,KAAK,YAEpCiF,GAAOH,EAAaa,EAAM,IAAI9F,QAAQ,KAAM,MAC5CsF,EAAK,GAAIpF,QAAO,WAAa3H,EAAO,cAAgBkL,EAAO,mBAAqB2B,EAAO,aAVvFE,GAAK,GAAIpF,QAAO+E,EAAaiB,GAAMlG,QAAQ,OAAQ,QAcvD,IAAK+F,EAASV,EAAiBC,EAAIC,GAC/B,MAAOQ,EAIX,IAAKD,EAAQM,EAAQxN,KAAKsN,GAAQ,CAC9B,GAAI3O,GAAQuO,EAAM,EAMlB,IALAV,EAAOD,EAAwCW,EAAM,IAGrDR,EAAK,GAAIpF,QAAO,KAAO3I,EAAQ,eAAiB6N,EAAO,cAAe,KAEjEW,EAASV,EAAiBC,EAAIC,EAAK,IACpC,MAAOQ,EAMX,IAFAT,EAAK,GAAIpF,QAAOkF,GAEXW,EAASV,EAAiBC,EAAIC,GAC/B,MAAOQ,GAIf,MAAO,MA8CX,QAASO,GAA+B3D,GACpC,IAAKA,EAAGlI,MACJ,MAAO,KAWX,KAAK,GAJDqL,GACAS,EALAC,EAAS,6HACTC,EAAQ,4EACRC,EAAQ/D,EAAGlI,MAAM8J,MAAM,MACvB9J,KAGAkM,EAAY,sBAAsB/N,KAAK+J,EAAGtK,SAErCS,EAAI,EAAGiB,EAAI2M,EAAM1M,OAAYD,EAAJjB,IAASA,EAAG,CAC1C,GAAKgN,EAAQW,EAAM7N,KAAK8N,EAAM5N,IAC1ByN,GACIzL,IAAOgL,EAAM,GACbxK,KAAQwK,EAAM,IAAMxE,EACpBmC,KAAQqC,EAAM,GAAKA,EAAM,GAAGvB,MAAM,KAAO,GACzCrJ,MAAS4K,EAAM,GACf1K,OAAU0K,EAAM,IAAMA,EAAM,GAAK,UAElC,CAAA,KAAKA,EAAQU,EAAO5N,KAAK8N,EAAM5N,KAQlC,QAPAyN,IACIzL,IAAOgL,EAAM,GACbxK,KAAQwK,EAAM,IAAMxE,EACpBpG,MAAS4K,EAAM,GACf1K,OAAU0K,EAAM,IAAMA,EAAM,GAAK,OAMpCS,EAAQjL,MAAQiL,EAAQrL,OACzBqL,EAAQjL,KAAO0H,EAAkBuD,EAAQzL,IAAKyL,EAAQrL,OAGtDqL,EAAQrL,OACRqL,EAAQhL,QAAU0H,EAAcsD,EAAQzL,IAAKyL,EAAQrL,OAGzDT,EAAMG,KAAK2L,GAGf,MAAK9L,GAAMT,QAIPS,EAAM,GAAGS,OAAST,EAAM,GAAGW,QAAUuL,EACrClM,EAAM,GAAGW,OAASuK,EAAiBgB,EAAU,GAAIlM,EAAM,GAAGK,IAAKL,EAAM,GAAGS,MAChET,EAAM,GAAGW,QAAWnC,EAAY0J,EAAGiE,gBAI3CnM,EAAM,GAAGW,OAASuH,EAAGiE,aAAe,IAIpCrO,KAAQoK,EAAGpK,KACXF,QAAWsK,EAAGtK,QACdyC,IAAOnD,SAAS0F,SAASC,KACzB7C,MAASA,IAhBF,KA0Bf,QAASoM,GAAoClE,GAWzC,IAAK,GAFDmD,GALA1J,EAAauG,EAAGvG,WAEhB0K,EAAS,gGACTJ,EAAQtK,EAAWmI,MAAM,MACzB9J,KAGK3B,EAAI,EAAGiB,EAAI2M,EAAM1M,OAAYD,EAAJjB,EAAOA,GAAK,EAC1C,GAAKgN,EAAQgB,EAAOlO,KAAK8N,EAAM5N,IAAM,CACjC,GAAIyN,IACArL,MAAS4K,EAAM,GACf1K,QAAW0K,EAAM,GACjBxK,KAAQwK,EAAM,IAAMA,EAAM,GAC1BrC,KAAQqC,EAAM,GAAKA,EAAM,GAAGvB,MAAM,QAClCzJ,IAAOgL,EAAM,GAMjB,KAHKS,EAAQjL,MAAQiL,EAAQrL,OACzBqL,EAAQjL,KAAO0H,EAAkBuD,EAAQzL,IAAKyL,EAAQrL,OAEtDqL,EAAQrL,KACR,IACIqL,EAAQhL,QAAU0H,EAAcsD,EAAQzL,IAAKyL,EAAQrL,MACvD,MAAO6L,IAGRR,EAAQhL,UACTgL,EAAQhL,SAAWmL,EAAM5N,EAAI,KAGjC2B,EAAMG,KAAK2L,GAInB,MAAK9L,GAAMT,QAKPzB,KAAQoK,EAAGpK,KACXF,QAAWsK,EAAGtK,QACdyC,IAAOnD,SAAS0F,SAASC,KACzB7C,MAASA,GAPF,KAoBf,QAASuM,GAA2CrE,GAehD,GAAI+D,GAAQ/D,EAAGtK,QAAQkM,MAAM,KAC7B,IAAImC,EAAM1M,OAAS,EACf,MAAO,KAGX,IAMI8L,GACAhN,EACAiH,EACAE,EATAgH,EAAU,oFACVC,EAAU,6FACVC,EAAU,yCACV1M,KACAuL,EAAUrO,SAASsO,qBAAqB,UACxCmB,IAMJ,KAAKtO,IAAKkN,GACFjO,EAAOiO,EAASlN,KAAOkN,EAAQlN,GAAGmG,KAClCmI,EAAmBxM,KAAKoL,EAAQlN,GAIxC,KAAKA,EAAI,EAAGiH,EAAM2G,EAAM1M,OAAY+F,EAAJjH,EAASA,GAAK,EAAG,CAC7C,GAAIuO,GAAO,IACX,IAAKvB,EAAQmB,EAAQrO,KAAK8N,EAAM5N,IAC5BuO,GACIvM,IAAOgL,EAAM,GACbxK,KAAQwK,EAAM,GACd5K,MAAS4K,EAAM,QAEhB,IAAKA,EAAQoB,EAAQtO,KAAK8N,EAAM5N,IAAM,CACzCuO,GACIvM,IAAOgL,EAAM,GACbxK,KAAQwK,EAAM,GAElB,IAAIwB,IAAiBxB,EAAM,GACvBO,EAASe,EAAmBtB,EAAM,GAAK,EAC3C,IAAIO,IACApG,EAASkE,EAAUkD,EAAKvM,MACZ,CACRmF,EAASA,EAAOE,KAAK,KACrB,IAAIoH,GAAMtH,EAAOoE,QAAQgC,EAAOmB,UAC5BD,IAAO,IACPF,EAAKnM,KAAOoM,EAAerH,EAAOuF,UAAU,EAAG+B,GAAKhD,MAAM,MAAMvK,aAIzE,IAAK8L,EAAQqB,EAAQvO,KAAK8N,EAAM5N,IAAM,CACzC,GAAIgC,GAAM5D,EAAOmG,SAASC,KAAK0C,QAAQ,OAAQ,IAC3C9E,EAAO4K,EAAM,GACbR,EAAK,GAAIpF,QAAOiF,EAAwCuB,EAAM5N,EAAI,IACtEmH,GAASoF,EAAiBC,GAAKxK,IAC/BuM,GACIvM,IAAOA,EACPI,KAAQ+E,EAASA,EAAO/E,KAAOA,EAC/BI,KAAQ,IAIhB,GAAI+L,EAAM,CACDA,EAAK/L,OACN+L,EAAK/L,KAAO0H,EAAkBqE,EAAKvM,IAAKuM,EAAKnM,MAEjD,IAAIK,GAAU0H,EAAcoE,EAAKvM,IAAKuM,EAAKnM,MACvCuM,EAAWlM,EAAUA,EAAQ+E,KAAKsE,MAAMrJ,EAAQvB,OAAS,IAAM,IAE/DqN,GAAK9L,QADLA,GAAWkM,EAAQzH,QAAQ,OAAQ,MAAQ0G,EAAM5N,EAAI,GAAGkH,QAAQ,OAAQ,IACzDzE,GAGCmL,EAAM5N,EAAI,IAE9B2B,EAAMG,KAAKyM,IAGnB,MAAK5M,GAAMT,QAKPzB,KAAQoK,EAAGpK,KACXF,QAAWqO,EAAM,GACjB5L,IAAOnD,SAAS0F,SAASC,KACzB7C,MAASA,GAPF,KAwBf,QAASqI,GAAoCvI,EAAWO,EAAK2H,EAAQpK,GACjE,GAAIqP,IACA5M,IAAOA,EACPI,KAAQuH,EAGZ,IAAIiF,EAAQ5M,KAAO4M,EAAQxM,KAAM,CAC7BX,EAAUoJ,YAAa,EAElB+D,EAAQpM,OACToM,EAAQpM,KAAO0H,EAAkB0E,EAAQ5M,IAAK4M,EAAQxM,OAGrDwM,EAAQnM,UACTmM,EAAQnM,QAAU0H,EAAcyE,EAAQ5M,IAAK4M,EAAQxM,MAGzD,IAAIyL,GAAY,cAAc/N,KAAKP,EAKnC,IAJIsO,IACAe,EAAQtM,OAASuK,EAAiBgB,EAAU,GAAIe,EAAQ5M,IAAK4M,EAAQxM,OAGrEX,EAAUE,MAAMT,OAAS,GACrBO,EAAUE,MAAM,GAAGK,MAAQ4M,EAAQ5M,IAAK,CACxC,GAAIP,EAAUE,MAAM,GAAGS,OAASwM,EAAQxM,KACpC,OAAO,CACJ,KAAKX,EAAUE,MAAM,GAAGS,MAAQX,EAAUE,MAAM,GAAGa,OAASoM,EAAQpM,KAGvE,MAFAf,GAAUE,MAAM,GAAGS,KAAOwM,EAAQxM,KAClCX,EAAUE,MAAM,GAAGc,QAAUmM,EAAQnM,SAC9B,EAOnB,MAFAhB,GAAUE,MAAMkN,QAAQD,GACxBnN,EAAUqN,SAAU,GACb,EAKX,MAHIrN,GAAUoJ,YAAa,GAGpB,EAYX,QAASkE,GAAsClF,EAAImF,GAS/C,IAAK,GAJDhC,GACAuB,EACApH,EANA8H,EAAe,qEACftN,KACAuN,KACAC,GAAY,EAKPC,EAAOL,EAAsCM,OAAQD,IAASD,EAAWC,EAAOA,EAAKC,OAC1F,GAAID,IAASrF,GAAqBqF,IAASjH,EAASU,OAApD,CAkBA,GAbA0F,GACIvM,IAAO,KACPQ,KAAQgG,EACRpG,KAAQ,KACRE,OAAU,MAGV8M,EAAK3P,KACL8O,EAAK/L,KAAO4M,EAAK3P,MACTuN,EAAQiC,EAAanP,KAAKsP,EAAKzH,eACvC4G,EAAK/L,KAAOwK,EAAM,IAGjB7F,EAAS4F,EAAyBqC,GAAQ,CAC3Cb,EAAKvM,IAAMmF,EAAOnF,IAClBuM,EAAKnM,KAAO+E,EAAO/E,KAEfmM,EAAK/L,OAASgG,IACd+F,EAAK/L,KAAO0H,EAAkBqE,EAAKvM,IAAKuM,EAAKnM,MAGjD,IAAIyL,GAAY,cAAc/N,KAAK+J,EAAGtK,SAAWsK,EAAGyF,YAChDzB,KACAU,EAAKjM,OAASuK,EAAiBgB,EAAU,GAAI1G,EAAOnF,IAAKmF,EAAO/E,OAIpE8M,EAAM,GAAKE,GACXD,GAAY,EAEZD,EAAM,GAAKE,IAAQ,EAGvBzN,EAAMG,KAAKyM,GAGXS,GAGArN,EAAMwH,OAAO,EAAG6F,EAGpB,IAAI/B,IACAxN,KAAQoK,EAAGpK,KACXF,QAAWsK,EAAGtK,QACdyC,IAAOnD,SAAS0F,SAASC,KACzB7C,MAASA,EAGb,OADAqI,GAAoCiD,EAAQpD,EAAG0F,WAAa1F,EAAG2F,SAAU3F,EAAGzH,MAAQyH,EAAG4F,WAAY5F,EAAGtK,SAAWsK,EAAGyF,aAC7GrC,EAQX,QAASlD,GAAkBF,EAAImF,GAC3B,GAAIrN,GAAQ,IACZqN,GAAkB,MAATA,EAAgB,GAAKA,CAE9B,KAKI,GADArN,EAAQoM,EAAoClE,GAExC,MAAOlI,GAEb,MAAOtC,GACL,GAAIyI,EACA,KAAMzI,GAId,IAEI,GADAsC,EAAQ6L,EAA+B3D,GAEnC,MAAOlI,GAEb,MAAOtC,GACL,GAAIyI,EACA,KAAMzI,GAId,IAEI,GADAsC,EAAQuM,EAA2CrE,GAE/C,MAAOlI,GAEb,MAAOtC,GACL,GAAIyI,EACA,KAAMzI,GAId,IAEI,GADAsC,EAAQoN,EAAsClF,EAAImF,EAAQ,GAEtD,MAAOrN,GAEb,MAAOtC,GACL,GAAIyI,EACA,KAAMzI,GAId,SAQJ,QAASqQ,GAA0BV,GAC/BA,GAAkB,MAATA,EAAgB,GAAKA,GAAS,CACvC,KACI,KAAM,IAAIW,OACZ,MAAO9F,GACL,MAAOE,GAAkBF,EAAImF,EAAQ,IApuB7C,GAAIlH,IAAQ,EACRwD,IA4uBJ,OALAvB,GAAkBC,oCAAsCA,EACxDD,EAAkBG,kBAAoBA,EACtCH,EAAkBI,cAAgBA,EAClCJ,EAAkB6F,SAAWF,EAEtB3F,IAQX,IAEI8F,GACAhK,EACAO,EACAX,EACAlE,EACA2D,EAWA9D,EAlBA0O,EAAS1R,EAAOiD,MAChBsF,KAAavI,EAAOkI,OAAQlI,EAAOkI,KAAKC,WAOxC1D,GACIsC,OAAQ,aACR3B,gBACAG,cACAC,iBACAd,gBACAuF,qBAAqB,EACrB9C,QACAC,UAGJuK,GAAmB,EAOnB1O,GACAC,QAAS,SAETwG,OAAO,EAQPkI,WAAY,WAER,MADA5R,GAAOiD,MAAQyO,EACRzO,GAUX4G,OAAQ,SAASlI,EAAKvB,GAClB,GAAI4H,EAEA,MADAQ,GAAS,QAAS,4CACXvF,CAEX,KAAKtB,EAAK,MAAOsB,EAEjB,IAAI4O,GAAMvQ,EAASK,GACfmQ,EAAYD,EAAIE,KAAKvD,YAAY,KACjCuD,EAAOF,EAAIE,KAAKxR,OAAO,EAAGuR,EAiD9B,OA9CI1R,IACAsC,EAAKtC,EAAS,SAASE,EAAKsF,GACxBnB,EAAcnE,GAAOsF,IAM7BnB,EAAcW,aAAa1B,KAAK,iBAChCe,EAAcW,aAAa1B,KAAK,gBAGhCe,EAAcW,aAAa1B,KAAK,4CAChCe,EAAcW,aAAa1B,KAAK,6CAGhCe,EAAcW,aAAeqD,EAAWhE,EAAcW,cACtDX,EAAcc,WAAad,EAAcc,WAAWzC,OAAS2F,EAAWhE,EAAcc,aAAc,EACpGd,EAAce,cAAgBf,EAAce,cAAc1C,OAAS2F,EAAWhE,EAAce,gBAAiB,EAC7Gf,EAAcC,aAAe+D,EAAWhE,EAAcC,cAEtDvB,EAAY0O,EAAIvK,KAChBR,EAAgB+K,EAAIE,KAAKxR,OAAOuR,EAAY,GAG5C9J,EAAe,KAAO6J,EAAIG,MACXH,EAAII,KAAO,IAAMJ,EAAII,KAAO,IAC7B,IAAMF,EAAO,OAASjL,EAAgB,UAEhD+K,EAAIK,WACJlK,EAAe6J,EAAIK,SAAW,IAAMlK,GAGpCvD,EAAcG,eACdmF,EAASC,gBAAiB,GAG1BvF,EAAcyF,iBACdH,EAASG,eAAiBzF,EAAcyF,gBAG5CH,EAASE,sBAAwBxF,EAAcwF,oBAE/ClH,IAGOE,GAWX6G,QAAS,WAML,MALIlD,OAAc+K,IACd5H,EAASU,OAAOC,UAAUtH,GAC1BuO,GAAmB,GAGhB1O,GAWXoB,QAAS,SAASjE,EAASgE,EAAMmI,GAO7B,MANItK,GAAW7B,KACXmM,EAAOnI,MACPA,EAAOhE,EACPA,EAAUH,GAGPgD,EAAMoH,KAAKjK,EAASgE,GAAMmG,MAAMnJ,KAAMmL,IAUjDlC,KAAM,SAASjK,EAASgE,GAwBpB,QAASkG,KAML,IALA,GAAIiC,MAAW3K,EAAI4I,UAAU1H,OACzBqP,GAAQ/R,GAAWA,GAAWA,EAAQ+R,QAAS,EAI7CvQ,KAAK2K,EAAK3K,GAAKuQ,EAAOlP,EAAMoH,KAAKjK,EAASoK,UAAU5I,IAAM4I,UAAU5I,EAE1E,KAEI,MAAOwC,GAAKmG,MAAMnJ,KAAMmL,GAC1B,MAAMtL,GAEJ,KADAgC,GAAMmP,iBAAiBnR,EAAGb,GACpBa,GAlCd,GAAIc,EAAYqC,KAAUnC,EAAW7B,GACjC,MAAOA,EAWX,IAPI6B,EAAW7B,KACXgE,EAAOhE,EACPA,EAAUH,IAKTgC,EAAWmC,GACZ,MAAOA,EAIX,IAAIA,EAAKiO,UACL,MAAOjO,EAqBX,KAAK,GAAIkO,KAAYlO,GACbvD,EAAOuD,EAAMkO,KACbhI,EAAQgI,GAAYlO,EAAKkO,GASjC,OAHAhI,GAAQ+H,WAAY,EACpB/H,EAAQiI,UAAYnO,EAEbkG,GAQXoC,UAAW,WAIP,MAHA3C,GAASU,OAAOiC,YAChBiF,GAAmB,EAEZ1O,GAUXmP,iBAAkB,SAAS3G,EAAIrL,GAE3B,KAAMqL,YAAc8F,QAAQ,MAAOtO,GAAMuP,eAAe/G,EAAIrL,EAG5DqR,GAAwBhG,CAOxB,KACI1B,EAASU,OAAOgB,EAAIrL,GACtB,MAAMqS,GACJ,GAAGhH,IAAOgH,EACN,KAAMA,GAId,MAAOxP,IAUXuP,eAAgB,SAASE,EAAKtS,GAQ1B,MANAqF,GACIC,GACIvE,QAASuR,EAAM,IAChBtS,IAGA6C,GASX0P,eAAgB,SAASrL,GAGtB,MAFAD,GAAaC,EAENrE,GASV2P,gBAAiB,SAASxL,GAGvB,MAFA3C,GAAc2C,MAAQA,MAEfnE,GASV4P,eAAgB,SAAS1L,GAGtB,MAFA1C,GAAc0C,KAAOA,MAEdlE,GAQVoJ,cAAe,WACX,MAAOoF,IAQXhK,YAAa,WACT,MAAOA,IAIfxE,GAAM6P,QAAU7P,EAAM0P,cAiCtB,IAAI9Q,GAAU,2CAA2CwL,MAAM,KAC3D5L,EAAa,0DAMjBP,GAAiBqB,UAAY,GAAIgP,OACjCrQ,EAAiBqB,UAAUwQ,YAAc7R,EAmXzCyI,IAGA3J,EAAOiD,MAAQA,EAGO,kBAAX+P,SAAyBA,OAAOC,KACvCD,OAAO,WAAa,WAAa,MAAO/P,MAGzC7B"} \ No newline at end of file +{"version":3,"file":"raven.min.js","sources":["raven.js"],"names":["window","undefined","triggerEvent","eventType","options","event","key","substr","toUpperCase","document","createEvent","initEvent","createEventObject","hasKey","dispatchEvent","fireEvent","toLowerCase","e","RavenConfigError","message","this","name","parseDSN","str","m","dsnPattern","exec","dsn","i","dsnKeys","pass","isUndefined","what","isFunction","isString","isEmptyObject","k","object","Object","prototype","hasOwnProperty","call","each","obj","callback","j","length","setAuthQueryString","authQueryString","Raven","VERSION","globalKey","handleStackInfo","stackInfo","frames","stack","frame","normalizeFrame","push","processException","url","lineno","normalized","filename","line","colno","column","function","func","context","extractContextFromFrame","keys","in_app","globalOptions","includePaths","test","fetchContext","pivot","isMinified","slice","type","fileurl","stacktrace","label","ignoreErrors","reverse","truncate","ignoreUrls","whitelistUrls","send","objectMerge","exception","value","culprit","obj1","obj2","max","getHttpData","http","location","href","headers","User-Agent","navigator","userAgent","referrer","Referer","data","isSetup","project","globalProject","logger","site","platform","request","tags","extra","globalUser","user","dataCallback","shouldSendCallback","lastEventId","event_id","uuid4","makeRequest","img","Image","src","globalServer","encodeURIComponent","JSON","stringify","onload","onerror","onabort","hasJSON","logDebug","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","join","c","r","Math","random","v","toString","level","console","debug","afterLoad","RavenConfig","config","install","TraceKit","remoteFetching","collectWindowErrors","linesOfContext","_slice","UNKNOWN_FUNCTION","wrap","wrapped","apply","arguments","report","subscribe","handler","installGlobalHandler","handlers","unsubscribe","splice","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","concat","inner","traceKitWindowOnError","lineNo","colNo","ex","lastExceptionStack","computeStackTrace","augmentStackTraceWithInitialElement","processLastException","guessFunctionName","gatherContext","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","lastArgs","lastException","rethrow","args","setTimeout","incomplete","uninstall","loadSource","getXHR","XMLHttpRequest","ActiveXObject","open","responseText","getSource","sourceCache","indexOf","domain","split","reFunctionArgNames","reGuessFunction","maxLines","linesBefore","floor","linesAfter","start","end","min","escapeRegExp","text","escapeCodeAsRegExpForMatchingInsideHTML","body","findSourceInUrls","re","urls","substring","index","lastIndexOf","findSourceInLine","fragment","findSourceByFunctionBody","parts","result","scripts","getElementsByTagName","code","codeRE","eventRE","script","computeStackTraceFromStackProp","element","chrome","gecko","lines","reference","columnNumber","computeStackTraceFromStacktraceProp","testRE","exc","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","inlineScriptBlocks","item","relativeLine","pos","innerText","midline","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","description","sourceURL","fileName","lineNumber","computeStackTraceOfCaller","Error","ofCaller","lastCapturedException","_Raven","isRavenInstalled","noConflict","uri","lastSlash","path","host","port","protocol","deep","captureException","__raven__","property","__inner__","captureMessage","ex1","msg","setUserContext","setExtraContext","setTagsContext","setUser","constructor","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/test/raven.test.js b/test/raven.test.js index ca352e4d4bda..f980bdee122d 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -1064,6 +1064,25 @@ describe('globals', function() { 'Matt', 'hey', 'http://example.com', 10, [], undefined ]); }); + + it('should detect 2-words patterns (angularjs frequent case)', function() { + this.sinon.stub(window, 'normalizeFrame').returns(undefined); + this.sinon.stub(window, 'processException'); + + var stackInfo = { + name: 'new ', + message: 'hey', + url: 'http://example.com', + lineno: 10 + // stack: new Array(2) + }; + + handleStackInfo(stackInfo); + assert.isFalse(window.normalizeFrame.called); + assert.deepEqual(window.processException.lastCall.args, [ + 'new ', 'hey', 'http://example.com', 10, [], undefined + ]); + }); }); describe('joinRegExp', function() { diff --git a/vendor/TraceKit/tracekit.js b/vendor/TraceKit/tracekit.js index 00f69525bd2a..af66eaa74f57 100644 --- a/vendor/TraceKit/tracekit.js +++ b/vendor/TraceKit/tracekit.js @@ -631,7 +631,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() { return null; } - var chrome = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, + var chrome = /^\s*at (.+?) ?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, gecko = /^\s*(\S*)(?:\((.*?)\))?@((?:file|https?|chrome).*?):(\d+)(?::(\d+))?\s*$/i, lines = ex.stack.split('\n'), stack = [], From 2d58069f6e1718ae3e02795d854ace1054ac3966 Mon Sep 17 00:00:00 2001 From: Victor Perron Date: Wed, 6 Aug 2014 21:38:34 +0200 Subject: [PATCH 2/2] Uncommit dist/ files --- dist/raven.js | 4 ++-- dist/raven.min.js | 4 ++-- dist/raven.min.map | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/raven.js b/dist/raven.js index a91c4f28b249..37896c4018a2 100644 --- a/dist/raven.js +++ b/dist/raven.js @@ -1,4 +1,4 @@ -/*! Raven.js 1.1.16 (2cf8531) | github.com/getsentry/raven-js */ +/*! Raven.js 1.1.16 (463f68f) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -645,7 +645,7 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() { return null; } - var chrome = /^\s*at (.+?) ?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, + var chrome = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, gecko = /^\s*(\S*)(?:\((.*?)\))?@((?:file|https?|chrome).*?):(\d+)(?::(\d+))?\s*$/i, lines = ex.stack.split('\n'), stack = [], diff --git a/dist/raven.min.js b/dist/raven.min.js index 9cd9a4f6132c..ae6c0d0b7ca0 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 1.1.16 (2cf8531) | github.com/getsentry/raven-js */ -!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)j(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=Q.exec(a),c={},e=7;try{for(;e--;)c[P[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){for(var b in a)return!1;return!0}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){var c,d;if(f(a.length))for(c in a)j(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function l(){J="?sentry_version=4&sentry_client=raven-js/"+O.VERSION+"&sentry_key="+H}function m(a,b){var d=[];a.stack&&a.stack.length&&k(a.stack,function(a,b){var c=n(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),p(a.name,a.message,a.url,a.lineno,d,b)}function n(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=o(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!M.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c["function"])||/raven\.(min\.)?js$/.test(c.filename)),c}}function o(a){if(a.context&&M.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function p(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(M.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=r(b,100),M.ignoreUrls&&M.ignoreUrls.test(c)||(!M.whitelistUrls||M.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,t(q({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function q(a,b){return b?(k(b,function(b,c){a[b]=c}),a):a}function r(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function s(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function t(a){v()&&(a=q({project:I,logger:M.logger,site:M.site,platform:"javascript",request:s()},a),a.tags=q(M.tags,a.tags),a.extra=q(M.extra,a.extra),i(a.tags)&&delete a.tags,i(a.extra)&&delete a.extra,G&&(a.user=G),g(M.dataCallback)&&(a=M.dataCallback(a)),(!g(M.shouldSendCallback)||M.shouldSendCallback(a))&&(E=a.event_id||(a.event_id=x()),u(a)))}function u(a){var b=new Image,d=F+J+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function v(){return L?F?!0:(y("error","Error: Raven has not been configured."),!1):!1}function w(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function x(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function y(b,c){a.console&&console[b]&&O.debug&&console[b](c)}function z(){var b=a.RavenConfig;b&&O.config(b.dsn,b.config).install()}var A={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},B=[].slice,C="?";A.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw A.report(b),b}}return b},A.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||A.collectWindowErrors){for(var d in o)if(j(o,d))try{o[d].apply(null,[a].concat(B.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)A.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),k();else if(e)g=A.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=A.computeStackTrace.guessFunctionName(h.url,h.line),h.context=A.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function k(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function l(b,c){var d=B.call(arguments,1);if(r){if(q===b)return;k()}var e=A.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&k()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return l.subscribe=c,l.unsubscribe=d,l.uninstall=e,l}(),A.computeStackTrace=function(){function b(b){if(!A.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!j(v,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),v[a]=c?c.split("\n"):[]}return v[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return C;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return C}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(A.linesOfContext/2),h=g+A.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function k(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function l(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],j=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||C,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||C,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&k?j[0].column=l(k[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,l,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)j(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,l=f.length;l>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=k(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=l(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,k=r.caller;k&&!j;k=k.caller)if(k!==s&&k!==A.report){if(e={url:null,func:C,line:null,column:null},k.name?e.func=k.name:(c=g.exec(k.toString()))&&(e.func=c[1]),f=m(k)){e.url=f.url,e.line=f.line,e.func===C&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=l(n[1],f.url,f.line))}i[""+k]?j=!0:i[""+k]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(u)throw d}try{if(c=n(a))return c}catch(d){if(u)throw d}try{if(c=p(a))return c}catch(d){if(u)throw d}try{if(c=r(a,b+1))return c}catch(d){if(u)throw d}return{}}function t(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return s(b,a+1)}}var u=!1,v={};return s.augmentStackTraceWithInitialElement=q,s.guessFunctionName=d,s.gatherContext=e,s.ofCaller=t,s}();var D,E,F,G,H,I,J,K=a.Raven,L=!(!a.JSON||!a.JSON.stringify),M={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},extra:{}},N=!1,O={VERSION:"1.1.16",debug:!0,noConflict:function(){return a.Raven=K,O},config:function(a,b){if(F)return y("error","Error: Raven has already been configured"),O;if(!a)return O;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&k(b,function(a,b){M[a]=b}),M.ignoreErrors.push("Script error."),M.ignoreErrors.push("Script error"),M.ignoreErrors.push("Javascript error: Script error on line 0"),M.ignoreErrors.push("Javascript error: Script error. on line 0"),M.ignoreErrors=w(M.ignoreErrors),M.ignoreUrls=M.ignoreUrls.length?w(M.ignoreUrls):!1,M.whitelistUrls=M.whitelistUrls.length?w(M.whitelistUrls):!1,M.includePaths=w(M.includePaths),H=c.user,I=c.path.substr(d+1),F="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+I+"/store/",c.protocol&&(F=c.protocol+":"+F),M.fetchContext&&(A.remoteFetching=!0),M.linesOfContext&&(A.linesOfContext=M.linesOfContext),A.collectWindowErrors=!!M.collectWindowErrors,l(),O},install:function(){return v()&&!N&&(A.report.subscribe(m),N=!0),O},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),O.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?O.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw O.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)j(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return A.report.uninstall(),N=!1,O},captureException:function(a,b){if(!(a instanceof Error))return O.captureMessage(a,b);D=a;try{A.report(a,b)}catch(c){if(a!==c)throw c}return O},captureMessage:function(a,b){return t(q({message:a+""},b)),O},setUserContext:function(a){return G=a,O},setExtraContext:function(a){return M.extra=a||{},O},setTagsContext:function(a){return M.tags=a||{},O},lastException:function(){return D},lastEventId:function(){return E}};O.setUser=O.setUserContext;var P="source protocol user pass host port path".split(" "),Q=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,z(),a.Raven=O,"function"==typeof define&&define.amd&&define("raven",[],function(){return O})}(this); +/*! Raven.js 1.1.16 (463f68f) | github.com/getsentry/raven-js */ +!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)j(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=Q.exec(a),c={},e=7;try{for(;e--;)c[P[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){for(var b in a)return!1;return!0}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){var c,d;if(f(a.length))for(c in a)j(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function l(){J="?sentry_version=4&sentry_client=raven-js/"+O.VERSION+"&sentry_key="+H}function m(a,b){var d=[];a.stack&&a.stack.length&&k(a.stack,function(a,b){var c=n(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),p(a.name,a.message,a.url,a.lineno,d,b)}function n(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=o(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!M.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c["function"])||/raven\.(min\.)?js$/.test(c.filename)),c}}function o(a){if(a.context&&M.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function p(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(M.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=r(b,100),M.ignoreUrls&&M.ignoreUrls.test(c)||(!M.whitelistUrls||M.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,t(q({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function q(a,b){return b?(k(b,function(b,c){a[b]=c}),a):a}function r(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function s(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function t(a){v()&&(a=q({project:I,logger:M.logger,site:M.site,platform:"javascript",request:s()},a),a.tags=q(M.tags,a.tags),a.extra=q(M.extra,a.extra),i(a.tags)&&delete a.tags,i(a.extra)&&delete a.extra,G&&(a.user=G),g(M.dataCallback)&&(a=M.dataCallback(a)),(!g(M.shouldSendCallback)||M.shouldSendCallback(a))&&(E=a.event_id||(a.event_id=x()),u(a)))}function u(a){var b=new Image,d=F+J+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function v(){return L?F?!0:(y("error","Error: Raven has not been configured."),!1):!1}function w(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function x(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function y(b,c){a.console&&console[b]&&O.debug&&console[b](c)}function z(){var b=a.RavenConfig;b&&O.config(b.dsn,b.config).install()}var A={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},B=[].slice,C="?";A.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw A.report(b),b}}return b},A.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||A.collectWindowErrors){for(var d in o)if(j(o,d))try{o[d].apply(null,[a].concat(B.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)A.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),k();else if(e)g=A.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=A.computeStackTrace.guessFunctionName(h.url,h.line),h.context=A.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function k(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function l(b,c){var d=B.call(arguments,1);if(r){if(q===b)return;k()}var e=A.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&k()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return l.subscribe=c,l.unsubscribe=d,l.uninstall=e,l}(),A.computeStackTrace=function(){function b(b){if(!A.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!j(v,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),v[a]=c?c.split("\n"):[]}return v[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return C;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return C}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(A.linesOfContext/2),h=g+A.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function k(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function l(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],j=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||C,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||C,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&k?j[0].column=l(k[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,l,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)j(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,l=f.length;l>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=k(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=l(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,k=r.caller;k&&!j;k=k.caller)if(k!==s&&k!==A.report){if(e={url:null,func:C,line:null,column:null},k.name?e.func=k.name:(c=g.exec(k.toString()))&&(e.func=c[1]),f=m(k)){e.url=f.url,e.line=f.line,e.func===C&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=l(n[1],f.url,f.line))}i[""+k]?j=!0:i[""+k]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(u)throw d}try{if(c=n(a))return c}catch(d){if(u)throw d}try{if(c=p(a))return c}catch(d){if(u)throw d}try{if(c=r(a,b+1))return c}catch(d){if(u)throw d}return{}}function t(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return s(b,a+1)}}var u=!1,v={};return s.augmentStackTraceWithInitialElement=q,s.guessFunctionName=d,s.gatherContext=e,s.ofCaller=t,s}();var D,E,F,G,H,I,J,K=a.Raven,L=!(!a.JSON||!a.JSON.stringify),M={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},extra:{}},N=!1,O={VERSION:"1.1.16",debug:!0,noConflict:function(){return a.Raven=K,O},config:function(a,b){if(F)return y("error","Error: Raven has already been configured"),O;if(!a)return O;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&k(b,function(a,b){M[a]=b}),M.ignoreErrors.push("Script error."),M.ignoreErrors.push("Script error"),M.ignoreErrors.push("Javascript error: Script error on line 0"),M.ignoreErrors.push("Javascript error: Script error. on line 0"),M.ignoreErrors=w(M.ignoreErrors),M.ignoreUrls=M.ignoreUrls.length?w(M.ignoreUrls):!1,M.whitelistUrls=M.whitelistUrls.length?w(M.whitelistUrls):!1,M.includePaths=w(M.includePaths),H=c.user,I=c.path.substr(d+1),F="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+I+"/store/",c.protocol&&(F=c.protocol+":"+F),M.fetchContext&&(A.remoteFetching=!0),M.linesOfContext&&(A.linesOfContext=M.linesOfContext),A.collectWindowErrors=!!M.collectWindowErrors,l(),O},install:function(){return v()&&!N&&(A.report.subscribe(m),N=!0),O},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),O.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?O.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw O.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)j(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return A.report.uninstall(),N=!1,O},captureException:function(a,b){if(!(a instanceof Error))return O.captureMessage(a,b);D=a;try{A.report(a,b)}catch(c){if(a!==c)throw c}return O},captureMessage:function(a,b){return t(q({message:a+""},b)),O},setUserContext:function(a){return G=a,O},setExtraContext:function(a){return M.extra=a||{},O},setTagsContext:function(a){return M.tags=a||{},O},lastException:function(){return D},lastEventId:function(){return E}};O.setUser=O.setUserContext;var P="source protocol user pass host port path".split(" "),Q=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,z(),a.Raven=O,"function"==typeof define&&define.amd&&define("raven",[],function(){return O})}(this); //# sourceMappingURL=raven.min.map \ No newline at end of file diff --git a/dist/raven.min.map b/dist/raven.min.map index 4955ef0762aa..02f8a9c9c8b5 100644 --- a/dist/raven.min.map +++ b/dist/raven.min.map @@ -1 +1 @@ -{"version":3,"file":"raven.min.js","sources":["raven.js"],"names":["window","undefined","triggerEvent","eventType","options","event","key","substr","toUpperCase","document","createEvent","initEvent","createEventObject","hasKey","dispatchEvent","fireEvent","toLowerCase","e","RavenConfigError","message","this","name","parseDSN","str","m","dsnPattern","exec","dsn","i","dsnKeys","pass","isUndefined","what","isFunction","isString","isEmptyObject","k","object","Object","prototype","hasOwnProperty","call","each","obj","callback","j","length","setAuthQueryString","authQueryString","Raven","VERSION","globalKey","handleStackInfo","stackInfo","frames","stack","frame","normalizeFrame","push","processException","url","lineno","normalized","filename","line","colno","column","function","func","context","extractContextFromFrame","keys","in_app","globalOptions","includePaths","test","fetchContext","pivot","isMinified","slice","type","fileurl","stacktrace","label","ignoreErrors","reverse","truncate","ignoreUrls","whitelistUrls","send","objectMerge","exception","value","culprit","obj1","obj2","max","getHttpData","http","location","href","headers","User-Agent","navigator","userAgent","referrer","Referer","data","isSetup","project","globalProject","logger","site","platform","request","tags","extra","globalUser","user","dataCallback","shouldSendCallback","lastEventId","event_id","uuid4","makeRequest","img","Image","src","globalServer","encodeURIComponent","JSON","stringify","onload","onerror","onabort","hasJSON","logDebug","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","join","c","r","Math","random","v","toString","level","console","debug","afterLoad","RavenConfig","config","install","TraceKit","remoteFetching","collectWindowErrors","linesOfContext","_slice","UNKNOWN_FUNCTION","wrap","wrapped","apply","arguments","report","subscribe","handler","installGlobalHandler","handlers","unsubscribe","splice","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","concat","inner","traceKitWindowOnError","lineNo","colNo","ex","lastExceptionStack","computeStackTrace","augmentStackTraceWithInitialElement","processLastException","guessFunctionName","gatherContext","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","lastArgs","lastException","rethrow","args","setTimeout","incomplete","uninstall","loadSource","getXHR","XMLHttpRequest","ActiveXObject","open","responseText","getSource","sourceCache","indexOf","domain","split","reFunctionArgNames","reGuessFunction","maxLines","linesBefore","floor","linesAfter","start","end","min","escapeRegExp","text","escapeCodeAsRegExpForMatchingInsideHTML","body","findSourceInUrls","re","urls","substring","index","lastIndexOf","findSourceInLine","fragment","findSourceByFunctionBody","parts","result","scripts","getElementsByTagName","code","codeRE","eventRE","script","computeStackTraceFromStackProp","element","chrome","gecko","lines","reference","columnNumber","computeStackTraceFromStacktraceProp","testRE","exc","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","inlineScriptBlocks","item","relativeLine","pos","innerText","midline","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","description","sourceURL","fileName","lineNumber","computeStackTraceOfCaller","Error","ofCaller","lastCapturedException","_Raven","isRavenInstalled","noConflict","uri","lastSlash","path","host","port","protocol","deep","captureException","__raven__","property","__inner__","captureMessage","ex1","msg","setUserContext","setExtraContext","setTagsContext","setUser","constructor","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"raven.min.js","sources":["raven.js"],"names":["window","undefined","triggerEvent","eventType","options","event","key","substr","toUpperCase","document","createEvent","initEvent","createEventObject","hasKey","dispatchEvent","fireEvent","toLowerCase","e","RavenConfigError","message","this","name","parseDSN","str","m","dsnPattern","exec","dsn","i","dsnKeys","pass","isUndefined","what","isFunction","isString","isEmptyObject","k","object","Object","prototype","hasOwnProperty","call","each","obj","callback","j","length","setAuthQueryString","authQueryString","Raven","VERSION","globalKey","handleStackInfo","stackInfo","frames","stack","frame","normalizeFrame","push","processException","url","lineno","normalized","filename","line","colno","column","function","func","context","extractContextFromFrame","keys","in_app","globalOptions","includePaths","test","fetchContext","pivot","isMinified","slice","type","fileurl","stacktrace","label","ignoreErrors","reverse","truncate","ignoreUrls","whitelistUrls","send","objectMerge","exception","value","culprit","obj1","obj2","max","getHttpData","http","location","href","headers","User-Agent","navigator","userAgent","referrer","Referer","data","isSetup","project","globalProject","logger","site","platform","request","tags","extra","globalUser","user","dataCallback","shouldSendCallback","lastEventId","event_id","uuid4","makeRequest","img","Image","src","globalServer","encodeURIComponent","JSON","stringify","onload","onerror","onabort","hasJSON","logDebug","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","join","c","r","Math","random","v","toString","level","console","debug","afterLoad","RavenConfig","config","install","TraceKit","remoteFetching","collectWindowErrors","linesOfContext","_slice","UNKNOWN_FUNCTION","wrap","wrapped","apply","arguments","report","subscribe","handler","installGlobalHandler","handlers","unsubscribe","splice","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","concat","inner","traceKitWindowOnError","lineNo","colNo","ex","lastExceptionStack","computeStackTrace","augmentStackTraceWithInitialElement","processLastException","guessFunctionName","gatherContext","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","lastArgs","lastException","rethrow","args","setTimeout","incomplete","uninstall","loadSource","getXHR","XMLHttpRequest","ActiveXObject","open","responseText","getSource","sourceCache","indexOf","domain","split","reFunctionArgNames","reGuessFunction","maxLines","linesBefore","floor","linesAfter","start","end","min","escapeRegExp","text","escapeCodeAsRegExpForMatchingInsideHTML","body","findSourceInUrls","re","urls","substring","index","lastIndexOf","findSourceInLine","fragment","findSourceByFunctionBody","parts","result","scripts","getElementsByTagName","code","codeRE","eventRE","script","computeStackTraceFromStackProp","element","chrome","gecko","lines","reference","columnNumber","computeStackTraceFromStacktraceProp","testRE","exc","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","inlineScriptBlocks","item","relativeLine","pos","innerText","midline","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","description","sourceURL","fileName","lineNumber","computeStackTraceOfCaller","Error","ofCaller","lastCapturedException","_Raven","isRavenInstalled","noConflict","uri","lastSlash","path","host","port","protocol","deep","captureException","__raven__","property","__inner__","captureMessage","ex1","msg","setUserContext","setExtraContext","setTagsContext","setUser","constructor","define","amd"],"mappings":"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"} \ No newline at end of file