PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/perl5/vendor_perl/Business/ISBN/
Upload File :
Current File : //usr/share/perl5/vendor_perl/Business/ISBN/Data.pm
package Business::ISBN::Data;
use strict;
use vars qw($VERSION);

use Carp qw(carp);
use File::Basename qw(dirname);
use File::Spec::Functions qw(catfile);

$VERSION = '20120719.001';

=head1 NAME

Business::ISBN::Data - data pack for Business::ISBN

=head1 SYNOPSIS

see L<Business::ISBN>

=head1 DESCRIPTION

You don't need to load this module yourself in most cases. C<Business::ISBN>
will load it when it loads.

These data are generated from the F<RangeMessage.xml> file provided by
the ISBN Agency. You can retrieve this yourself at L<http://www.isbn-international.org/agency?rmxml=1>.
This file is included as part of the distribution and should be installed
at F<~lib/Business/ISBN/RangeMessage.xml>.

If you want to use a different F<RangeMessage.xml> file, you can set
the C<ISBN_RANGE_MESSAGE> environment variable to the alternate location
before you load C<Business::ISBN>. This way, you can use the latest (or
even earlier) data without having to install something new or wait for
an update to this module.

If the default F<RangeMessage.xml> or your alternate one is not available,
the module falls back to data included in F<Data.pm>. However, that data
is likely to be older data.

The data are in C<%Business::ISBN::country_data> (although the "country"
part is historical). If you want to see where the data are from, check
C<$Business::ISBN::country_data{_source}>.

=head1 SOURCE AVAILABILITY

This module lives in the Github repository with Business::ISBN:

	git://github.com/briandfoy/business--isbn.git

If you have something to add, create a fork on Github and send a
pull request.

=head1 AUTHOR

brian d foy, C<< <bdfoy@cpan.org> >>

Yakov Shafranovich updated the data in October 2008.

Daniel Jakubik updated the data in July 2012.

=head1 COPYRIGHT AND LICENSE

Copyright (c) 2002-2012, brian d foy, All Rights Reserved.

You may redistribute this under the same terms as Perl itself.

=cut

