Loading
function(t,e,n){var r=n(271434);t.exports=function t(e,n,i){if(r(n)||(i=n||i,n=[]),i=i||{},e instanceof RegExp){var a,s,c=n,l=e.source.match(/\((?!\?)/g);if(l)for(var f=0;f<l.length;f++)c.push({name:f,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return e.keys=c,e}if(r(e)){for(var p,d=n,g=i,y=[],m=0;m<e.length;m++)y.push(t(e[m],d,g).source);return(p=RegExp("(?:"+y.join("|")+")",h(g))).keys=d,p}return a=n,u(o(e,s=i),a,s)},t.exports.parse=o,t.exports.compile=function(t,e){return s(o(t,e))},t.exports.tokensToFunction=s,t.exports.tokensToRegExp=u;var i=RegExp("(\\\\.)|([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))","g");function o(t,e){for(var n,r=[],o=0,a=0,s="",h=e&&e.delimiter||"/";null!=(n=i.exec(t));){var u=n[0],l=n[1],f=n.index;if(s+=t.slice(a,f),a=f+u.length,l){s+=l[1];continue}var p=t[a],d=n[2],g=n[3],y=n[4],m=n[5],x=n[6],v=n[7];s&&(r.push(s),s="");var b=null!=d&&null!=p&&p!==d,_="+"===x||"*"===x,w="?"===x||"*"===x,A=n[2]||h,C=y||m;r.push({name:g||o++,prefix:d||"",delimiter:A,optional:w,repeat:_,partial:b,asterisk:!!v,pattern:C?C.replace(/([=!:$\/()])/g,"\\$1"):v?".*":"[^"+c(A)+"]+?"})}return a<t.length&&(s+=t.substr(a)),s&&r.push(s),r}function a(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function s(t){for(var e=Array(t.length),n=0;n<t.length;n++)"object"==typeof t[n]&&(e[n]=RegExp("^(?:"+t[n].pattern+")$"));return function(n,i){for(var o="",s=n||{},c=(i||{}).pretty?a:encodeURIComponent,h=0;h<t.length;h++){var u,l=t[h];if("string"==typeof l){o+=l;continue}var f=s[l.name];if(null==f)if(l.optional){l.partial&&(o+=l.prefix);continue}else throw TypeError('Expected "'+l.name+'" to be defined');if(r(f)){if(!l.repeat)throw TypeError('Expected "'+l.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length)if(l.optional)continue;else throw TypeError('Expected "'+l.name+'" to not be empty');for(var p=0;p<f.length;p++){if(u=c(f[p]),!e[h].test(u))throw TypeError('Expected all "'+l.name+'" to match "'+l.pattern+'", but received `'+JSON.stringify(u)+"`");o+=(0===p?l.prefix:l.delimiter)+u}continue}if(u=l.asterisk?encodeURI(f).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}):c(f),!e[h].test(u))throw TypeError('Expected "'+l.name+'" to match "'+l.pattern+'", but received "'+u+'"');o+=l.prefix+u}return o}}function c(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function h(t){return t.sensitive?"":"i"}function u(t,e,n){r(e)||(n=e||n,e=[]);for(var i,o=(n=n||{}).strict,a=!1!==n.end,s="",u=0;u<t.length;u++){var l=t[u];if("string"==typeof l)s+=c(l);else{var f=c(l.prefix),p="(?:"+l.pattern+")";e.push(l),l.repeat&&(p+="(?:"+f+p+")*"),s+=p=l.optional?l.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var d=c(n.delimiter||"/"),g=s.slice(-d.length)===d;return o||(s=(g?s.slice(0,-d.length):s)+"(?:"+d+"(?=$))?"),a?s+="$":s+=o&&g?"":"(?="+d+"|$)",(i=RegExp("^"+s,h(n))).keys=e,i}}