/*! * Globalize v1.1.1 2016-03-29T14:33Z Released under the MIT license * http://git.io/TrdQbw */ !function(a,b){"function"==typeof define&&define.amd?define(["cldr","../globalize","cldr/event"],b):"object"==typeof exports?module.exports=b(require("cldrjs"),require("globalize")):b(a.Cldr,a.Globalize)}(this,function(a,b){var c,d=b._alwaysArray,e=b._createError,f=b._isPlainObject,g=b._runtimeBind,h=b._validateDefaultLocale,i=b._validate,j=b._validateParameterPresence,k=b._validateParameterType,l=b._validateParameterTypePlainObject;c=function(){function a(a,b){if(/^[A-Z_$][0-9A-Z_$]*$/i.test(a))return b?b+"."+a:a;var c=JSON.stringify(a);return b?b+"["+c+"]":c}function b(a,b,c){if(this.lc=[a],this.runtime.pluralFuncs={},this.runtime.pluralFuncs[this.lc[0]]=b,this.runtime.fmt={},c)for(var d in c)this.runtime.fmt[d]=c[d]}return b._parse=function(){function a(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}function b(a,b,c,d,e,f){this.message=a,this.expected=b,this.found=c,this.offset=d,this.line=e,this.column=f,this.name="SyntaxError"}function c(a){function c(b){function c(b,c,d){var e,f;for(e=c;d>e;e++)f=a.charAt(e),"\n"===f?(b.seenCR||b.line++,b.column=1,b.seenCR=!1):"\r"===f||"\u2028"===f||"\u2029"===f?(b.line++,b.column=1,b.seenCR=!0):(b.column++,b.seenCR=!1)}return Ua!==b&&(Ua>b&&(Ua=0,Va={line:1,column:1,seenCR:!1}),c(Va,Ua,b),Ua=b),Va}function d(a){Wa>Sa||(Sa>Wa&&(Wa=Sa,Xa=[]),Xa.push(a))}function e(d,e,f){function g(a){var b=1;for(a.sort(function(a,b){return a.descriptionb.description?1:0});b1?g.slice(0,-1).join(", ")+" or "+g[a.length-1]:g[0],e=b?'"'+c(b)+'"':"end of input","Expected "+d+" but "+e+" found."}var i=c(f),j=f1?arguments[1]:{},B={},C={start:f},D=f,E=function(a){return{type:"messageFormatPattern",statements:a}},F=B,G="{",H={type:"literal",value:"{",description:'"{"'},I=null,J=",",K={type:"literal",value:",",description:'","'},L="}",M={type:"literal",value:"}",description:'"}"'},N=function(a,b){var c={type:"messageFormatElement",argumentIndex:a};return b&&b.length?c.elementFormat=b[1]:c.output=!0,c},O="plural",P={type:"literal",value:"plural",description:'"plural"'},Q=function(a,b){return{type:"elementFormat",key:a,val:b}},R="selectordinal",S={type:"literal",value:"selectordinal",description:'"selectordinal"'},T="select",U={type:"literal",value:"select",description:'"select"'},V=function(a,b){return{type:"elementFormat",key:a,val:b}},W=function(a,b){return{type:"pluralFormatPattern",pluralForms:b,offset:a||0}},X="offset",Y={type:"literal",value:"offset",description:'"offset"'},Z=":",$={type:"literal",value:":",description:'":"'},_=function(a){return a},aa=function(a,b){return{key:a,val:b}},ba=function(a){return a},ca="=",da={type:"literal",value:"=",description:'"="'},ea=function(a){return{type:"selectFormatPattern",pluralForms:a}},fa=function(a){return a},ga="#",ha={type:"literal",value:"#",description:'"#"'},ia=function(){return{type:"octothorpe"}},ja=function(a){return{type:"string",val:a.join("")}},ka={type:"other",description:"identifier"},la=/^[0-9a-zA-Z$_]/,ma={type:"class",value:"[0-9a-zA-Z$_]",description:"[0-9a-zA-Z$_]"},na=/^[^ \t\n\r,.+={}]/,oa={type:"class",value:"[^ \\t\\n\\r,.+={}]",description:"[^ \\t\\n\\r,.+={}]"},pa=function(a){return a},qa=function(a){return a.join("")},ra=/^[^{}#\\\0-\x1F \t\n\r]/,sa={type:"class",value:"[^{}#\\\\\\0-\\x1F \\t\\n\\r]",description:"[^{}#\\\\\\0-\\x1F \\t\\n\\r]"},ta=function(a){return a},ua="\\\\",va={type:"literal",value:"\\\\",description:'"\\\\\\\\"'},wa=function(){return"\\"},xa="\\#",ya={type:"literal",value:"\\#",description:'"\\\\#"'},za=function(){return"#"},Aa="\\{",Ba={type:"literal",value:"\\{",description:'"\\\\{"'},Ca=function(){return"{"},Da="\\}",Ea={type:"literal",value:"\\}",description:'"\\\\}"'},Fa=function(){return"}"},Ga="\\u",Ha={type:"literal",value:"\\u",description:'"\\\\u"'},Ia=function(a,b,c,d){return String.fromCharCode(parseInt("0x"+a+b+c+d))},Ja=/^[0-9]/,Ka={type:"class",value:"[0-9]",description:"[0-9]"},La=function(a){return parseInt(a.join(""),10)},Ma=/^[0-9a-fA-F]/,Na={type:"class",value:"[0-9a-fA-F]",description:"[0-9a-fA-F]"},Oa={type:"other",description:"whitespace"},Pa=function(a){return a.join("")},Qa=/^[ \t\n\r]/,Ra={type:"class",value:"[ \\t\\n\\r]",description:"[ \\t\\n\\r]"},Sa=0,Ta=0,Ua=0,Va={line:1,column:1,seenCR:!1},Wa=0,Xa=[],Ya=0;if("startRule"in A){if(!(A.startRule in C))throw new Error("Can't start parsing from rule \""+A.startRule+'".');D=C[A.startRule]}if(z=D(),z!==B&&Sa===a.length)return z;throw z!==B&&Saf;++f)e+=" ";for(var g in b)d.push("\n"+e+" "+a(g)+": "+h(b[g],c+1));return"{"+d.join(",")+"\n"+e+"}"};if("string"==typeof c){var i=new Function("number, plural, select, pluralFuncs, fmt","return "+g(this,c));return i(this.runtime.number,this.runtime.plural,this.runtime.select,this.runtime.pluralFuncs,this.runtime.fmt)}d=d||{};for(var j in c)if(d.locale&&(this.lc=d.locale[j]&&[].concat(d.locale[j])||f),"string"==typeof c[j])try{e[j]=g(this,c[j])}catch(k){throw k.message=k.message.replace(":"," with `"+j+"`:"),k}else{e[j]={};for(var l in c[j])try{e[j][l]=g(this,c[j][l])}catch(k){throw k.message=k.message.replace(":"," with `"+l+"` in `"+j+"`:"),k}}this.lc=f;var m=this.runtime.toString()+"\n";switch(d.global||""){case"exports":var n=[];for(var o in e)n.push(a(o,"exports")+" = "+h(e[o]));return new Function(m+n.join(";\n"));case"module.exports":return new Function(m+"module.exports = "+h(e));case"":return new Function(m+"return "+h(e));default:return new Function("G",m+a(d.global,"G")+" = "+h(e))}},b}();var m=function(){return e("E_MISSING_PLURAL_MODULE","Plural module not loaded.")},n=function(a){i("E_MISSING_MESSAGE_BUNDLE","Missing message bundle for locale `{locale}`.",a.attributes.bundle&&void 0!==a.get("globalize-messages/{bundle}"),{locale:a.locale})},o=function(a,b){a=a.join("/"),i("E_MISSING_MESSAGE","Missing required message content `{path}`.",void 0!==b,{path:a})},p=function(a,b){a=a.join("/"),i("E_INVALID_MESSAGE","Invalid message content `{path}`. {expected} expected.","string"==typeof b,{expected:"a string",path:a})},q=function(a,b){k(a,b,void 0===a||f(a)||Array.isArray(a),"Array or Plain Object")},r=function(a){return function(b){return"number"!=typeof b&&"string"!=typeof b||(b=[].slice.call(arguments,0)),q(b,"variables"),a(b)}},s=function(a,b){var c=a.locale,d=b.toString;return b.toString=function(){var a,e,f,g={};return f=d.call(b),/number\(/.test(f)&&(g.number="messageFormat.number"),/plural\(/.test(f)&&(g.plural="messageFormat.plural"),/select\(/.test(f)&&(g.select="messageFormat.select"),f.replace(/pluralFuncs(\[([^\]]+)\]|\.([a-zA-Z]+))/,function(a){return g.pluralFuncs='{"'+c+'": Globalize("'+c+'").pluralGenerator()}',a}),a=Object.keys(g).join(", "),e=Object.keys(g).map(function(a){return g[a]}).join(", "),"(function( "+a+" ) {\n return "+f+"\n})("+e+")"},b},t=[].slice;return b.loadMessages=function(b){var c,d={"globalize-messages":b,main:{}};j(b,"json"),l(b,"json");for(c in b)b.hasOwnProperty(c)&&(d.main[c]={});a.load(d)},b.messageFormatter=b.prototype.messageFormatter=function(a){var b,e,f,i,l,q=t.call(arguments,0);return j(a,"path"),k(a,"path","string"==typeof a||Array.isArray(a),"a String nor an Array"),a=d(a),b=this.cldr,h(b),n(b),f=b.get(["globalize-messages/{bundle}"].concat(a)),o(a,f),Array.isArray(f)&&(f=f.join(" ")),p(a,f),i=void 0!==this.plural?this.pluralGenerator():m,e=new c(b.locale,i).compile(f),l=r(e),g(q,b,l,[s(b,e),i]),l},b.formatMessage=b.prototype.formatMessage=function(a){return this.messageFormatter(a).apply({},t.call(arguments,1))},b});