sub _default_data {
	(
	_source => __FILE__,
	0     => ['English language' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999'] ],
	1     => ['English language' =>  ['00' => '09', '100' => '399', '4000' => '5499', '55000' => '86979', '869800' => '998999', '9990000' => '9999999'] ],
	10    => ['France' =>  ['00' =>  '19', '200' => '699', '7000' => '8999', '90000' => '97599', '976000' => '999999'] ],
	2     => ['French language' =>  ['00' => '19', '200' => '349', '35000' => '39999', '400' => '699', '7000' => '8399', '84000' => '89999', '900000' => '949999', '9500000' => '9999999'] ],
	3     => ['German language' =>  ['00' => '02', '030' => '033', '0340' => '0369', '03700' => '03999', '04' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9539999', '95400' => '96999', '9700000' => '9899999', '99000' => '99499', '99500' => '99999'] ],
	4     => ['Japan' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '949999', '9500000' => '9999999'] ],
	5     => ['Russian Federation and former USSR' =>  ['00' => '19', '200' => '420', '4210' => '4299', '430' => '430', '4310' => '4399', '440' => '440', '4410' => '4499', '450' => '699', '7000' => '8499', '85000' => '89999', '900000' => '909999', '91000' => '91999', '9200' => '9299', '93000' => '94999', '9500000' => '9500999', '9501' => '9799', '98000' => '98999', '9900000' => '9909999', '9910' => '9999'] ],
	600   => ['Iran' =>  ['00' => '09', '100' => '499', '5000' => '8999', '90000' => '99999'] ],
	601   => ['Kazakhstan' =>  ['00' => '19', '200' => '699', '7000' => '7999', '80000' => '84999', '85' => '99'] ],
	602   => ['Indonesia' =>  ['00' => '17', '18000' => '18999', '19000' => '19999', '200' => '749', '7500' => '7999', '8000' => '9499', '95000' => '99999'] ],
	603   => ['Saudi Arabia' =>  ['00' => '04', '05' => '49', '500' => '799', '8000' => '8999', '90000' => '99999'] ],
	604   => ['Vietnam' =>  ['0' => '4', '50' => '89', '900' => '979', '9800' => '9999'] ],
	605   => ['Turkey' =>  ['' => '', '01' => '09', '100' => '399', '4000' => '5999', '60000' => '89999', '90' => '99'] ],
	606   => ['Romania' =>  ['0' => '0', '10' => '49', '500' => '799', '8000' => '9199', '92000' => '99999'] ],
	607   => ['Mexico' =>  ['00' => '39', '400' => '749', '7500' => '9499', '95000' => '99999'] ],
	608   => ['Macedonia' =>  ['0' => '0', '10' => '19', '200' => '449', '4500' => '6499', '65000' => '69999', '7' => '9'] ],
	609   => ['Lithuania' =>  ['00' => '39', '400' => '799', '8000' => '9499', '95000' => '99999'] ],
	611   => ['Thailand' =>  ['' => ''] ],
	612   => ['Peru' =>  ['00' => '29', '300' => '399', '4000' => '4499', '45000' => '49999', '50' => '99'] ],
	613   => ['Mauritius' =>  ['0' => '9'] ],
	614   => ['Lebanon' =>  ['00' => '39', '400' => '799', '8000' => '9499', '95000' => '99999'] ],
	615   => ['Hungary' =>  ['00' => '09', '100' => '499', '5000' => '7999', '80000' => '89999', '' => ''] ],
	616   => ['Thailand' =>  ['00' => '19', '200' => '699', '7000' => '8999', '90000' => '99999'] ],
	617   => ['Ukraine' =>  ['00' => '49', '500' => '699', '7000' => '8999', '90000' => '99999'] ],
	618   => ['Greece' =>  ['00' => '19', '200' => '499', '5000' => '7999', '80000' => '99999'] ],
	619   => ['Bulgaria' =>  ['00' => '14', '150' => '699', '7000' => '8999', '90000' => '99999'] ],
	620   => ['Mauritius' =>  ['0' => '9'] ],
	7     => ['China, People\'s Republic' =>  ['00' => '09', '100' => '499', '5000' => '7999', '80000' => '89999', '900000' => '999999'] ],
	80    => ['Czech Republic and Slovakia' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '999999'] ],
	81    => ['India' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '900000' => '999999'] ],
	82    => ['Norway' =>  ['00' => '19', '200' => '699', '7000' => '8999', '90000' => '98999', '990000' => '999999'] ],
	83    => ['Poland' =>  ['00' => '19', '200' => '599', '60000' => '69999', '7000' => '8499', '85000' => '89999', '900000' => '999999'] ],
	84    => ['Spain' =>  ['00' => '13', '140' => '149', '15000' => '19999', '200' => '699', '7000' => '8499', '85000' => '89999', '9000' => '9199', '920000' => '923999', '92400' => '92999', '930000' => '949999', '95000' => '96999', '9700' => '9999'] ],
	85    => ['Brazil' =>  ['00' => '19', '200' => '599', '60000' => '69999', '7000' => '8499', '85000' => '89999', '900000' => '979999', '98000' => '99999'] ],
	86    => ['Serbia (shared)' =>  ['00' => '29', '300' => '599', '6000' => '7999', '80000' => '89999', '900000' => '999999'] ],
	87    => ['Denmark' =>  ['00' => '29', '' => '', '400' => '649', '' => '', '7000' => '7999', '' => '', '85000' => '94999', '' => '', '970000' => '999999'] ],
	88    => ['Italy' =>  ['00' => '19', '200' => '599', '6000' => '8499', '85000' => '89999', '900000' => '909999', '910' => '929', '' => '', '95000' => '99999'] ],
	89    => ['Korea, Republic' =>  ['00' => '24', '250' => '549', '5500' => '8499', '85000' => '94999', '950000' => '969999', '97000' => '98999', '990' => '999'] ],
	90    => ['Netherlands' =>  ['00' => '19', '200' => '499', '5000' => '6999', '70000' => '79999', '800000' => '849999', '8500' => '8999', '90' => '90', '910000' => '939999', '94' => '94', '950000' => '999999'] ],
	91    => ['Sweden' =>  ['0' => '1', '20' => '49', '500' => '649', '' => '', '7000' => '7999', '' => '', '85000' => '94999', '' => '', '970000' => '999999'] ],
	92    => ['International NGO Publishers and EC Organizations' =>  ['0' => '5', '60' => '79', '800' => '899', '9000' => '9499', '95000' => '98999', '990000' => '999999'] ],
	93    => ['India' =>  ['00' => '09', '100' => '499', '5000' => '7999', '80000' => '94999', '950000' => '999999'] ],
	94    => ['Netherlands' =>  ['000' => '599', '6000' => '8999', '90000' => '99999'] ],
	950   => ['Argentina' =>  ['00' => '49', '500' => '899', '9000' => '9899', '99000' => '99999'] ],
	951   => ['Finland' =>  ['0' => '1', '20' => '54', '550' => '889', '8900' => '9499', '95000' => '99999'] ],
	952   => ['Finland' =>  ['00' => '19', '200' => '499', '5000' => '5999', '60' => '65', '6600' => '6699', '67000' => '69999', '7000' => '7999', '80' => '94', '9500' => '9899', '99000' => '99999'] ],
	953   => ['Croatia' =>  ['0' => '0', '10' => '14', '150' => '509', '51' => '54', '55000' => '59999', '6000' => '9499', '95000' => '99999'] ],
	954   => ['Bulgaria' =>  ['00' => '28', '2900' => '2999', '300' => '799', '8000' => '8999', '90000' => '92999', '9300' => '9999'] ],
	955   => ['Sri Lanka' =>  ['0000' => '1999', '20' => '44', '4500' => '4999', '50000' => '54999', '550' => '799', '8000' => '9499', '95000' => '99999'] ],
	956   => ['Chile' =>  ['00' => '19', '200' => '699', '7000' => '9999'] ],
	957   => ['Taiwan' =>  ['00' => '02', '0300' => '0499', '05' => '19', '2000' => '2099', '21' => '27', '28000' => '30999', '31' => '43', '440' => '819', '8200' => '9699', '97000' => '99999'] ],
	958   => ['Colombia' =>  ['00' => '56', '57000' => '59999', '600' => '799', '8000' => '9499', '95000' => '99999'] ],
	959   => ['Cuba' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '99999'] ],
	960   => ['Greece' =>  ['00' => '19', '200' => '659', '6600' => '6899', '690' => '699', '7000' => '8499', '85000' => '92999', '93' => '93', '9400' => '9799', '98000' => '99999'] ],
	961   => ['Slovenia' =>  ['00' => '19', '200' => '599', '6000' => '8999', '90000' => '94999', '' => ''] ],
	962   => ['Hong Kong, China' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '86999', '8700' => '8999', '900' => '999'] ],
	963   => ['Hungary' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '9000' => '9999'] ],
	964   => ['Iran' =>  ['00' => '14', '150' => '249', '2500' => '2999', '300' => '549', '5500' => '8999', '90000' => '96999', '970' => '989', '9900' => '9999'] ],
	965   => ['Israel' =>  ['00' => '19', '200' => '599', '' => '', '7000' => '7999', '' => '', '90000' => '99999'] ],
	966   => ['Ukraine' =>  ['00' => '12', '130' => '139', '14' => '14', '1500' => '1699', '170' => '199', '2000' => '2789', '279' => '289', '2900' => '2999', '300' => '699', '7000' => '8999', '90000' => '90999', '910' => '949', '95000' => '97999', '980' => '999'] ],
	967   => ['Malaysia' =>  ['00' => '00', '0100' => '0999', '10000' => '19999', '' => '', '300' => '499', '5000' => '5999', '60' => '89', '900' => '989', '9900' => '9989', '99900' => '99999'] ],
	968   => ['Mexico' =>  ['01' => '39', '400' => '499', '5000' => '7999', '800' => '899', '9000' => '9999'] ],
	969   => ['Pakistan' =>  ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
	970   => ['Mexico' =>  ['01' => '59', '600' => '899', '9000' => '9099', '91000' => '96999', '9700' => '9999'] ],
	971   => ['Philippines' =>  ['000' => '015', '0160' => '0199', '02' => '02', '0300' => '0599', '06' => '09', '10' => '49', '500' => '849', '8500' => '9099', '91000' => '95999', '9600' => '9699', '97' => '98', '9900' => '9999'] ],
	972   => ['Portugal' =>  ['0' => '1', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999'] ],
	973   => ['Romania' =>  ['0' => '0', '100' => '169', '1700' => '1999', '20' => '54', '550' => '759', '7600' => '8499', '85000' => '88999', '8900' => '9499', '95000' => '99999'] ],
	974   => ['Thailand' =>  ['00' => '19', '200' => '699', '7000' => '8499', '85000' => '89999', '90000' => '94999', '9500' => '9999'] ],
	975   => ['Turkey' =>  ['00000' => '01999', '02' => '24', '250' => '599', '6000' => '9199', '92000' => '98999', '990' => '999'] ],
	976   => ['Caribbean Community' =>  ['0' => '3', '40' => '59', '600' => '799', '8000' => '9499', '95000' => '99999'] ],
	977   => ['Egypt' =>  ['00' => '19', '200' => '499', '5000' => '6999', '700' => '849', '85000' => '89999', '90' => '99'] ],
	978   => ['Nigeria' =>  ['000' => '199', '2000' => '2999', '30000' => '79999', '8000' => '8999', '900' => '999'] ],
	979   => ['Indonesia' =>  ['000' => '099', '1000' => '1499', '15000' => '19999', '20' => '29', '3000' => '3999', '400' => '799', '8000' => '9499', '95000' => '99999'] ],
	980   => ['Venezuela' =>  ['00' => '19', '200' => '599', '6000' => '9999'] ],
	981   => ['Singapore' =>  ['00' => '11', '1200' => '1999', '200' => '289', '2900' => '9999'] ],
	982   => ['South Pacific' =>  ['00' => '09', '100' => '699', '70' => '89', '9000' => '9799', '98000' => '99999'] ],
	983   => ['Malaysia' =>  ['00' => '01', '020' => '199', '2000' => '3999', '40000' => '44999', '45' => '49', '50' => '79', '800' => '899', '9000' => '9899', '99000' => '99999'] ],
	984   => ['Bangladesh' =>  ['00' => '39', '400' => '799', '8000' => '8999', '90000' => '99999'] ],
	985   => ['Belarus' =>  ['00' => '39', '400' => '599', '6000' => '8999', '90000' => '99999'] ],
	986   => ['Taiwan' =>  ['00' => '11', '120' => '559', '5600' => '7999', '80000' => '99999'] ],
	987   => ['Argentina' =>  ['00' => '09', '1000' => '1999', '20000' => '29999', '30' => '49', '500' => '899', '9000' => '9499', '95000' => '99999'] ],
	988   => ['Hong Kong, China' =>  ['00' => '14', '15000' => '16999', '17000' => '19999', '200' => '799', '8000' => '9699', '97000' => '99999'] ],
	989   => ['Portugal' =>  ['0' => '1', '20' => '54', '550' => '799', '8000' => '9499', '95000' => '99999'] ],
	9927  => ['Qatar' =>  ['00' => '09', '100' => '399', '4000' => '4999', '' => ''] ],
	9928  => ['Albania' =>  ['00' => '09', '100' => '399', '4000' => '4999', '' => ''] ],
	9929  => ['Guatemala' =>  ['0' => '3', '40' => '54', '550' => '799', '8000' => '9999'] ],
	9930  => ['Costa Rica' =>  ['00' => '49', '500' => '939', '9400' => '9999'] ],
	9931  => ['Algeria' =>  ['00' => '29', '300' => '899', '9000' => '9999'] ],
	9932  => ['Lao People\'s Democratic Republic' =>  ['00' => '39', '400' => '849', '8500' => '9999'] ],
	9933  => ['Syria' =>  ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
	9934  => ['Latvia' =>  ['0' => '0', '10' => '49', '500' => '799', '8000' => '9999'] ],
	9935  => ['Iceland' =>  ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
	9936  => ['Afghanistan' =>  ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
	9937  => ['Nepal' =>  ['0' => '2', '30' => '49', '500' => '799', '8000' => '9999'] ],
	9938  => ['Tunisia' =>  ['00' => '79', '800' => '949', '9500' => '9999'] ],
	9939  => ['Armenia' =>  ['0' => '4', '50' => '79', '800' => '899', '9000' => '9999'] ],
	9940  => ['Montenegro' =>  ['0' => '1', '20' => '49', '500' => '899', '9000' => '9999'] ],
	9941  => ['Georgia' =>  ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
	9942  => ['Ecuador' =>  ['00' => '89', '900' => '984', '9850' => '9999'] ],
	9943  => ['Uzbekistan' =>  ['00' => '29', '300' => '399', '4000' => '9999'] ],
	9944  => ['Turkey' =>  ['0000' => '0999', '100' => '499', '5000' => '5999', '60' => '69', '700' => '799', '80' => '89', '900' => '999'] ],
	9945  => ['Dominican Republic' =>  ['00' => '00', '010' => '079', '08' => '39', '400' => '569', '57' => '57', '580' => '849', '8500' => '9999'] ],
	9946  => ['Korea, P.D.R.' =>  ['0' => '1', '20' => '39', '400' => '899', '9000' => '9999'] ],
	9947  => ['Algeria' =>  ['0' => '1', '20' => '79', '800' => '999'] ],
	9948  => ['United Arab Emirates' =>  ['00' => '39', '400' => '849', '8500' => '9999'] ],
	9949  => ['Estonia' =>  ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
	9950  => ['Palestine' =>  ['00' => '29', '300' => '849', '8500' => '9999'] ],
	9951  => ['Kosova' =>  ['00' => '39', '400' => '849', '8500' => '9999'] ],
	9952  => ['Azerbaijan' =>  ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
	9953  => ['Lebanon' =>  ['0' => '0', '10' => '39', '400' => '599', '60' => '89', '9000' => '9999'] ],
	9954  => ['Morocco' =>  ['0' => '1', '20' => '39', '400' => '799', '8000' => '9999'] ],
	9955  => ['Lithuania' =>  ['00' => '39', '400' => '929', '9300' => '9999'] ],
	9956  => ['Cameroon' =>  ['0' => '0', '10' => '39', '400' => '899', '9000' => '9999'] ],
	9957  => ['Jordan' =>  ['00' => '39', '400' => '699', '70' => '84', '8500' => '8799', '88' => '99'] ],
	9958  => ['Bosnia and Herzegovina' =>  ['00' => '03', '040' => '089', '0900' => '0999', '10' => '18', '1900' => '1999', '20' => '49', '500' => '899', '9000' => '9999'] ],
	9959  => ['Libya' =>  ['0' => '1', '20' => '79', '800' => '949', '9500' => '9699', '970' => '979', '98' => '99'] ],
	9960  => ['Saudi Arabia' =>  ['00' => '59', '600' => '899', '9000' => '9999'] ],
	9961  => ['Algeria' =>  ['0' => '2', '30' => '69', '700' => '949', '9500' => '9999'] ],
	9962  => ['Panama' =>  ['00' => '54', '5500' => '5599', '56' => '59', '600' => '849', '8500' => '9999'] ],
	9963  => ['Cyprus' =>  ['0' => '1', '20' => '24', '250' => '279', '2800' => '2999', '30' => '54', '550' => '734', '7350' => '7499', '7500' => '9999'] ],
	9964  => ['Ghana' =>  ['0' => '6', '70' => '94', '950' => '999'] ],
	9965  => ['Kazakhstan' =>  ['00' => '39', '400' => '899', '9000' => '9999'] ],
	9966  => ['Kenya' =>  ['000' => '149', '1500' => '1999', '20' => '69', '7000' => '7499', '750' => '959', '9600' => '9999'] ],
	9967  => ['Kyrgyz Republic' =>  ['00' => '39', '400' => '899', '9000' => '9999'] ],
	9968  => ['Costa Rica' =>  ['00' => '49', '500' => '939', '9400' => '9999'] ],
	9970  => ['Uganda' =>  ['00' => '39', '400' => '899', '9000' => '9999'] ],
	9971  => ['Singapore' =>  ['0' => '5', '60' => '89', '900' => '989', '9900' => '9999'] ],
	9972  => ['Peru' =>  ['00' => '09', '1' => '1', '200' => '249', '2500' => '2999', '30' => '59', '600' => '899', '9000' => '9999'] ],
	9973  => ['Tunisia' =>  ['00' => '05', '060' => '089', '0900' => '0999', '10' => '69', '700' => '969', '9700' => '9999'] ],
	9974  => ['Uruguay' =>  ['0' => '2', '30' => '54', '550' => '749', '7500' => '9499', '95' => '99'] ],
	9975  => ['Moldova' =>  ['0' => '0', '100' => '399', '4000' => '4499', '45' => '89', '900' => '949', '9500' => '9999'] ],
	9976  => ['Tanzania' =>  ['0' => '5', '60' => '89', '900' => '989', '9900' => '9999'] ],
	9977  => ['Costa Rica' =>  ['00' => '89', '900' => '989', '9900' => '9999'] ],
	9978  => ['Ecuador' =>  ['00' => '29', '300' => '399', '40' => '94', '950' => '989', '9900' => '9999'] ],
	9979  => ['Iceland' =>  ['0' => '4', '50' => '64', '650' => '659', '66' => '75', '760' => '899', '9000' => '9999'] ],
	9980  => ['Papua New Guinea' =>  ['0' => '3', '40' => '89', '900' => '989', '9900' => '9999'] ],
	9981  => ['Morocco' =>  ['00' => '09', '100' => '159', '1600' => '1999', '20' => '79', '800' => '949', '9500' => '9999'] ],
	9982  => ['Zambia' =>  ['00' => '79', '800' => '989', '9900' => '9999'] ],
	9983  => ['Gambia' =>  ['' => '', '80' => '94', '950' => '989', '9900' => '9999'] ],
	9984  => ['Latvia' =>  ['00' => '49', '500' => '899', '9000' => '9999'] ],
	9985  => ['Estonia' =>  ['0' => '4', '50' => '79', '800' => '899', '9000' => '9999'] ],
	9986  => ['Lithuania' =>  ['00' => '39', '400' => '899', '9000' => '9399', '940' => '969', '97' => '99'] ],
	9987  => ['Tanzania' =>  ['00' => '39', '400' => '879', '8800' => '9999'] ],
	9988  => ['Ghana' =>  ['0' => '2', '30' => '54', '550' => '749', '7500' => '9999'] ],
	9989  => ['Macedonia' =>  ['0' => '0', '100' => '199', '2000' => '2999', '30' => '59', '600' => '949', '9500' => '9999'] ],
	99901 => ['Bahrain' =>  ['00' => '49', '500' => '799', '80' => '99'] ],
	99902 => ['Gabon' =>  ['' => ''] ],
	99903 => ['Mauritius' =>  ['0' => '1', '20' => '89', '900' => '999'] ],
	99904 => ['Netherlands Antilles and Aruba' =>  ['0' => '5', '60' => '89', '900' => '999'] ],
	99905 => ['Bolivia' =>  ['0' => '3', '40' => '79', '800' => '999'] ],
	99906 => ['Kuwait' =>  ['0' => '2', '30' => '59', '600' => '699', '70' => '89', '90' => '94', '950' => '999'] ],
	99908 => ['Malawi' =>  ['0' => '0', '10' => '89', '900' => '999'] ],
	99909 => ['Malta' =>  ['0' => '3', '40' => '94', '950' => '999'] ],
	99910 => ['Sierra Leone' =>  ['0' => '2', '30' => '89', '900' => '999'] ],
	99911 => ['Lesotho' =>  ['00' => '59', '600' => '999'] ],
	99912 => ['Botswana' =>  ['0' => '3', '400' => '599', '60' => '89', '900' => '999'] ],
	99913 => ['Andorra' =>  ['0' => '2', '30' => '35', '' => '', '600' => '604', '' => ''] ],
	99914 => ['Suriname' =>  ['0' => '4', '50' => '89', '900' => '999'] ],
	99915 => ['Maldives' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99916 => ['Namibia' =>  ['0' => '2', '30' => '69', '700' => '999'] ],
	99917 => ['Brunei Darussalam' =>  ['0' => '2', '30' => '89', '900' => '999'] ],
	99918 => ['Faroe Islands' =>  ['0' => '3', '40' => '79', '800' => '999'] ],
	99919 => ['Benin' =>  ['0' => '2', '300' => '399', '40' => '69', '70' => '70', '710' => '849', '850' => '899', '900' => '999'] ],
	99920 => ['Andorra' =>  ['0' => '4', '50' => '89', '900' => '999'] ],
	99921 => ['Qatar' =>  ['0' => '1', '20' => '69', '700' => '799', '8' => '8', '90' => '99'] ],
	99922 => ['Guatemala' =>  ['0' => '3', '40' => '69', '700' => '999'] ],
	99923 => ['El Salvador' =>  ['0' => '1', '20' => '79', '800' => '999'] ],
	99924 => ['Nicaragua' =>  ['0' => '1', '20' => '79', '800' => '999'] ],
	99925 => ['Paraguay' =>  ['0' => '3', '40' => '79', '800' => '999'] ],
	99926 => ['Honduras' =>  ['0' => '0', '10' => '59', '600' => '899', '90' => '99'] ],
	99927 => ['Albania' =>  ['0' => '2', '30' => '59', '600' => '999'] ],
	99928 => ['Georgia' =>  ['0' => '0', '10' => '79', '800' => '999'] ],
	99929 => ['Mongolia' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99930 => ['Armenia' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99931 => ['Seychelles' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99932 => ['Malta' =>  ['0' => '0', '10' => '59', '600' => '699', '7' => '7', '80' => '99'] ],
	99933 => ['Nepal' =>  ['0' => '2', '30' => '59', '600' => '999'] ],
	99934 => ['Dominican Republic' =>  ['0' => '1', '20' => '79', '800' => '999'] ],
	99935 => ['Haiti' =>  ['0' => '2', '30' => '59', '600' => '699', '7' => '8', '90' => '99'] ],
	99936 => ['Bhutan' =>  ['0' => '0', '10' => '59', '600' => '999'] ],
	99937 => ['Macau' =>  ['0' => '1', '20' => '59', '600' => '999'] ],
	99938 => ['Srpska, Republic of' =>  ['0' => '1', '20' => '59', '600' => '899', '90' => '99'] ],
	99939 => ['Guatemala' =>  ['0' => '5', '60' => '89', '900' => '999'] ],
	99940 => ['Georgia' =>  ['0' => '0', '10' => '69', '700' => '999'] ],
	99941 => ['Armenia' =>  ['0' => '2', '30' => '79', '800' => '999'] ],
	99942 => ['Sudan' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99943 => ['Albania' =>  ['0' => '2', '30' => '59', '600' => '999'] ],
	99944 => ['Ethiopia' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99945 => ['Namibia' =>  ['0' => '5', '60' => '89', '900' => '999'] ],
	99946 => ['Nepal' =>  ['0' => '2', '30' => '59', '600' => '999'] ],
	99947 => ['Tajikistan' =>  ['0' => '2', '30' => '69', '700' => '999'] ],
	99948 => ['Eritrea' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99949 => ['Mauritius' =>  ['0' => '1', '20' => '89', '900' => '999'] ],
	99950 => ['Cambodia' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99951 => ['Congo, The Democratic Republic' =>  ['' => ''] ],
	99952 => ['Mali' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99953 => ['Paraguay' =>  ['0' => '2', '30' => '79', '800' => '939', '94' => '99'] ],
	99954 => ['Bolivia' =>  ['0' => '2', '30' => '69', '700' => '879', '88' => '99'] ],
	99955 => ['Srpska, Republic of' =>  ['0' => '1', '20' => '59', '600' => '799', '80' => '89', '90' => '99'] ],
	99956 => ['Albania' =>  ['00' => '59', '600' => '859', '86' => '99'] ],
	99957 => ['Malta' =>  ['0' => '1', '20' => '79', '800' => '999'] ],
	99958 => ['Bahrain' =>  ['0' => '4', '50' => '94', '950' => '999'] ],
	99959 => ['Luxembourg' =>  ['0' => '2', '30' => '59', '600' => '999'] ],
	99960 => ['Malawi' =>  ['0' => '0', '10' => '94', '950' => '999'] ],
	99961 => ['El Salvador' =>  ['0' => '3', '40' => '89', '900' => '999'] ],
	99962 => ['Mongolia' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99963 => ['Cambodia' =>  ['00' => '49', '500' => '999'] ],
	99964 => ['Nicaragua' =>  ['0' => '1', '20' => '79', '800' => '999'] ],
	99965 => ['Macau' =>  ['0' => '3', '40' => '79', '800' => '999'] ],
	99966 => ['Kuwait' =>  ['0' => '2', '30' => '69', '700' => '799', '' => '', '' => ''] ],
	99967 => ['Paraguay' =>  ['0' => '1', '20' => '59', '600' => '899', '' => ''] ],
	99968 => ['Botswana' =>  ['0' => '3', '400' => '599', '60' => '89', '900' => '999'] ],
	99969 => ['Oman' =>  ['0' => '4', '50' => '79', '800' => '999'] ],
	99970 => ['Haiti' =>  ['0' => '4', '50' => '89', '900' => '999'] ],
	);
	}

sub _get_data {
# eventually fetch this from the internet
# http://www.isbn-international.org/agency?rmxml=1

	my $file = do {
		no warnings 'uninitialized';
		   if( -e $ENV{ISBN_RANGE_MESSAGE} ) { $ENV{ISBN_RANGE_MESSAGE} }
		else {
			my $default = catfile( dirname( __FILE__ ), 'RangeMessage.xml' );
			}
		};

	my $hash = _parse_range_message( $file );

	if( defined $hash ) { return %$hash   }
	else                { _default_data() }
	}

sub _parse_range_message {
	my( $file ) = @_;

	open my $fh, '<:utf8', $file or do {
		carp "Could not open $file to get ISBN range data [$!]";
		return
		};

	my $data = do { local $/; <$fh> };

	my $ds;

	my( $serial_number ) = $data =~ m|<MessageSerialNumber>(.*?)</MessageSerialNumber>|;
	my( $date )          = $data =~ m|<MessageDate>(.*?)</MessageDate>|;

	$ds->{'_source'} = $file;
	$ds->{'_serial'} = $serial_number;
	$ds->{'_date'}   = $date;

	my( $registration_groups ) = $data =~ m|<RegistrationGroups>(.*?)</RegistrationGroups>|s;

	my @groups = $registration_groups =~ m|<Group>(.*?)</Group>|sg;

	foreach my $group ( @groups ) {
		my( $prefix ) = $group =~ m|<Prefix>(?:97[89]-)?([0-9]+?)</Prefix>|;
		my( $agency ) = $group =~ m|<Agency>(.*?)</Agency>|;
		my @rules =
			map {
				my( $range ) = m|<Range>(.*?)</Range>|;
				my( $length ) = m|<Length>(.*?)</Length>|;
				my( $low, $high ) = split /-/, $range, 2;
				( substr($low, 0, $length), substr($high, 0, $length) );
				}
			grep {
				! m|<Length>0</Length>|
				}
				$group =~ m|<Rule>(.*?)</Rule>|sg;

		$ds->{$prefix} = [ $agency => \@rules ];
		}

	$ds;
	}

%Business::ISBN::country_data = _get_data();

# I cheat a little bit here. I know that that the max length is
# 5, and that I know that those will start with 999xx. :)
# however, if the data changes I should think about this again.
$Business::ISBN::MAX_COUNTRY_CODE_LENGTH = length(
	( sort { $a <=> $b } grep { ! /\A_/ } keys %Business::ISBN::country_data )[-1]
	);

package Business::ISBN;

sub isbn_group_code_string_from_number {
	return if $_[0] =~ /\A_/;
	return $Business::ISBN::country_data{ $_[0] }[0] || '';
	}

sub isbn_publisher_ranges_from_group_number {
	return if $_[0] =~ /\A_/;
	return $Business::ISBN::country_data{ $_[0] }[1] || [];
	}

sub isbn_data_source {
	return $Business::ISBN::country_data{ '_source' } || __FILE__
	}
1;